Compare commits
255 Commits
DB50
...
91f45d87df
| Author | SHA1 | Date | |
|---|---|---|---|
| 91f45d87df | |||
| 6fe6b0ba3b | |||
|
|
f0952cae61 | ||
|
|
773494d15c | ||
|
|
517d50a462 | ||
|
|
8f7d4260e7 | ||
|
|
71ebaf828e | ||
|
|
9fa65f4d57 | ||
|
|
32a8ab84a7 | ||
|
|
91314151fe | ||
|
|
0dff4099d4 | ||
|
|
9c0c22820e | ||
| 07a764dae8 | |||
|
|
73c124ddcd | ||
|
|
34bf0d6a26 | ||
|
|
1fe71da1ff | ||
|
|
5010df55cc | ||
|
|
51c4d778b6 | ||
|
|
0834147f77 | ||
| 89cf1645f2 | |||
| e536ba45c5 | |||
|
|
ff30064704 | ||
|
|
e83da85fc5 | ||
|
|
c92be95a11 | ||
|
|
d925c34071 | ||
|
|
3a82d5ae69 | ||
|
|
48a3b22259 | ||
|
|
5dd9ed1a9f | ||
|
|
4cb8852556 | ||
|
|
606b681557 | ||
|
|
0601eb9cc8 | ||
| d396e4861e | |||
| 66468215a6 | |||
|
|
9534ea8650 | ||
|
|
c9cb08d7a8 | ||
|
|
e3ac42f448 | ||
|
|
8c9b5f95e0 | ||
|
|
fa678f62be | ||
|
|
ad23d8f55d | ||
|
|
177f42bf73 | ||
|
|
0812a0f5e3 | ||
|
|
ef15896029 | ||
|
|
bc352d2a74 | ||
|
|
7173570793 | ||
|
|
5ec59e9cb0 | ||
|
|
6f58dbff16 | ||
|
|
adbaa85fc9 | ||
|
|
9c66ad8040 | ||
|
|
eb17b3bf3a | ||
|
|
4521f812f5 | ||
| 0ebd69c753 | |||
| 8cd7481d67 | |||
|
|
14539d0d4e | ||
|
|
37e165d586 | ||
|
|
63b74b7dd4 | ||
|
|
e0a158e57c | ||
|
|
9211ad92d9 | ||
|
|
cb4526bba0 | ||
|
|
1f6536ac5e | ||
|
|
aac61b35d0 | ||
|
|
ad133e08b9 | ||
|
|
b6082a5617 | ||
|
|
91b7878c8c | ||
|
|
7cf55b6b45 | ||
|
|
6d74457050 | ||
|
|
d2ad61c0ec | ||
|
|
0fb92a3b82 | ||
|
|
148d9819e8 | ||
|
|
d3266f7d7e | ||
|
|
42208c7b16 | ||
|
|
53e23da0c6 | ||
| dacbf069b7 | |||
|
|
a9bf464a4f | ||
|
|
55b6115406 | ||
| 470d61e4a6 | |||
|
|
c4ad5d25e8 | ||
|
|
e7381426ea | ||
|
|
44478bade2 | ||
|
|
5a9e7a7a7f | ||
|
|
8eb459d4db | ||
|
|
ffddada0db | ||
|
|
649458e5b4 | ||
|
|
1ff5ae4c98 | ||
|
|
e005782992 | ||
|
|
c35817a860 | ||
|
|
f74ef73baf | ||
|
|
f2bc1e6105 | ||
|
|
f4bb030455 | ||
|
|
52a38be004 | ||
|
|
4bf288567f | ||
|
|
7fb026a498 | ||
|
|
b0a35f97d6 | ||
|
|
f424a30baa | ||
|
|
cd65b4f5f1 | ||
|
|
f43925431a | ||
|
|
184328f5e1 | ||
|
|
fbb961928d | ||
|
|
91b3629a16 | ||
|
|
a6dcc98cdf | ||
|
|
b0db6fab52 | ||
|
|
66f6dd960d | ||
|
|
4eb7f9f33a | ||
|
|
dc778fea91 | ||
|
|
e8d8b89cff | ||
|
|
7deceaab16 | ||
|
|
4a680b6525 | ||
|
|
d34ea750b9 | ||
|
|
7a51ca7330 | ||
|
|
8bd64c7bfe | ||
|
|
99539596f4 | ||
|
|
5d783e2dc2 | ||
|
|
1b51be6440 | ||
|
|
bcfffc159a | ||
|
|
ef0381ac46 | ||
|
|
d9c64ac1ef | ||
|
|
86acfb4fc3 | ||
|
|
5ede3069f5 | ||
|
|
15188ef572 | ||
|
|
63d5e4c252 | ||
|
|
f979712808 | ||
|
|
928fe530e8 | ||
|
|
ee6955caab | ||
|
|
90f0033864 | ||
|
|
c22cd4172d | ||
|
|
5797ff142e | ||
|
|
8652a516a0 | ||
|
|
dd3a3001e5 | ||
|
|
b3e3d85944 | ||
|
|
64f1e620c9 | ||
|
|
202db18e84 | ||
|
|
a2fc9cffc9 | ||
|
|
e927cec7fc | ||
|
|
e1a52a698e | ||
| 265f23d665 | |||
|
|
5d4cbd1539 | ||
|
|
06891146be | ||
|
|
f32c05f8d3 | ||
|
|
8ed71d393e | ||
|
|
58c290dc79 | ||
|
|
4ff89654ec | ||
| 55e7e3c51a | |||
|
|
12e7b4f62b | ||
|
|
d53d99b424 | ||
|
|
bb3943fa46 | ||
|
|
498c3a9d77 | ||
|
|
5495154b56 | ||
| 99c6b8bdaf | |||
|
|
943800b43f | ||
|
|
7b6fb99df1 | ||
| a47059fd1f | |||
| d4fd266a79 | |||
| 36ca51273b | |||
| 6017e884a3 | |||
|
|
421dd7c0da | ||
| f697fe9e68 | |||
| ff35d393ae | |||
|
|
f42f503d01 | ||
|
|
24d58fac1e | ||
| 8cdce76058 | |||
|
|
d14ab50095 | ||
| f56463e583 | |||
| 9a22cc3c6f | |||
|
|
0c57a6f446 | ||
| 4105cd8581 | |||
|
|
59191f81af | ||
| bb9bf3b1ed | |||
|
|
ecde712832 | ||
| ace86ec28d | |||
|
|
f9c4047e1b | ||
|
|
f33cf874b8 | ||
|
|
dd3459e754 | ||
|
|
71e439cceb | ||
| d3f0098724 | |||
| 61713eb903 | |||
| b1dc043ed5 | |||
| 6255d58c56 | |||
|
|
96f3aa36b3 | ||
|
|
ad6800612d | ||
|
|
ff3dcf8f5c | ||
|
|
359011d53e | ||
| 4ceee0d1f8 | |||
|
|
33b2e60e35 | ||
|
|
30b8abfb70 | ||
|
|
a2d42880fc | ||
|
|
612e8da7d5 | ||
|
|
8b9e41c483 | ||
|
|
2296569b0c | ||
|
|
b33e48b91c | ||
|
|
fa44c2465b | ||
|
|
56040d8dd7 | ||
|
|
534b8c940d | ||
|
|
44f2474b5d | ||
|
|
abc10765aa | ||
|
|
48477de89f | ||
|
|
41b058cf5b | ||
|
|
7e393c7cc5 | ||
|
|
6ed3eb645c | ||
|
|
6d411f4dd8 | ||
|
|
2da87316c9 | ||
|
|
d44eca380d | ||
|
|
3419604626 | ||
|
|
5ffdec65b8 | ||
|
|
79cef4d2ad | ||
|
|
0f20741d9b | ||
|
|
804a8137bd | ||
|
|
75cd0177a8 | ||
|
|
e9dc730066 | ||
| d4b47b471c | |||
|
|
8989a4b2a0 | ||
|
|
60e26c98c4 | ||
|
|
8c21e426d5 | ||
|
|
3787ff798e | ||
|
|
9cc9fac674 | ||
|
|
44878aed10 | ||
| 42f2f0da10 | |||
| 661dc98d08 | |||
| ed82d74a2f | |||
| e3d74e3049 | |||
|
|
a4f5846341 | ||
| 866640c689 | |||
|
|
9701c0e170 | ||
|
|
3a4683c58b | ||
|
|
793947ffff | ||
|
|
592816e581 | ||
|
|
d438d679e4 | ||
|
|
1b719dc325 | ||
|
|
0ef4128faf | ||
|
|
ea641c6dfa | ||
|
|
e55b49ef03 | ||
|
|
91923cb34f | ||
|
|
b9116bf2d3 | ||
|
|
9e2e11c403 | ||
|
|
cac9273fe1 | ||
|
|
6bdf33fe19 | ||
|
|
a179ba4827 | ||
|
|
290082f924 | ||
|
|
88acac632a | ||
| 3a09f3dd38 | |||
|
|
3ce4d873c0 | ||
| 061df2a8b2 | |||
| 55ff80d435 | |||
|
|
3ea60827c1 | ||
|
|
c27358b525 | ||
|
|
a388998734 | ||
|
|
eed7a54398 | ||
|
|
d31b144a5f | ||
|
|
a400748783 | ||
|
|
15c176f8b7 | ||
| fff54b063b | |||
| d6f3748ae6 | |||
| e5539038eb | |||
| b356a98234 | |||
|
|
6324afb231 | ||
| 6c55dd0116 | |||
| f839d737c5 |
@@ -203,6 +203,9 @@ AS
|
||||
raise_application_error(-20001, tekst);
|
||||
END IF;
|
||||
|
||||
-- Voor als een once-script ooit tabellen aanmaakt.
|
||||
EXECUTE IMMEDIATE 'ALTER SESSION SET nls_length_semantics=''char''';
|
||||
|
||||
RETURN tekst;
|
||||
END;
|
||||
|
||||
|
||||
@@ -36,17 +36,17 @@
|
||||
dummy1, child_verwijder, child_key, dummy2) \
|
||||
BEGIN \
|
||||
IF :new.parent_verwijder IS NOT NULL \
|
||||
_THEN \
|
||||
THEN \
|
||||
UPDATE child_table \
|
||||
SET child_verwijder = :new.parent_verwijder \
|
||||
WHERE child_table.child_key = :new.parent_key \
|
||||
AND child_table.ins_alg_ruimte_type = 'W' \
|
||||
AND child_table.ins_deel_verwijder IS NULL; \
|
||||
_ELSIF (:new.parent_verwijder IS NULL AND :old.parent_verwijder IS NOT NULL)\
|
||||
_THEN \
|
||||
ELSIF (:new.parent_verwijder IS NULL AND :old.parent_verwijder IS NOT NULL)\
|
||||
THEN \
|
||||
UPDATE child_table \
|
||||
SET child_verwijder = :new.parent_verwijder \
|
||||
WHERE child_table.child_key = :new.parent_key \
|
||||
AND ins_alg_ruimte_type = 'W'; \
|
||||
_END_IF; \
|
||||
END_IF; \
|
||||
END
|
||||
|
||||
@@ -120,6 +120,8 @@ CREATE_TABLE(alg_locatie,0)
|
||||
DATE,
|
||||
alg_locatie_volgnr
|
||||
NUMBER(3),
|
||||
alg_locatie_timezone
|
||||
VARCHAR2(40),
|
||||
-- in MLD_TAB.SRC:
|
||||
-- mld_dienstniveau_key
|
||||
-- NUMBER(10)
|
||||
@@ -716,6 +718,9 @@ CREATE_TABLE(alg_kenmerk,0)
|
||||
,alg_kenmerk_volgnr
|
||||
NUMBER(3)
|
||||
NOT NULL
|
||||
,alg_kenmerk_rolcode
|
||||
NUMBER(4)
|
||||
DEFAULT 7 NOT NULL
|
||||
,alg_kenmerk_omschrijving
|
||||
VARCHAR2(50)
|
||||
,alg_kenmerk_upper
|
||||
|
||||
@@ -66,10 +66,12 @@ AS
|
||||
RETURN NUMBER;
|
||||
|
||||
PROCEDURE notifybestellingbedrijven (pbestelkey NUMBER,
|
||||
ptrackingkey NUMBER);
|
||||
ptrackingkey NUMBER,
|
||||
pnotidelay NUMBER DEFAULT NULL);
|
||||
|
||||
PROCEDURE notifybestelopdrbedrijven (pbestelopdrkey NUMBER,
|
||||
ptrackingkey NUMBER);
|
||||
ptrackingkey NUMBER,
|
||||
pnotidelay NUMBER DEFAULT NULL);
|
||||
|
||||
PROCEDURE autodeliver;
|
||||
|
||||
@@ -2226,14 +2228,16 @@ AS
|
||||
END;
|
||||
|
||||
PROCEDURE notifybestellingbedrijven (pbestelkey NUMBER,
|
||||
ptrackingkey NUMBER)
|
||||
ptrackingkey NUMBER,
|
||||
pnotidelay NUMBER DEFAULT NULL)
|
||||
AS
|
||||
BEGIN
|
||||
NULL; -- TODO?
|
||||
END;
|
||||
|
||||
PROCEDURE notifybestelopdrbedrijven (pbestelopdrkey NUMBER,
|
||||
ptrackingkey NUMBER)
|
||||
ptrackingkey NUMBER,
|
||||
pnotidelay NUMBER DEFAULT NULL)
|
||||
AS
|
||||
BEGIN
|
||||
FOR bedrijfrec IN (SELECT b.prs_bedrijf_key,
|
||||
@@ -2245,7 +2249,6 @@ AS
|
||||
mld_adres ma,
|
||||
alg_locatie l
|
||||
WHERE o.bes_bestelopdr_key = pbestelopdrkey
|
||||
AND b.prs_bedrijf_key = o.prs_bedrijf_key
|
||||
AND o.mld_adres_key_lev = ma.mld_adres_key
|
||||
AND ma.alg_locatie_key = l.alg_locatie_key(+)
|
||||
AND ( b.prs_bedrijf_key = o.prs_bedrijf_key -- type 'B'
|
||||
@@ -2261,7 +2264,8 @@ AS
|
||||
prefkey => pbestelopdrkey,
|
||||
ptrackingkey => ptrackingkey,
|
||||
preference => bedrijfrec.bes_bestelopdr_id,
|
||||
plocatie_key => bedrijfrec.alg_locatie_key);
|
||||
plocatie_key => bedrijfrec.alg_locatie_key,
|
||||
pnotidelay => pnotidelay);
|
||||
END LOOP;
|
||||
END;
|
||||
|
||||
|
||||
@@ -497,7 +497,7 @@ CREATE_TABLE(bes_disc_params, 0)
|
||||
NUMBER(1)
|
||||
DEFAULT 0
|
||||
NOT NULL,
|
||||
bes_disc_params_bestelmode /* 0=ouderwets artikelselector, 1=vrij artikelen, 2=bestellijst */
|
||||
bes_disc_params_bestelmode /* 0=ouderwets artikelselector, 1=vrij artikelen, 2=bestellijst, 3=actuele lijst */
|
||||
NUMBER(1)
|
||||
DEFAULT 0
|
||||
NOT NULL,
|
||||
@@ -607,6 +607,9 @@ CREATE_TABLE(bes_kenmerk, 0)
|
||||
, bes_kenmerk_volgnummer
|
||||
NUMBER(3)
|
||||
NOT NULL
|
||||
, bes_kenmerk_rolcode
|
||||
NUMBER(4)
|
||||
DEFAULT 7 NOT NULL
|
||||
, bes_kenmerk_uniek
|
||||
NUMBER(1)
|
||||
, bes_kenmerk_regexp
|
||||
|
||||
112
BES/BES_VIE.SRC
112
BES/BES_VIE.SRC
@@ -351,6 +351,118 @@ AS
|
||||
AND sd.prs_bedrijf_key = b.prs_bedrijf_key
|
||||
AND sd.bes_staffeltabel_key = bs.bes_staffeltabel_key;
|
||||
|
||||
|
||||
CREATE_VIEW(bes_v_average_current_stock, 0)
|
||||
AS
|
||||
-- Gemiddelde voorraad en bestellingen voor "Actuele lijst" artikelen.
|
||||
SELECT sd.bes_srtdeel_key,
|
||||
sd.bes_srtdeel_volgnr volgnummer,
|
||||
sd.bes_srtdeel_nr artikelnummer,
|
||||
sd.bes_srtdeel_omschrijving artikel,
|
||||
sd.bes_srtdeel_notitie notitie,
|
||||
dp.bes_ins_discipline_key,
|
||||
bd.ins_discipline_omschrijving discipline,
|
||||
g.bes_srtgroep_key,
|
||||
g.bes_srtgroep_omschrijving groep,
|
||||
sd.bes_srtdeel_voorraadmax voorraadmax,
|
||||
sd.bes_srtdeel_voorraadmin voorraadmin,
|
||||
sd.bes_srtdeel_maxbestel maxbestel,
|
||||
sd.bes_srtdeel_minimum bestelmin,
|
||||
sd.bes_srtdeel_maximum bestelmax,
|
||||
sd.bes_srtdeel_veelvoud bestelveelvoud,
|
||||
sd.bes_srtdeel_eenheid eenheid,
|
||||
sd.bes_srtdeel_vervaldatum vervaldatum,
|
||||
(SELECT COUNT(*)
|
||||
FROM bes_kenmerk bk,
|
||||
bes_srtkenmerk sk,
|
||||
bes_srtdeel sd2,
|
||||
bes_srtgroep sg
|
||||
WHERE sd2.bes_srtgroep_key = sg.bes_srtgroep_key
|
||||
AND (bk.bes_srtinstallatie_key = sg.ins_discipline_key
|
||||
AND bk.bes_kenmerk_niveau LIKE 'D'
|
||||
OR bk.bes_srtinstallatie_key = sg.bes_srtgroep_key
|
||||
AND bk.bes_kenmerk_niveau LIKE 'G'
|
||||
OR bk.bes_srtinstallatie_key = sd2.bes_srtdeel_key
|
||||
AND bk.bes_kenmerk_niveau LIKE 'S')
|
||||
AND bk.bes_kenmerk_type = 'I'
|
||||
AND bk.bes_srtkenmerk_key = sk.bes_srtkenmerk_key
|
||||
AND bk.bes_kenmerk_verwijder IS NULL
|
||||
AND sk.bes_srtkenmerk_verwijder IS NULL
|
||||
AND sd2.bes_srtdeel_key = sd.bes_srtdeel_key) aantal_kenmerken,
|
||||
SUM(CASE WHEN b.bes_bestelling_status = 6 THEN 0 ELSE bi.bes_bestelling_item_aantal END) - SUM(CASE WHEN b.bes_bestelling_status = 6 THEN 0 ELSE COALESCE(bi.bes_bestelling_item_aantalontv, 0) END) in_bestelling,
|
||||
SUM(bi.bes_bestelling_item_aantal) besteld,
|
||||
SUM(COALESCE(bi.bes_bestelling_item_aantalontv, 0)) geleverd,
|
||||
COALESCE(bes.getsrtdeelprijs(sd.bes_srtdeel_key, NULL), 0) prijs,
|
||||
MIN(b.bes_bestelling_datum) eerste_bestelling,
|
||||
MAX(b.bes_bestelling_datum) laatste_bestelling,
|
||||
ROUND(MAX(b.bes_bestelling_datum) - MIN(b.bes_bestelling_datum)) historie_dagen,
|
||||
COUNT(sd.bes_srtdeel_key) aantal_bestellingen,
|
||||
ROUND((MAX(b.bes_bestelling_datum) - MIN(b.bes_bestelling_datum)) / COUNT(sd.bes_srtdeel_key)) bestel_periode_dagen,
|
||||
CASE
|
||||
WHEN MAX(b.bes_bestelling_datum) - MIN(b.bes_bestelling_datum) = 0
|
||||
THEN NULL
|
||||
ELSE ROUND((COUNT(sd.bes_srtdeel_key) / ((MAX(b.bes_bestelling_datum) - MIN(b.bes_bestelling_datum)) / 365)) / 12, 1)
|
||||
END bestellingen_per_maand,
|
||||
CASE
|
||||
WHEN MAX(b.bes_bestelling_datum) - MIN(b.bes_bestelling_datum) = 0
|
||||
THEN NULL
|
||||
ELSE ROUND((((MAX(b.bes_bestelling_datum) - MIN(b.bes_bestelling_datum)) / 365) * SUM(bi.bes_bestelling_item_aantal)) / 12, 1)
|
||||
END artikelen_per_maand,
|
||||
CASE
|
||||
WHEN MAX(b.bes_bestelling_datum) - MIN(b.bes_bestelling_datum) = 0
|
||||
THEN NULL
|
||||
ELSE ROUND((((MAX(b.bes_bestelling_datum) - MIN(b.bes_bestelling_datum)) / 365) * SUM(bi.bes_bestelling_item_aantal)) * COALESCE(bes.getsrtdeelprijs(sd.bes_srtdeel_key, NULL), 0) / 12)
|
||||
END totaal_per_maand,
|
||||
CASE
|
||||
WHEN MAX(b.bes_bestelling_datum) - MIN(b.bes_bestelling_datum) = 0
|
||||
THEN NULL
|
||||
ELSE ROUND(COUNT(sd.bes_srtdeel_key) / ((MAX(b.bes_bestelling_datum) - MIN(b.bes_bestelling_datum)) / 365), 1)
|
||||
END bestellingen_per_jaar,
|
||||
CASE
|
||||
WHEN MAX(b.bes_bestelling_datum) - MIN(b.bes_bestelling_datum) = 0
|
||||
THEN NULL
|
||||
ELSE ROUND(((MAX(b.bes_bestelling_datum) - MIN(b.bes_bestelling_datum)) / 365) * SUM(bi.bes_bestelling_item_aantal))
|
||||
END artikelen_per_jaar,
|
||||
CASE
|
||||
WHEN MAX(b.bes_bestelling_datum) - MIN(b.bes_bestelling_datum) = 0
|
||||
THEN NULL
|
||||
ELSE ROUND(((MAX(b.bes_bestelling_datum) - MIN(b.bes_bestelling_datum)) / 365) * SUM(bi.bes_bestelling_item_aantal)) * COALESCE(bes.getsrtdeelprijs(sd.bes_srtdeel_key, NULL), 0)
|
||||
END totaal_per_jaar
|
||||
FROM bes_discipline bd,
|
||||
bes_v_aanwezigsrtgroep g,
|
||||
bes_v_aanwezigsrtdeel sd,
|
||||
bes_disc_params dp,
|
||||
bes_bestelling b,
|
||||
bes_bestelling_item bi
|
||||
WHERE sd.bes_srtgroep_key = g.bes_srtgroep_key
|
||||
AND dp.bes_disc_params_bestelmode = 3
|
||||
AND g.ins_discipline_key = bd.ins_discipline_key
|
||||
AND bd.ins_discipline_key = dp.bes_ins_discipline_key
|
||||
AND sd.bes_srtdeel_key = bi.bes_srtdeel_key
|
||||
AND bi.bes_bestelling_key = b.bes_bestelling_key
|
||||
AND b.bes_bestelling_status IN (2, 3, 4, 5, 6)
|
||||
AND (sd.bes_srtdeel_vervaldatum IS NULL
|
||||
OR sd.bes_srtdeel_vervaldatum > SYSDATE)
|
||||
GROUP BY sd.bes_srtdeel_volgnr,
|
||||
sd.bes_srtdeel_nr,
|
||||
sd.bes_srtdeel_key,
|
||||
sd.bes_srtdeel_omschrijving,
|
||||
sd.bes_srtdeel_notitie,
|
||||
dp.bes_ins_discipline_key,
|
||||
bd.ins_discipline_omschrijving,
|
||||
g.bes_srtgroep_key,
|
||||
g.bes_srtgroep_omschrijving,
|
||||
sd.bes_srtdeel_voorraadmax,
|
||||
sd.bes_srtdeel_voorraadmin,
|
||||
sd.bes_srtdeel_maxbestel,
|
||||
sd.bes_srtdeel_minimum,
|
||||
sd.bes_srtdeel_maximum,
|
||||
sd.bes_srtdeel_veelvoud,
|
||||
sd.bes_srtdeel_eenheid,
|
||||
sd.bes_srtdeel_vervaldatum
|
||||
ORDER BY sd.bes_srtdeel_volgnr,
|
||||
sd.bes_srtdeel_nr;
|
||||
|
||||
REGISTERRUN('$Id$')
|
||||
|
||||
#endif // BES
|
||||
|
||||
@@ -13,6 +13,13 @@ CREATE OR REPLACE PACKAGE bez AS
|
||||
FUNCTION afssprintf (ps IN VARCHAR2 , p_afspraak_key IN NUMBER) RETURN VARCHAR2 ;
|
||||
FUNCTION bzksprintf (ps IN VARCHAR2 , p_bezoekers_key IN NUMBER) RETURN VARCHAR2 ;
|
||||
PROCEDURE remove (p_afspraak_key IN NUMBER);
|
||||
|
||||
PROCEDURE notifyafspraakbedrijven (p_afspraak_key NUMBER,
|
||||
ptrackingkey NUMBER,
|
||||
pnotidelay NUMBER DEFAULT NULL);
|
||||
PROCEDURE notifybezoekerbedrijven (p_bezoekers_key NUMBER,
|
||||
ptrackingkey NUMBER,
|
||||
pnotidelay NUMBER DEFAULT NULL);
|
||||
END bez;
|
||||
/
|
||||
|
||||
@@ -583,6 +590,67 @@ CREATE OR REPLACE PACKAGE BODY bez AS
|
||||
fac.remove_tracking('afspraak', p_afspraak_key);
|
||||
END;
|
||||
|
||||
-- Alleen generieke bedrijven
|
||||
PROCEDURE notifyafspraakbedrijven (p_afspraak_key NUMBER,
|
||||
ptrackingkey NUMBER,
|
||||
pnotidelay NUMBER DEFAULT NULL)
|
||||
IS
|
||||
BEGIN
|
||||
FOR bedrijfrec IN (SELECT b.prs_bedrijf_key,
|
||||
'G' bedrijfadres_type,
|
||||
a.alg_locatie_key,
|
||||
a.bez_afspraak_key
|
||||
FROM prs_bedrijf b,
|
||||
bez_afspraak a
|
||||
WHERE a.bez_afspraak_key = p_afspraak_key
|
||||
AND EXISTS
|
||||
(SELECT 1
|
||||
FROM prs_bedrijfadres ba
|
||||
WHERE ba.prs_bedrijf_key = b.prs_bedrijf_key
|
||||
AND ba.prs_bedrijfadres_startdatum <= SYSDATE
|
||||
AND ba.prs_bedrijfadres_type = 'G'))
|
||||
LOOP
|
||||
fac.notifybedrijf (pbedrijf_key => bedrijfrec.prs_bedrijf_key,
|
||||
pbedrijfadres_type => bedrijfrec.bedrijfadres_type,
|
||||
prefkey => p_afspraak_key,
|
||||
ptrackingkey => ptrackingkey,
|
||||
preference => TO_CHAR(bedrijfrec.bez_afspraak_key),
|
||||
plocatie_key => bedrijfrec.alg_locatie_key,
|
||||
pnotidelay => pnotidelay);
|
||||
END LOOP;
|
||||
END;
|
||||
|
||||
-- Alleen generieke bedrijven
|
||||
PROCEDURE notifybezoekerbedrijven (p_bezoekers_key NUMBER,
|
||||
ptrackingkey NUMBER,
|
||||
pnotidelay NUMBER DEFAULT NULL)
|
||||
IS
|
||||
BEGIN
|
||||
FOR bedrijfrec IN (SELECT b.prs_bedrijf_key,
|
||||
'G' bedrijfadres_type,
|
||||
a.alg_locatie_key,
|
||||
a.bez_afspraak_key
|
||||
FROM prs_bedrijf b,
|
||||
bez_afspraak a,
|
||||
bez_bezoekers bb
|
||||
WHERE bb.bez_afspraak_key = a.bez_afspraak_key
|
||||
AND EXISTS
|
||||
(SELECT 1
|
||||
FROM prs_bedrijfadres ba
|
||||
WHERE ba.prs_bedrijf_key = b.prs_bedrijf_key
|
||||
AND ba.prs_bedrijfadres_startdatum <= SYSDATE
|
||||
AND ba.prs_bedrijfadres_type = 'G'))
|
||||
LOOP
|
||||
fac.notifybedrijf (pbedrijf_key => bedrijfrec.prs_bedrijf_key,
|
||||
pbedrijfadres_type => bedrijfrec.bedrijfadres_type,
|
||||
prefkey => p_bezoekers_key,
|
||||
ptrackingkey => ptrackingkey,
|
||||
preference => TO_CHAR(bedrijfrec.bez_afspraak_key),
|
||||
plocatie_key => bedrijfrec.alg_locatie_key,
|
||||
pnotidelay => pnotidelay);
|
||||
END LOOP;
|
||||
END;
|
||||
|
||||
END bez;
|
||||
/
|
||||
|
||||
|
||||
@@ -161,6 +161,9 @@ CREATE_TABLE(bez_kenmerk,0)
|
||||
,bez_kenmerk_volgnr
|
||||
NUMBER(3)
|
||||
NOT NULL
|
||||
,bez_kenmerk_rolcode
|
||||
NUMBER(4)
|
||||
DEFAULT 7 NOT NULL
|
||||
,bez_kenmerk_omschrijving
|
||||
VARCHAR2(50)
|
||||
,bez_kenmerk_upper
|
||||
|
||||
@@ -13,9 +13,9 @@ CREATE_TABLE(bgt_disc_params,0)
|
||||
NUMBER (10)
|
||||
CONSTRAINT bgt_r_ins_discipine_key REFERENCES ins_tab_discipline (ins_discipline_key),
|
||||
bgt_disc_params_code -- projectcode
|
||||
VARCHAR2 (20 BYTE),
|
||||
VARCHAR2 (20 CHAR),
|
||||
bgt_disc_params_opdrachtgever
|
||||
VARCHAR2 (200 BYTE),
|
||||
VARCHAR2 (200 CHAR),
|
||||
bgt_disc_params_startdatum
|
||||
DATE
|
||||
);
|
||||
@@ -28,18 +28,18 @@ CREATE_TABLE(bgt_project, 0)
|
||||
NUMBER (10)
|
||||
CONSTRAINT bgt_r_ins_discipline_key1 REFERENCES ins_tab_discipline (ins_discipline_key),
|
||||
bgt_project_code
|
||||
VARCHAR2 (20 BYTE)
|
||||
VARCHAR2 (20 CHAR)
|
||||
CONSTRAINT bgt_c_bgt_project_code NOT NULL,
|
||||
bgt_project_omschrijving
|
||||
VARCHAR2 (60 BYTE),
|
||||
VARCHAR2 (60 CHAR),
|
||||
bgt_project_volgnr
|
||||
NUMBER (3),
|
||||
bgt_project_prijspeildatum
|
||||
DATE,
|
||||
bgt_project_info
|
||||
VARCHAR2 (4000 BYTE),
|
||||
VARCHAR2 (4000 CHAR),
|
||||
bgt_project_notes
|
||||
VARCHAR2 (4000 BYTE),
|
||||
VARCHAR2 (4000 CHAR),
|
||||
bgt_project_aanmaak
|
||||
DATE DEFAULT SYSDATE,
|
||||
bgt_project_verwijder
|
||||
@@ -59,9 +59,9 @@ CREATE_TABLE(bgt_kostenrubriek,0)
|
||||
CONSTRAINT bgt_c_bgt_kostenrubriek1 NOT NULL
|
||||
CONSTRAINT bgt_r_bgt_project_key1 REFERENCES bgt_project (bgt_project_key),
|
||||
bgt_kostenrubriek_code
|
||||
VARCHAR2 (20 BYTE),
|
||||
VARCHAR2 (20 CHAR),
|
||||
bgt_kostenrubriek_oms
|
||||
VARCHAR2 (60 BYTE) NOT NULL,
|
||||
VARCHAR2 (60 CHAR) NOT NULL,
|
||||
fin_btwtabelwaarde_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT bgt_r_fin_btwtabelwaarde_key REFERENCES fin_btwtabelwaarde (fin_btwtabelwaarde_key)
|
||||
|
||||
@@ -892,6 +892,78 @@ AS
|
||||
GROUP BY ins_deel_key, res_deel_omschrijving;
|
||||
|
||||
|
||||
// Een basisview om sensorgemiddelde per ruimte per dag te berekenen
|
||||
// AI-generated, nog niet nageteld, maar who cares.
|
||||
// Bevat alleen sensoren met niet-discrete numerieke waarden zoals temperatuur, niet bezetting
|
||||
// Bevat het ruimtegemiddelde van alle sensoren van hetzelfde srtdeel gedurende de kantoortijden
|
||||
CREATE_VIEW(ins_v_sensorgemiddele_per_ruimte_per_dag, 0)
|
||||
AS
|
||||
WITH
|
||||
sensor_data
|
||||
AS
|
||||
(SELECT d.ins_alg_ruimte_key
|
||||
, d.ins_srtdeel_key
|
||||
, sd.ins_srtdeel_code
|
||||
, sd.ins_srtdeel_omschrijving
|
||||
, sh.ins_deel_statedate
|
||||
, sh.ins_deel_state
|
||||
, LEAD (sh.ins_deel_statedate) OVER (PARTITION BY d.ins_alg_ruimte_key, sd.ins_srtdeel_omschrijving ORDER BY sh.ins_deel_statedate) AS next_statedate
|
||||
FROM ins_deel d
|
||||
JOIN ins_deel_state_history sh ON sh.ins_deel_key = d.ins_deel_key
|
||||
JOIN ins_srtdeel sd ON sd.ins_srtdeel_key = d.ins_srtdeel_key
|
||||
WHERE d.ins_alg_ruimte_type = 'R' AND sd.ins_srtdeel_sensortype = 2),
|
||||
bounded_intervals
|
||||
AS
|
||||
(SELECT ins_alg_ruimte_key
|
||||
, ins_srtdeel_key
|
||||
, ins_srtdeel_code
|
||||
, ins_srtdeel_omschrijving
|
||||
, TRUNC (ins_deel_statedate) AS datum
|
||||
, GREATEST (ins_deel_statedate, TRUNC (ins_deel_statedate) + fac.getsetting ('fac_t_startofworkday') / 24) AS start_time
|
||||
, LEAST (NVL (next_statedate, TRUNC (ins_deel_statedate) + 1), TRUNC (ins_deel_statedate) + fac.getsetting ('fac_t_endofworkday') / 24) AS end_time
|
||||
, ins_deel_state
|
||||
FROM sensor_data
|
||||
WHERE -- Alleen intervallen die de kantoortijd raken
|
||||
NVL (next_statedate, TRUNC (ins_deel_statedate) + 1) > TRUNC (ins_deel_statedate) + fac.getsetting ('fac_t_startofworkday') / 24
|
||||
AND ins_deel_statedate < TRUNC (ins_deel_statedate) + fac.getsetting ('fac_t_endofworkday') / 24),
|
||||
gewogen_data
|
||||
AS
|
||||
(SELECT ins_alg_ruimte_key
|
||||
, ins_srtdeel_key
|
||||
, ins_srtdeel_code
|
||||
, ins_srtdeel_omschrijving
|
||||
, datum
|
||||
, ins_deel_state
|
||||
, (end_time - start_time) * 24 * 60 AS duration_minutes -- of * 24 * 60 * 60 voor seconden
|
||||
FROM bounded_intervals
|
||||
WHERE end_time > start_time -- filter eventueel negatieve of nulduur
|
||||
)
|
||||
SELECT ins_alg_ruimte_key
|
||||
, ins_srtdeel_key
|
||||
, ins_srtdeel_code
|
||||
, ins_srtdeel_omschrijving
|
||||
, datum
|
||||
, ROUND (SUM (ins_deel_state * duration_minutes) / SUM (duration_minutes), 2) AS gewogen_gemiddelde
|
||||
FROM gewogen_data
|
||||
GROUP BY ins_alg_ruimte_key
|
||||
, ins_srtdeel_key
|
||||
, ins_srtdeel_code
|
||||
, ins_srtdeel_omschrijving
|
||||
, datum
|
||||
ORDER BY ins_alg_ruimte_key, datum;
|
||||
|
||||
CREATE_VIEW(cad_v_co2_daggemiddelde, 0)
|
||||
AS
|
||||
SELECT ins_alg_ruimte_key alg_ruimte_key, datum fclt_f_datum, gewogen_gemiddelde waarde
|
||||
FROM ins_v_sensorgemiddele_per_ruimte_per_dag
|
||||
WHERE ins_srtdeel_code = 'CO2';
|
||||
|
||||
CREATE_VIEW(cad_v_temp_daggemiddelde)
|
||||
AS
|
||||
SELECT ins_alg_ruimte_key alg_ruimte_key, datum fclt_f_datum, gewogen_gemiddelde waarde
|
||||
FROM ins_v_sensorgemiddele_per_ruimte_per_dag
|
||||
WHERE ins_srtdeel_code = 'TEMP';
|
||||
|
||||
REGISTERRUN('$Id$')
|
||||
|
||||
#endif // CAD
|
||||
|
||||
59
CARE.SRC
59
CARE.SRC
@@ -1,59 +0,0 @@
|
||||
-- [CARE*.SQL]
|
||||
--
|
||||
-- Script tbv het initialiseren van de Facilitor Care-Webb omgeving in Oracle
|
||||
-- Copyright Aareon Nederland B.V.
|
||||
-- All rights reserved!
|
||||
/*
|
||||
* $Revision$
|
||||
* $Id$
|
||||
*/
|
||||
#include "modules.h"
|
||||
#include "comsql.h"
|
||||
|
||||
SET TIME ON
|
||||
SET DEFINE OFF
|
||||
SPOOL xcarewebb
|
||||
PROMPT [carewebb.lst]
|
||||
PROMPT
|
||||
PROMPT Copyright Aareon Nederland B.V. ALL RIGHTS RESERVED.
|
||||
PROMPT
|
||||
PROMPT Dit is de gegenereerde list-file van CARExxxx.sql welke
|
||||
PROMPT is gebruikt om de Facilitor(r) Care-Webb _VERSION omgeving in Oracle aan te
|
||||
PROMPT maken.
|
||||
PROMPT
|
||||
PROMPT Dit script is gerund in user:
|
||||
SHOW USER
|
||||
PROMPT
|
||||
PROMPT
|
||||
|
||||
SET LINESIZE 1000
|
||||
SET ECHO ON
|
||||
#include "care\care_tab.src"
|
||||
#include "care\care_ind.src"
|
||||
#include "care\care_vie.src"
|
||||
#include "care\care_pac.src"
|
||||
#include "care\care_ini.src"
|
||||
|
||||
COMMIT;
|
||||
|
||||
///////////////////////////// finally compile all views, triggers etc acc to the latest state ///////
|
||||
BEGIN DBMS_UTILITY.COMPILE_SCHEMA(USER, FALSE); END;
|
||||
/
|
||||
REGISTERONCE('$Id$')
|
||||
|
||||
COMMIT;
|
||||
///////////////////////////// Report invalid objects, if any ///////
|
||||
SET ECHO OFF
|
||||
SET LINESIZE 132
|
||||
PROMPT List of all invalid objects after Facilitor Care-Webb upgrade:
|
||||
SELECT _VERSION||' Warning: ' || object_type || ' ' || object_name || ' is ' || status
|
||||
FROM user_objects
|
||||
WHERE object_type IN ('VIEW', 'TRIGGER', 'PACKAGE', 'PROCEDURE', 'FUNCTION', 'PACKAGE BODY')
|
||||
AND status <> 'VALID'
|
||||
AND UPPER(object_name) LIKE 'CARE%'
|
||||
ORDER BY object_name;
|
||||
|
||||
SELECT 'Care-Webb/' || USER || ' is now ' || fac.getdbversion() FROM DUAL;
|
||||
PROMPT De upgrade is gereed, controleer de LST-files.
|
||||
PROMPT Neem bij vragen, twijfels of problemen contact op met Facilitor.
|
||||
SPOOL OFF
|
||||
@@ -27,6 +27,8 @@ CREATE UNIQUE INDEX cnt_i_cnt_factuurschema1 ON cnt_factuurschema(cnt_contract_k
|
||||
CREATE INDEX cnt_i_cnt_srtkenmerk1 ON cnt_srtkenmerk(cnt_srtkenmerk_code);
|
||||
CREATE INDEX cnt_i_cnt_kenmerk1 ON cnt_kenmerk(cnt_kenmerk_code);
|
||||
|
||||
CREATE INDEX cnt_i_cnt_verlengschema ON cnt_verlengschema(cnt_contract_key);
|
||||
|
||||
REGISTERONCE('$Id$')
|
||||
|
||||
#endif // CNT
|
||||
|
||||
120
CNT/CNT_PAC.SRC
120
CNT/CNT_PAC.SRC
@@ -6,6 +6,7 @@
|
||||
|
||||
CREATE OR REPLACE PACKAGE cnt AS
|
||||
PROCEDURE setcontractstatus (pcontractkey IN NUMBER, pstatus IN NUMBER, puserkey IN NUMBER);
|
||||
FUNCTION getVerlengschemaEinddatum(startdatum IN DATE, cnt_key IN NUMBER, volgnr IN NUMBER) RETURN DATE;
|
||||
FUNCTION cnt_getTermijndatum (pdate IN DATE, ptermijn_key IN NUMBER, prichting IN NUMBER) RETURN DATE;
|
||||
FUNCTION termijnjaarfactor (ptermijn_key IN NUMBER) RETURN NUMBER;
|
||||
FUNCTION cnt_getOpzegdatum (pcnt_contract_key IN NUMBER) RETURN DATE;
|
||||
@@ -22,7 +23,8 @@ CREATE OR REPLACE PACKAGE cnt AS
|
||||
PROCEDURE remove(p_contract_key IN NUMBER);
|
||||
|
||||
PROCEDURE notifycontractbedrijven (pcntkey NUMBER,
|
||||
ptrackingkey NUMBER);
|
||||
ptrackingkey NUMBER,
|
||||
pnotidelay NUMBER DEFAULT NULL);
|
||||
|
||||
PRAGMA RESTRICT_REFERENCES (cnt_contract_status, WNDS, WNPS);
|
||||
END cnt;
|
||||
@@ -37,7 +39,7 @@ CREATE OR REPLACE PACKAGE BODY cnt AS
|
||||
AS
|
||||
currentstatus cnt_contract.cnt_contract_status%TYPE;
|
||||
newstatus cnt_contract.cnt_contract_status%TYPE;
|
||||
eventcode fac_srtnotificatie.fac_srtnotificatie_code%TYPE;
|
||||
eventcode VARCHAR(7); -- fac_srtnotificatie.fac_srtnotificatie_code%TYPE is te klein voor '@CNTNEW'
|
||||
BEGIN
|
||||
SELECT cnt_contract_status
|
||||
INTO currentstatus
|
||||
@@ -50,11 +52,12 @@ CREATE OR REPLACE PACKAGE BODY cnt AS
|
||||
IF currentstatus IS NULL
|
||||
THEN
|
||||
newstatus := pstatus;
|
||||
eventcode := 'CNTNEW';
|
||||
eventcode := 'CNTNEW'; -- direct ook notificeren
|
||||
ELSIF currentstatus = 2 OR currentstatus = 3 -- Het kan ook zijn dat er geen fiattering nodig is.
|
||||
THEN
|
||||
newstatus := pstatus;
|
||||
eventcode := 'CNTFIT';
|
||||
fac.notifytrackingbedrijven('CNTNEW', pcontractkey); -- Nu alsnog notificeren, we zijn helemaal klaar met fiatteren
|
||||
END IF;
|
||||
WHEN 1 -- Gesloten
|
||||
THEN
|
||||
@@ -68,7 +71,7 @@ CREATE OR REPLACE PACKAGE BODY cnt AS
|
||||
IF currentstatus IS NULL
|
||||
THEN
|
||||
newstatus := pstatus;
|
||||
eventcode := 'CNTNEW';
|
||||
eventcode := '@CNTNEW'; -- nog niet notificeren
|
||||
ELSIF currentstatus = 3
|
||||
THEN
|
||||
newstatus := pstatus;
|
||||
@@ -76,7 +79,7 @@ CREATE OR REPLACE PACKAGE BODY cnt AS
|
||||
END IF;
|
||||
WHEN 3 -- Ter goedkeuring
|
||||
THEN
|
||||
IF currentstatus = 2
|
||||
IF currentstatus = 2 OR currentstatus IS NULL
|
||||
THEN
|
||||
newstatus := pstatus;
|
||||
eventcode := 'CNTCPT';
|
||||
@@ -99,6 +102,27 @@ CREATE OR REPLACE PACKAGE BODY cnt AS
|
||||
END IF;
|
||||
END;
|
||||
|
||||
-- Bepaal de einddatum na x iteraties van het verlengschema vanaf een startdatum.
|
||||
FUNCTION getVerlengschemaEinddatum(startdatum IN DATE, cnt_key IN NUMBER, volgnr IN NUMBER) RETURN DATE
|
||||
IS
|
||||
CURSOR c_verleng
|
||||
IS
|
||||
SELECT cnt_verlengschema_volgnr
|
||||
, cnt_verlengschema_verlengtermijn
|
||||
FROM cnt_verlengschema
|
||||
WHERE cnt_verlengschema_volgnr <= volgnr
|
||||
AND cnt_contract_key = cnt_key;
|
||||
|
||||
einddatum DATE := startdatum;
|
||||
BEGIN
|
||||
FOR c IN c_verleng
|
||||
LOOP
|
||||
einddatum := cnt.cnt_getTermijndatum(einddatum, c.cnt_verlengschema_verlengtermijn, 1);
|
||||
END LOOP;
|
||||
|
||||
RETURN einddatum;
|
||||
END;
|
||||
|
||||
-- Deze functie bepaalt de datum door het termijn (ptermijn_key) van de datum (pdate) in mindering te brengen.
|
||||
-- Indien de 29, 30 of 31 datum niet in de betreffende maand voorkomt wordt de eerste van de volgende maand genomen.
|
||||
-- prichting geeft aan of ten opzichte van pdate achteruit (-1) of vooruit (1, of anders) moet worden gerekend.
|
||||
@@ -246,6 +270,7 @@ CREATE OR REPLACE PACKAGE BODY cnt AS
|
||||
, c.cnt_contract_nummer_intern
|
||||
, c.cnt_contract_omschrijving
|
||||
, c.cnt_contract_looptijd_tot
|
||||
, c.cnt_contract_verleng_termijn
|
||||
, o.cnt_termijn_omschrijving opzegtermijn
|
||||
, cnt.cnt_getTermijndatum (c.cnt_contract_looptijd_tot, c.cnt_contract_opzegtermijn, -1) dtopzeggen
|
||||
, v.cnt_termijn_omschrijving verlengtermijn
|
||||
@@ -270,7 +295,11 @@ CREATE OR REPLACE PACKAGE BODY cnt AS
|
||||
AND cn.cnt_contract_verwijder IS NULL
|
||||
);
|
||||
|
||||
tracking VARCHAR2(4000);
|
||||
tracking VARCHAR2(4000);
|
||||
this_verlengschema_key cnt_verlengschema.cnt_verlengschema_key%TYPE;
|
||||
next_verlengschema_key cnt_verlengschema.cnt_verlengschema_key%TYPE;
|
||||
next_termijn cnt_termijn.cnt_termijn_key%TYPE;
|
||||
infinite_prolongate NUMBER(1) := 0;
|
||||
BEGIN
|
||||
FOR cnt_verloopt IN c_verleng
|
||||
LOOP
|
||||
@@ -283,6 +312,45 @@ CREATE OR REPLACE PACKAGE BODY cnt AS
|
||||
, '{1}', TO_CHAR(cnt_verloopt.dtnieuw,'dd-mm-yyyy')
|
||||
);
|
||||
fac.trackaction ('CNTUPD', cnt_verloopt.cnt_contract_key, NULL, NULL, tracking);
|
||||
-- Heeft dit automatisch verlengbaar contract een verlengschema?
|
||||
BEGIN
|
||||
SELECT this_schema_key
|
||||
, next_schema_key
|
||||
INTO this_verlengschema_key
|
||||
, next_verlengschema_key
|
||||
FROM ( SELECT cnt_verlengschema_key AS this_schema_key
|
||||
, LEAD(cnt_verlengschema_key) OVER(ORDER BY cnt_verlengschema_volgnr) AS next_schema_key
|
||||
FROM cnt_verlengschema
|
||||
WHERE cnt_contract_key = cnt_verloopt.cnt_contract_key
|
||||
)
|
||||
WHERE rownum = 1;
|
||||
-- Dan eerstvolgende verlengtermijn uit verlengschema naar het veld verlengtermijn in contract kopieren...
|
||||
IF next_verlengschema_key IS NOT NULL
|
||||
THEN
|
||||
SELECT cnt_verlengschema_verlengtermijn
|
||||
INTO next_termijn
|
||||
FROM cnt_verlengschema
|
||||
WHERE cnt_verlengschema_key = next_verlengschema_key;
|
||||
ELSE
|
||||
IF infinite_prolongate = 1
|
||||
THEN
|
||||
next_termijn := cnt_verloopt.cnt_contract_verleng_termijn;
|
||||
ELSE
|
||||
next_termijn := NULL;
|
||||
END IF;
|
||||
END IF;
|
||||
UPDATE cnt_contract
|
||||
SET cnt_contract_verleng_termijn = next_termijn
|
||||
WHERE cnt_contract_key = cnt_verloopt.cnt_contract_key;
|
||||
|
||||
-- ...en deze verlengtermijn uit het verlengschema verwijderen.
|
||||
DELETE
|
||||
FROM cnt_verlengschema
|
||||
WHERE cnt_verlengschema_key = this_verlengschema_key;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND THEN NULL;
|
||||
-- Laat laatste verlengtermijn staan als er geen volgende in het schema gevonden kan worden.
|
||||
END;
|
||||
END LOOP;
|
||||
END;
|
||||
|
||||
@@ -295,7 +363,12 @@ CREATE OR REPLACE PACKAGE BODY cnt AS
|
||||
SELECT c.cnt_contract_key
|
||||
FROM cnt_contract c
|
||||
WHERE c.cnt_contract_inactiveren = 1
|
||||
AND TRUNC(c.cnt_contract_looptijd_tot) < TRUNC(SYSDATE);
|
||||
AND TRUNC(c.cnt_contract_looptijd_tot) < TRUNC(SYSDATE)
|
||||
AND NOT EXISTS (SELECT f.fin_factuur_key -- Contract mag geen openstaande facturen hebben.
|
||||
FROM fin_factuur f
|
||||
WHERE f.cnt_contract_key = c.cnt_contract_key
|
||||
AND f.fin_factuur_statuses_key NOT IN (1,7)
|
||||
AND f.fin_factuur_verwijder IS NULL);
|
||||
BEGIN
|
||||
BEGIN
|
||||
SELECT prs_perslid_key
|
||||
@@ -329,6 +402,7 @@ CREATE OR REPLACE PACKAGE BODY cnt AS
|
||||
newkey NUMBER;
|
||||
nummer1 cnt_contract.cnt_contract_nummer_intern%TYPE;
|
||||
amount1 cnt_contract.cnt_contract_kosten%TYPE;
|
||||
approve_new cnt_disc_params.cnt_disc_params_approve_new%TYPE;
|
||||
srtcontract_type cnt_disc_params.cnt_srtcontract_type%TYPE;
|
||||
new_status cnt_contract.cnt_contract_status%TYPE;
|
||||
tracking VARCHAR2 (4000);
|
||||
@@ -351,8 +425,9 @@ CREATE OR REPLACE PACKAGE BODY cnt AS
|
||||
cnt_contract_nummer_intern,
|
||||
cnt_contract_kosten,
|
||||
cdp.cnt_srtcontract_type,
|
||||
cdp.cnt_disc_params_approve_new,
|
||||
c.cnt_contract_status
|
||||
INTO begin1, eind1, versie1, nummer1, amount1, srtcontract_type, new_status
|
||||
INTO begin1, eind1, versie1, nummer1, amount1, srtcontract_type, approve_new, new_status
|
||||
FROM cnt_contract c,
|
||||
cnt_disc_params cdp
|
||||
WHERE c.ins_discipline_key = cdp.cnt_ins_discipline_key
|
||||
@@ -367,10 +442,9 @@ CREATE OR REPLACE PACKAGE BODY cnt AS
|
||||
THEN
|
||||
-- Splitsen van contract.
|
||||
begin1 := p_datum;
|
||||
eind1 := eind1;
|
||||
IF (fac.getsetting('cnt_contract_approval') = 1 AND srtcontract_type != 6)
|
||||
IF (fac.getsetting('cnt_contract_approval') = 1 AND srtcontract_type != 6) -- niet voor mantelcontracten
|
||||
THEN
|
||||
new_status := 2; -- altijd op nieuw
|
||||
new_status := 2; -- altijd op nieuw(=concept)
|
||||
ELSE
|
||||
new_status := 0; -- direct actief
|
||||
END IF;
|
||||
@@ -610,15 +684,15 @@ CREATE OR REPLACE PACKAGE BODY cnt AS
|
||||
-- ##KEY## = cnt_contract_nummer_intern
|
||||
IF INSTR (s, '#') > 0
|
||||
THEN
|
||||
SELECT COALESCE(prs_bedrijf_naam, fac.getsetting ('prs_pers_string'), fac.getsetting ('prs_dep_string')),
|
||||
cnt_contract_omschrijving,
|
||||
cnt_contract_nummer_intern
|
||||
SELECT COALESCE(b.prs_bedrijf_naam, p.prs_perslid_naam_full, a.prs_afdeling_omschrijving),
|
||||
c.cnt_contract_omschrijving,
|
||||
c.cnt_contract_nummer_intern
|
||||
INTO varlev,
|
||||
varomsch,
|
||||
varnummer
|
||||
FROM cnt_contract c,
|
||||
prs_bedrijf b,
|
||||
prs_perslid p,
|
||||
prs_v_perslid_fullnames_all p,
|
||||
prs_afdeling a
|
||||
WHERE c.cnt_prs_bedrijf_key = b.prs_bedrijf_key(+)
|
||||
AND c.cnt_prs_perslid_key = p.prs_perslid_key(+)
|
||||
@@ -700,7 +774,8 @@ CREATE OR REPLACE PACKAGE BODY cnt AS
|
||||
END;
|
||||
|
||||
PROCEDURE notifycontractbedrijven (pcntkey NUMBER,
|
||||
ptrackingkey NUMBER)
|
||||
ptrackingkey NUMBER,
|
||||
pnotidelay NUMBER DEFAULT NULL)
|
||||
AS
|
||||
BEGIN
|
||||
FOR bedrijfrec
|
||||
@@ -708,11 +783,15 @@ CREATE OR REPLACE PACKAGE BODY cnt AS
|
||||
l.alg_locatie_key,
|
||||
CASE WHEN b.prs_bedrijf_key = c.cnt_prs_bedrijf_key THEN 'C' ELSE 'G' END bedrijfadres_type,
|
||||
cnt_contract_nummer_intern,
|
||||
COALESCE (l.alg_locatie_email, ins_discipline_email)
|
||||
c.ins_discipline_key,
|
||||
COALESCE (l.alg_locatie_email, ins_discipline_email),
|
||||
d.prs_bedrijf_key persoon_bedrijf_key -- van de melder, niet de uitvoerende
|
||||
FROM prs_bedrijf b,
|
||||
cnt_contract c,
|
||||
ins_tab_discipline d,
|
||||
alg_locatie l,
|
||||
prs_perslid p,
|
||||
prs_v_afdeling d,
|
||||
( SELECT cnt_contract_key,
|
||||
DECODE (MIN (cp1.cnt_alg_plaats_code),
|
||||
'L', MIN (cp1.cnt_alg_plaats_key),
|
||||
@@ -756,6 +835,8 @@ CREATE OR REPLACE PACKAGE BODY cnt AS
|
||||
AND d.ins_discipline_key = c.ins_discipline_key
|
||||
AND c.cnt_contract_key = cp.cnt_contract_key(+)
|
||||
AND cp.cnt_locatie_key = l.alg_locatie_key(+)
|
||||
AND d.prs_afdeling_key = p.prs_afdeling_key
|
||||
AND p.prs_perslid_key = c.prs_perslid_key_beh
|
||||
AND ( b.prs_bedrijf_key = c.cnt_prs_bedrijf_key -- type 'C'
|
||||
OR EXISTS
|
||||
(SELECT 1
|
||||
@@ -769,7 +850,10 @@ CREATE OR REPLACE PACKAGE BODY cnt AS
|
||||
prefkey => pcntkey,
|
||||
ptrackingkey => ptrackingkey,
|
||||
preference => bedrijfrec.cnt_contract_nummer_intern,
|
||||
plocatie_key => bedrijfrec.alg_locatie_key);
|
||||
pdiscipline_key => bedrijfrec.ins_discipline_key,
|
||||
plocatie_key => bedrijfrec.alg_locatie_key,
|
||||
pbedrijf_key2 => bedrijfrec.persoon_bedrijf_key,
|
||||
pnotidelay => pnotidelay);
|
||||
END LOOP;
|
||||
END;
|
||||
|
||||
|
||||
@@ -18,6 +18,7 @@ CREATE SEQUENCE cnt_s_cnt_kenmerkcontract_key MINVALUE 1;
|
||||
|
||||
CREATE SEQUENCE cnt_s_cnt_contract_note_key MINVALUE 1;
|
||||
CREATE SEQUENCE cnt_s_cnt_factuurschema_key MINVALUE 1;
|
||||
CREATE SEQUENCE cnt_s_cnt_verlengschema_key MINVALUE 1;
|
||||
|
||||
REGISTERONCE('$Id$')
|
||||
|
||||
|
||||
@@ -86,6 +86,14 @@ CREATE_TABLE(cnt_disc_params, 0)
|
||||
DEFAULT 0
|
||||
NOT NULL,
|
||||
cnt_disc_params_opties
|
||||
NUMBER(1)
|
||||
DEFAULT 0
|
||||
NOT NULL,
|
||||
cnt_disc_params_ksverplicht /* Kostensoort verplicht {0=niet verplicht (default), 1=verplicht} */
|
||||
NUMBER(1)
|
||||
DEFAULT 0
|
||||
NOT NULL,
|
||||
cnt_disc_params_approve_new /* nieuw/gesplitst contract altijd acorderen {0=nee (default), 1=ja} */
|
||||
NUMBER(1)
|
||||
DEFAULT 0
|
||||
NOT NULL
|
||||
@@ -369,6 +377,9 @@ CREATE_TABLE(cnt_kenmerk, 0)
|
||||
, cnt_kenmerk_volgnummer
|
||||
NUMBER(3)
|
||||
NOT NULL
|
||||
, cnt_kenmerk_rolcode
|
||||
NUMBER(4)
|
||||
DEFAULT 7 NOT NULL
|
||||
, cnt_kenmerk_uniek
|
||||
NUMBER(1)
|
||||
, cnt_kenmerk_regexp
|
||||
@@ -450,6 +461,21 @@ CREATE_TABLE(cnt_factuurschema , 0)
|
||||
DEFAULT SYSDATE
|
||||
);
|
||||
|
||||
CREATE_TABLE(cnt_verlengschema, 0)
|
||||
(
|
||||
cnt_verlengschema_key
|
||||
NUMBER(10)
|
||||
PRIMARY KEY,
|
||||
cnt_contract_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT cnt_r_cnt_contract_key2 REFERENCES cnt_contract(cnt_contract_key),
|
||||
cnt_verlengschema_volgnr
|
||||
NUMBER(2),
|
||||
cnt_verlengschema_verlengtermijn
|
||||
NUMBER(10)
|
||||
CONSTRAINT cnt_r_cnt_termijn_key6 REFERENCES cnt_termijn(cnt_termijn_key)
|
||||
);
|
||||
|
||||
REGISTERONCE('$Id$')
|
||||
|
||||
|
||||
|
||||
@@ -357,6 +357,14 @@ BEGIN
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE OR REPLACE TRIGGER cnt_t_cnt_verlengschema_B_I
|
||||
BEFORE INSERT ON cnt_verlengschema
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
UPDATE_PRIMARY_KEY(cnt_verlengschema_key,cnt_s_cnt_verlengschema_key);
|
||||
END;
|
||||
/
|
||||
|
||||
REGISTERRUN('$Id$')
|
||||
|
||||
#endif // CNT
|
||||
|
||||
419
COMSQL.H
419
COMSQL.H
@@ -54,7 +54,7 @@ BEGIN adm.systrackscriptId(svnid, 0); END;~/
|
||||
END IF; \
|
||||
EXCEPTION \
|
||||
WHEN NO_DATA_FOUND THEN \
|
||||
APPLICATION_ERROR(-20000, message); \
|
||||
raise_application_error(-20000, message); \
|
||||
END
|
||||
|
||||
#define CHECK_KEY_REFERENCE(table, primary_key, ref_key, message) \
|
||||
@@ -69,9 +69,9 @@ BEGIN adm.systrackscriptId(svnid, 0); END;~/
|
||||
WHERE primary_key = ref_key; \
|
||||
EXCEPTION \
|
||||
WHEN NO_DATA_FOUND \
|
||||
THEN APPLICATION_ERROR(-20000, message); \
|
||||
THEN raise_application_error(-20000, message); \
|
||||
WHEN mutating_table \
|
||||
_THEN NULL; \
|
||||
THEN NULL; \
|
||||
END
|
||||
|
||||
|
||||
@@ -81,20 +81,6 @@ BEGIN adm.systrackscriptId(svnid, 0); END;~/
|
||||
#define CREATE_TABLE(table_name, level) \
|
||||
CREATE TABLE table_name
|
||||
|
||||
#define _SPOOL(x) \
|
||||
SPOOL x
|
||||
|
||||
#define _EQ_OLD(x,y) \
|
||||
x = :old.y
|
||||
|
||||
#define PROMPT1(x) \
|
||||
PROMPT x
|
||||
#define PROMPT2(x,y) \
|
||||
PROMPT x,y
|
||||
|
||||
#define _INTO_VAR(x) \
|
||||
INTO x
|
||||
|
||||
#define CREATE_SEQUENCE(sequence_name, minval) \
|
||||
CREATE SEQUENCE sequence_name MINVALUE minval;
|
||||
|
||||
@@ -104,122 +90,15 @@ CREATE SEQUENCE sequence_name MINVALUE minval;
|
||||
#define CREATE_TRIGGER(trigger_name) \
|
||||
CREATE OR REPLACE TRIGGER trigger_name
|
||||
|
||||
#define _END_TRIGGER() \
|
||||
END;~/
|
||||
|
||||
#define CREATE_PROCEDURE(pack_name, proc_name) \
|
||||
CREATE OR REPLACE PROCEDURE proc_name
|
||||
|
||||
#define MONEY \
|
||||
NUMBER
|
||||
|
||||
#define VARCHAR \
|
||||
VARCHAR2
|
||||
|
||||
#define _LONG_RAW \
|
||||
LONG RAW
|
||||
|
||||
#define _CONCAT \
|
||||
||
|
||||
|
||||
#define _ALTER_MODIFY_START \
|
||||
MODIFY
|
||||
|
||||
#define _ALTER_ADD_START \
|
||||
ADD (
|
||||
|
||||
#define _ALTER_END \
|
||||
)
|
||||
|
||||
#define _IDENTITY(x,y)
|
||||
|
||||
#define _TYPE(tab,fld) \
|
||||
tab.fld%TYPE
|
||||
|
||||
#define _CREATE_OR_REPLACE \
|
||||
CREATE OR REPLACE
|
||||
|
||||
#define _RETURN_LENGTH(x) \
|
||||
|
||||
#define _DECLARE_VAR(x) \
|
||||
x
|
||||
|
||||
#define _SET_VAR(x) \
|
||||
x
|
||||
|
||||
#define _VAR(x) \
|
||||
x
|
||||
|
||||
#define _ASSIGN \
|
||||
:=
|
||||
|
||||
#define _RETURNS \
|
||||
RETURN
|
||||
|
||||
#define _AS \
|
||||
IS
|
||||
|
||||
#define _GO \
|
||||
;
|
||||
|
||||
#define _GO2 \
|
||||
;~/
|
||||
|
||||
#define _NOTFOUND(x) \
|
||||
x%NOTFOUND
|
||||
|
||||
#define INSTR2(a, b) \
|
||||
INSTR(a, b)
|
||||
|
||||
#define SUBSTR2 \
|
||||
SUBSTR
|
||||
|
||||
#define TRUNC_DATE \
|
||||
TRUNC
|
||||
|
||||
#define _LOOP \
|
||||
loop
|
||||
|
||||
#define _FOR(i,a,b) \
|
||||
FOR i in a .. b loop
|
||||
|
||||
#define _END_LOOP \
|
||||
end loop
|
||||
|
||||
#define _EXIT \
|
||||
exit
|
||||
|
||||
#define _FROM_DUAL \
|
||||
FROM DUAL
|
||||
|
||||
#define _EXEC0(p) \
|
||||
p
|
||||
|
||||
#define _EXEC1(p,a1) \
|
||||
p(a1)
|
||||
|
||||
#define _EXEC2(p,a1,a2) \
|
||||
p(a1,a2)
|
||||
|
||||
#define _EXEC3(p,a1,a2,a3) \
|
||||
p(a1,a2,a3)
|
||||
|
||||
#define _EXEC4(p,a1,a2,a3, a4) \
|
||||
p(a1,a2,a3,a4)
|
||||
|
||||
#define _EXEC5(p,a1,a2,a3,a4,a5) \
|
||||
p(a1,a2,a3,a4,a5)
|
||||
|
||||
#define _EXEC6(p,a1,a2,a3,a4,a5,a6) \
|
||||
p(a1,a2,a3,a4,a5,a6)
|
||||
|
||||
|
||||
#define _INTO1(x)
|
||||
#define _INTO2(x) \
|
||||
INTO x
|
||||
#define _INTO3(x) \
|
||||
,x
|
||||
|
||||
#define UPDATE_UPPER(omschrijving, upper_omschrijving,tab) \
|
||||
:new.upper_omschrijving := UPPER(:new.omschrijving)
|
||||
|
||||
@@ -231,128 +110,25 @@ INTO x
|
||||
END IF; \
|
||||
END
|
||||
|
||||
|
||||
#define _CC \
|
||||
||
|
||||
|
||||
#define _OPLUS \
|
||||
(+)
|
||||
|
||||
#define _OSTAR
|
||||
|
||||
#define _DECODE_BEGIN \
|
||||
DECODE(
|
||||
|
||||
#define _DECODE_WHEN \
|
||||
,
|
||||
|
||||
#define _DECODE_THEN \
|
||||
,
|
||||
|
||||
#define _DECODE_ELSE \
|
||||
,
|
||||
|
||||
#define _DECODE_END \
|
||||
)
|
||||
|
||||
#define _THEN \
|
||||
THEN
|
||||
|
||||
#define _FOUND(x) \
|
||||
x%FOUND = TRUE
|
||||
|
||||
#define _IN_PACKAGE(pak,fp,fname) \
|
||||
fp fname
|
||||
|
||||
#define _INPUT \
|
||||
IN
|
||||
|
||||
#define _OUTPUT(x) \
|
||||
OUT x
|
||||
|
||||
#define _DATEPART(x,y) \
|
||||
TO_CHAR(x,#@y)
|
||||
|
||||
#define DATE_TO_CHAR \
|
||||
TO_CHAR
|
||||
|
||||
#define NUMBER_TO_CHAR \
|
||||
TO_CHAR
|
||||
|
||||
#define _MOD \
|
||||
MOD
|
||||
|
||||
#define _NUM2HM(x) \
|
||||
TO_NUMBER(TO_CHAR(x,'HH24.MI'))
|
||||
|
||||
#define _TO_CHAR(x) \
|
||||
TO_CHAR(x)
|
||||
|
||||
#define _TO_NUMBER(x) \
|
||||
TO_NUMBER(x)
|
||||
|
||||
#define _TO_NUMBER2(x,y) \
|
||||
TO_NUMBER(x,y)
|
||||
|
||||
#define _TO_NUMBER3(x,y,z) \
|
||||
TO_NUMBER(x,y,z)
|
||||
|
||||
#define _TO_DATE(x) \
|
||||
TO_DATE(x)
|
||||
|
||||
#define _TO_DATE2(x,y) \
|
||||
TO_DATE(x,y)
|
||||
|
||||
#define _DECLARE_CURSOR(x) \
|
||||
CURSOR x
|
||||
|
||||
#define _CURSOR_PARAM(x) \
|
||||
(x)
|
||||
|
||||
#define _CURSOR_PARAM2(x,y) \
|
||||
(x,y)
|
||||
|
||||
#define _CURSOR_PARAM3(x,y,z) \
|
||||
(x,y,z)
|
||||
|
||||
#define _CURSOR_FOR \
|
||||
IS
|
||||
|
||||
#define _OPEN_CURSOR1(query, s, rec) \
|
||||
FOR rec IN query LOOP
|
||||
|
||||
#define _OPEN_CURSOR2(query, s, rec, key) \
|
||||
FOR rec IN query(key) LOOP
|
||||
// , val s := rec.val;
|
||||
|
||||
#define _CLOSE_CURSOR(query, s) \
|
||||
END LOOP;
|
||||
|
||||
|
||||
#define _BEGIN_SQLS_PROC \
|
||||
AS
|
||||
|
||||
#define _BEGIN_ORA_PROC \
|
||||
BEGIN
|
||||
|
||||
#define _END_PROC \
|
||||
END;~/
|
||||
|
||||
#define _END_IF \
|
||||
END IF;
|
||||
|
||||
#define _ELSE \
|
||||
ELSE
|
||||
|
||||
#define _ELSIF \
|
||||
ELSIF
|
||||
|
||||
#define _FAC_MODULE(module,omschrijving) \
|
||||
INSERT INTO fac_module (fac_module_name, fac_module_version, fac_module_date, fac_module_remark, fac_module_extern) \
|
||||
VALUES (module,_DBV_STRING,TO_CHAR(SYSDATE,'YYYYMMDD'),omschrijving, 1);
|
||||
|
||||
#define APPLICATION_ERROR(code,text) raise_application_error(code, text)
|
||||
|
||||
#define APPLICATION_ERROR_GOTO(code,text) raise_application_error(code, text)
|
||||
|
||||
#define UPDATE_PRIMARY_KEY(primary_key, sequence_primary_key) \
|
||||
@@ -361,63 +137,6 @@ ELSIF
|
||||
FROM DUAL; \
|
||||
END IF
|
||||
|
||||
#define CHECK_UNIQUE_OMSCHRIJVING(tabel, upper_omschrijving, \
|
||||
exc_msg_GEEN_OMSCHRIJVING, \
|
||||
exc_msg_BESTAANDE_OMSCHRIJVING) \
|
||||
DECLARE \
|
||||
dummy CHAR := 'N'; \
|
||||
BEGIN \
|
||||
SELECT 'X' INTO dummy \
|
||||
FROM tabel \
|
||||
GROUP BY upper_omschrijving \
|
||||
HAVING COUNT(*) > 1; \
|
||||
APPLICATION_ERROR(-20001, exc_msg_BESTAANDE_OMSCHRIJVING); \
|
||||
EXCEPTION \
|
||||
WHEN NO_DATA_FOUND \
|
||||
THEN NULL; \
|
||||
\
|
||||
WHEN TOO_MANY_ROWS \
|
||||
THEN APPLICATION_ERROR(-20001, exc_msg_BESTAANDE_OMSCHRIJVING); \
|
||||
END
|
||||
|
||||
#define CHECK_UNIQUE_KEY_OMSCHRIJVING(tabel, key, upper_omschrijving, \
|
||||
exc_msg_GEEN_OMSCHRIJVING, \
|
||||
exc_msg_BESTAANDE_OMSCHRIJVING) \
|
||||
DECLARE \
|
||||
dummy CHAR := 'N'; \
|
||||
BEGIN \
|
||||
SELECT 'X' INTO dummy \
|
||||
FROM tabel \
|
||||
GROUP BY key, upper_omschrijving \
|
||||
HAVING COUNT(*) > 1; \
|
||||
APPLICATION_ERROR(-20001, exc_msg_BESTAANDE_OMSCHRIJVING); \
|
||||
EXCEPTION \
|
||||
WHEN NO_DATA_FOUND \
|
||||
THEN NULL; \
|
||||
\
|
||||
WHEN TOO_MANY_ROWS \
|
||||
THEN APPLICATION_ERROR(-20001, exc_msg_BESTAANDE_OMSCHRIJVING); \
|
||||
END
|
||||
|
||||
#define CHECK_UNIQUE_DEEL_KEY_OMSCHRIJVING(tabel, up_key, naast_key, \
|
||||
upper_omschrijving, exc_msg_GEEN_OMSCHRIJVING, \
|
||||
exc_msg_BESTAANDE_OMSCHRIJVING) \
|
||||
DECLARE \
|
||||
dummy CHAR := 'N'; \
|
||||
BEGIN \
|
||||
SELECT 'X' INTO dummy \
|
||||
FROM tabel \
|
||||
GROUP BY up_key, naast_key, upper_omschrijving \
|
||||
HAVING COUNT(*) > 1; \
|
||||
APPLICATION_ERROR(-20001, exc_msg_BESTAANDE_OMSCHRIJVING); \
|
||||
EXCEPTION \
|
||||
WHEN NO_DATA_FOUND \
|
||||
THEN NULL; \
|
||||
\
|
||||
WHEN TOO_MANY_ROWS \
|
||||
THEN APPLICATION_ERROR(-20001, exc_msg_BESTAANDE_OMSCHRIJVING); \
|
||||
END
|
||||
|
||||
#define LAAT_VERDIEPING_VERVALLEN_VOOR_GEBOUW(exc_msg_VERDIEPING_IN_GEBRUIK) \
|
||||
BEGIN \
|
||||
IF :new.alg_gebouw_verwijder IS NOT NULL \
|
||||
@@ -431,10 +150,10 @@ upper_omschrijving, exc_msg_GEEN_OMSCHRIJVING, \
|
||||
END IF; \
|
||||
EXCEPTION \
|
||||
WHEN NO_DATA_FOUND \
|
||||
THEN APPLICATION_ERROR(-20000, exc_msg_VERDIEPING_IN_GEBRUIK); \
|
||||
THEN raise_application_error(-20000, exc_msg_VERDIEPING_IN_GEBRUIK); \
|
||||
\
|
||||
WHEN TOO_MANY_ROWS \
|
||||
THEN APPLICATION_ERROR(-20000, exc_msg_VERDIEPING_IN_GEBRUIK); \
|
||||
THEN raise_application_error(-20000, exc_msg_VERDIEPING_IN_GEBRUIK); \
|
||||
END
|
||||
|
||||
#define LAAT_RUIMTE_VERVALLEN_VOOR_VERDIEPING(exc_msg_RUIMTE_IN_GEBRUIK) \
|
||||
@@ -450,10 +169,10 @@ upper_omschrijving, exc_msg_GEEN_OMSCHRIJVING, \
|
||||
END IF; \
|
||||
EXCEPTION \
|
||||
WHEN NO_DATA_FOUND \
|
||||
THEN APPLICATION_ERROR(-20000, exc_msg_RUIMTE_IN_GEBRUIK); \
|
||||
THEN raise_application_error(-20000, exc_msg_RUIMTE_IN_GEBRUIK); \
|
||||
\
|
||||
WHEN TOO_MANY_ROWS \
|
||||
THEN APPLICATION_ERROR(-20000, exc_msg_RUIMTE_IN_GEBRUIK); \
|
||||
THEN raise_application_error(-20000, exc_msg_RUIMTE_IN_GEBRUIK); \
|
||||
END
|
||||
|
||||
#define CHECK_NOG_REFERENCES(tabel,tabel_verwijder_veld,reference_view, \
|
||||
@@ -467,65 +186,13 @@ upper_omschrijving, exc_msg_GEEN_OMSCHRIJVING, \
|
||||
SELECT 'x' INTO dummy \
|
||||
FROM reference_view \
|
||||
WHERE reference_view.key_veld = :old.key_veld; \
|
||||
APPLICATION_ERROR(-20000,message); \
|
||||
raise_application_error(-20000, message); \
|
||||
END IF; \
|
||||
EXCEPTION \
|
||||
WHEN NO_DATA_FOUND THEN \
|
||||
NULL; \
|
||||
WHEN TOO_MANY_ROWS THEN \
|
||||
APPLICATION_ERROR(-20000,message); \
|
||||
END
|
||||
|
||||
#define CHECK_REFERENCE_INST(key_veld, message) \
|
||||
DECLARE \
|
||||
dummy CHAR; \
|
||||
BEGIN \
|
||||
SELECT 'X' INTO dummy \
|
||||
FROM ins_v_aanwezigdeel \
|
||||
WHERE ins_deel_key = :new.key_veld; \
|
||||
EXCEPTION \
|
||||
WHEN NO_DATA_FOUND THEN \
|
||||
BEGIN \
|
||||
SELECT 'X' INTO dummy \
|
||||
FROM ins_v_aanwezigonderdeel \
|
||||
WHERE ins_onderdeel_key = :new.key_veld; \
|
||||
EXCEPTION \
|
||||
WHEN NO_DATA_FOUND THEN \
|
||||
BEGIN \
|
||||
SELECT 'X' INTO dummy \
|
||||
FROM ins_v_aanwezigelement \
|
||||
WHERE ins_element_key = :new.key_veld; \
|
||||
EXCEPTION \
|
||||
WHEN NO_DATA_FOUND THEN \
|
||||
APPLICATION_ERROR(-20000, message); \
|
||||
END; \
|
||||
END; \
|
||||
END
|
||||
|
||||
#define CHECK_REFERENCE_SRTINST(key_veld, message) \
|
||||
DECLARE \
|
||||
dummy CHAR; \
|
||||
BEGIN \
|
||||
SELECT 'X' INTO dummy \
|
||||
FROM ins_v_aanwezigsrtdeel \
|
||||
WHERE ins_srtdeel_key = :new.key_veld; \
|
||||
EXCEPTION \
|
||||
WHEN NO_DATA_FOUND THEN \
|
||||
BEGIN \
|
||||
SELECT 'X' INTO dummy \
|
||||
FROM ins_v_aanwezigsrtonderdeel \
|
||||
WHERE ins_srtonderdeel_key = :new.key_veld; \
|
||||
EXCEPTION \
|
||||
WHEN NO_DATA_FOUND THEN \
|
||||
BEGIN \
|
||||
SELECT 'X' INTO dummy \
|
||||
FROM ins_v_aanwezigsrtelement \
|
||||
WHERE ins_srtelement_key = :new.key_veld; \
|
||||
EXCEPTION \
|
||||
WHEN NO_DATA_FOUND THEN \
|
||||
APPLICATION_ERROR(-20000, message); \
|
||||
END; \
|
||||
END; \
|
||||
raise_application_error(-20000, message); \
|
||||
END
|
||||
|
||||
#define CHECK_REFERENCE_ONROERENDGOED(key_veld, message) \
|
||||
@@ -555,7 +222,7 @@ upper_omschrijving, exc_msg_GEEN_OMSCHRIJVING, \
|
||||
WHERE alg_terreinsector_key = :new.key_veld; \
|
||||
EXCEPTION \
|
||||
WHEN NO_DATA_FOUND THEN \
|
||||
APPLICATION_ERROR(-20000,message); \
|
||||
raise_application_error(-20000, message); \
|
||||
END; \
|
||||
END; \
|
||||
END; \
|
||||
@@ -566,56 +233,12 @@ CEIL
|
||||
|
||||
#define NULLDATUM NULL
|
||||
|
||||
#define CREATE_VOLGNR(volgnr_srt, volgnr_periode) \
|
||||
INSERT INTO fac_volgnrs (fac_volgnr_srt, fac_volgnr_periode) \
|
||||
VALUES(volgnr_srt, volgnr_periode)
|
||||
|
||||
|
||||
#define UPDATE_VOLGNR(key_veld, fac_volgnr_srt) \
|
||||
IF :new.key_veld IS NULL \
|
||||
THEN \
|
||||
:new.key_veld := FAC_P_FAC_VOLGNR.FAC_VOLGNR_NEXTVAL(fac_volgnr_srt); \
|
||||
END IF
|
||||
|
||||
#define DEFINIEER_VIEW_AANWEZIG(table, verwijder_veld, view_name, level) \
|
||||
CREATE_VIEW (view_name,level) AS \
|
||||
SELECT * \
|
||||
FROM table \
|
||||
WHERE table.verwijder_veld IS NULLDATUM
|
||||
|
||||
#define CHECK_REFERENCE_DEFAULTUITV(key_veld, message) \
|
||||
DECLARE \
|
||||
dummy CHAR; \
|
||||
BEGIN \
|
||||
SELECT 'X' INTO dummy \
|
||||
FROM mld_v_defaultuitv \
|
||||
WHERE bco_defaultuitv_keys = :new.key_veld; \
|
||||
EXCEPTION \
|
||||
WHEN NO_DATA_FOUND THEN \
|
||||
APPLICATION_ERROR(-20000, message); \
|
||||
END
|
||||
|
||||
#define UPDATE_WEEKINGAVE(weekingave_veld) \
|
||||
BEGIN \
|
||||
:new.weekingave_veld := to_number( \
|
||||
to_char(:new.mld_opdr_datumbegin, 'YYWW')); \
|
||||
END
|
||||
|
||||
|
||||
#define SET_VERWIJDER_CHILDREN2(child_table, parent_key, child_key, parent_verwijder, \
|
||||
child_verwijder) \
|
||||
BEGIN \
|
||||
IF :new.parent_verwijder IS NOT NULL OR \
|
||||
(:new.parent_verwijder IS NULL AND :old.parent_verwijder IS NOT NULL) \
|
||||
THEN \
|
||||
UPDATE child_table \
|
||||
SET child_verwijder = :new.parent_verwijder \
|
||||
WHERE \
|
||||
child_table.child_key = :new.parent_key; \
|
||||
END IF; \
|
||||
END
|
||||
|
||||
|
||||
#define DELETE_CHILDREN(child_table, parent_key) \
|
||||
BEGIN \
|
||||
DELETE FROM child_table \
|
||||
@@ -737,28 +360,6 @@ BEGIN ~\
|
||||
END; ~\
|
||||
/ ~\
|
||||
|
||||
|
||||
#define BEGIN_MODULE(m) \
|
||||
DECLARE ~\
|
||||
dummy VARCHAR2(1); ~\
|
||||
BEGIN ~\
|
||||
SELECT 'x'INTO dummy ~\
|
||||
FROM fac_module ~\
|
||||
WHERE fac_module_name = UPPER(#@m);
|
||||
|
||||
#define SQL_SPOOL(SQLRegel) \
|
||||
dbms_output.put_line(#@SQLRegel);
|
||||
|
||||
#define END_MODULE(m) \
|
||||
EXCEPTION ~\
|
||||
WHEN NO_DATA_FOUND THEN dbms_output.put_line('--Module ' ||#@m|| ' niet aanwezig'); ~\
|
||||
END; ~/
|
||||
|
||||
#define UPDMOD(m, n) \
|
||||
BEGIN_MODULE(m) ~\
|
||||
SQL_SPOOL(START n.m) ~\
|
||||
END_MODULE(m)
|
||||
|
||||
#define START_LOCALEITEMS(dialect_id) \
|
||||
DECLARE ~ \
|
||||
v_dialect_id fac_localeitems.fac_localeitems_dialect_id%TYPE; ~ \
|
||||
|
||||
@@ -104,7 +104,6 @@ AS
|
||||
WHERE starttime <= date_interval_end
|
||||
AND endtime >= date_interval_start
|
||||
AND appt_id || '|' || recur_id = p_appt_id || '|' || p_recur_id
|
||||
AND gelukt IS NULL
|
||||
AND NOT REGEXP_LIKE (att_mail, (SELECT COALESCE (fac_setting_pvalue, fac_setting_default)
|
||||
FROM fac_setting
|
||||
WHERE fac_setting_name = 'exchange_internal_email_regexp'));
|
||||
|
||||
@@ -25,7 +25,7 @@ INSERT INTO fac_version
|
||||
// Alles als een enorme BEGIN/END is over het netwerk immens sneller
|
||||
BEGIN
|
||||
|
||||
DEF_FAC_MESSAGE ('fac_m002', 'Facilitor '_CONCAT _DBV_STRING,'Facilitor '_CONCAT _DBV_STRING);
|
||||
DEF_FAC_MESSAGE ('fac_m002', 'Facilitor '|| _DBV_STRING,'Facilitor ' || _DBV_STRING);
|
||||
|
||||
/* FAC */
|
||||
DEF_FAC_MESSAGE ('fac_m001', 'Printvoorbeeld','Preview');
|
||||
@@ -1521,7 +1521,7 @@ DEF_FAC_MESSAGE ('PRS_C_PRS_KENMERK_MAX_C' , 'Nieuwe max.waarde van dit kenmerks
|
||||
DEF_FAC_MESSAGE ('PRS_C_PRS_KENMERK_MAX_P' , 'Nieuwe max.waarde van dit kenmerksoort voldoet niet aan alle personen.' ,'New max.value of this property-type does not satisfy all persons.');
|
||||
DEF_FAC_MESSAGE ('PRS_C_PRS_KENMERK_LENGTE', 'De lengte moet tussen 1 en 50 liggen.','Length must be between 1 and 50.');
|
||||
|
||||
DEF_FAC_MESSAGE ('PRS_I_PRS_BEDRIJFADRES2' , 'Combinatie bedrijf, district, locatie, opdrachttype, adrestype is niet uniek', 'Combination company, district, location, order type, address type is not unique');
|
||||
DEF_FAC_MESSAGE ('PRS_I_PRS_BEDRIJFADRES2' , 'Combinatie bedrijf, discipline, locatie, opdrachttype, adrestype is niet uniek', 'Combination company, discipline, location, ordertype, address type is not unique');
|
||||
|
||||
DEF_FAC_MESSAGE ('PRS_R_ALG_LOCATIE_KEY1', 'De referentie naar locatie is niet ingevuld.','The reference to location has not been entered.');
|
||||
DEF_FAC_MESSAGE ('PRS_R_ALG_LOCATIE_KEY2', 'Er zijn nog referenties van locatiebestekken naar locatie.','There are still references from location-plans to location.');
|
||||
@@ -1550,7 +1550,7 @@ DEF_FAC_MESSAGE ('PRS_R_PRS_EENHEID_KEY', 'Verwijderen niet toegestaan, er zijn
|
||||
DEF_FAC_MESSAGE ('PRS_R_PRS_CONTACTPERSOON_KEY', 'De contactpersoon is niet goed.','The contact person is invalid.');
|
||||
|
||||
DEF_FAC_MESSAGE ('PRS_U_PERSLIDWERKPLEK', 'De combinatie van persoon of afdeling en werkplek is niet uniek.','The combination of person or department and workplace is not unique.');
|
||||
DEF_FAC_MESSAGE ('PRS_U_PRS_AFDELING_UPPER', 'Het veld ''Naam'' is niet uniek.','The field ''Name'' is not unique.');
|
||||
DEF_FAC_MESSAGE ('PRS_U_PRS_AFDELING_UPPER', 'Het veld ''Code'' is niet uniek.','The field ''Code'' is not unique.');
|
||||
DEF_FAC_MESSAGE ('PRS_U_PRS_BEDRIJF_NAAM_UPPER', 'Het veld ''Naam'' is niet uniek.','The field ''Name'' is not unique.');
|
||||
DEF_FAC_MESSAGE ('PRS_U_PRS_BEDRIJFDIENSTLOC_KEY', 'De combinatie bedrijf, dienst, locatie en gebouw is niet uniek', 'The combination of company, service, location and building is not unique');
|
||||
DEF_FAC_MESSAGE ('PRS_U_PRS_BESTEK_UPPER_NR', 'Het veld ''Nummer'' is niet uniek.','The field ''Number'' is not unique.');
|
||||
@@ -2059,6 +2059,7 @@ DEF_FAC_SRTNOT('ORDNOL', 1, 'lcl_noti_ORDNOL', 'mld/mld_opdr.asp?opdr_key=', '0'
|
||||
DEF_FAC_SRTNOT('ORDAFM', 1, 'lcl_noti_ORDAFM', 'mld/mld_opdr.asp?opdr_key=', '0', 'opdracht', 10);
|
||||
DEF_FAC_SRTNOT('ORDNEW', 0, 'lcl_noti_ORDNEW', 'mld/mld_opdr.asp?opdr_key=', '0', 'opdracht', 10);
|
||||
DEF_FAC_SRTNOT('ORDUPD', 0, 'lcl_noti_ORDUPD', 'mld/mld_opdr.asp?opdr_key=', '0', 'opdracht', 60);
|
||||
DEF_FAC_SRTNOT('ORDSND', 0, 'lcl_noti_ORDSND', 'mld/mld_opdr.asp?opdr_key=', '0', 'opdracht', 60);
|
||||
DEF_FAC_SRTNOT('ORDDAT', 0, 'lcl_noti_ORDDAT', 'mld/mld_opdr.asp?opdr_key=', '0', 'opdracht', 60);
|
||||
DEF_FAC_SRTNOT('ORDPLD', 0, 'lcl_noti_ORDPLD', 'mld/mld_opdr.asp?opdr_key=', '0', 'opdracht', 60);
|
||||
DEF_FAC_SRTNOT('ORDPL2', 0, 'lcl_noti_ORDPL2', 'mld/mld_opdr.asp?opdr_key=', '0', 'opdracht', 60);
|
||||
@@ -2492,7 +2493,7 @@ DEF_IMPORT('WEB_PRSSYS', 'FLEX', 'TRANSPORT: Flexkenmerken',
|
||||
DEF_IMPORT('WEB_PRSSYS', 'USRDATA', 'FIP: Eigen tabellen', 'FIP: Own tables', 0)
|
||||
DEF_IMPORT('WEB_PRSSYS', 'SLE', 'FIP: Sleutels', 'FIP: Keys', 0)
|
||||
DEF_IMPORT('WEB_PRSSYS', 'FAQ', 'FIP: Kennisbank', 'FIP: Knowledge base', 0)
|
||||
DEF_IMPORT('WEB_PRSSYS', 'CNT', 'FIP: Contracten', 'FIP: Contracts', 0)
|
||||
DEF_IMPORT('WEB_PRSSYS', 'CNT', 'FIP: Contracten', 'FIP: Contracts', 1)
|
||||
DEF_IMPORT('WEB_PRSSYS', 'MLDAFMTXT', 'FIP: Afmeldteksten', 'FIP: Standard texts', 0)
|
||||
DEF_IMPORT('WEB_PRSSYS', 'BEDRIJFADRES', 'FIP: Aanvullen technische bedrijfadressen', 'FIP: Add company technical addresses', 0)
|
||||
DEF_IMPORT('WEB_LCLSYS', 'TRANSLATION', 'Import of FACILITOR translation file', 'Import of FACILITOR translation file', 0)
|
||||
@@ -2597,6 +2598,8 @@ DEF_RAPPORT('BASIS', 'WEB_UDRMAN', 32, 'ins_v_udr_sensorhistorie', 'UDR: Sensor
|
||||
'UDR: Sensors recent history', 'Basic report for recent values of sensors')
|
||||
DEF_RAPPORT('BASIS', '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('BASIS', 'WEB_UDRMAN', 32, 'ins_v_udr_sensordata', 'UDR: Actuele Sensordata', 'Basisrapport voor actuele data van sensoren',
|
||||
'UDR: Actual Sensor data', 'Basic report current data from sensors')
|
||||
DEF_RAPPORT('BASIS', '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('BASIS', 'WEB_UDRMAN', 32, 'bez_v_udr_reserveringbezoeker', 'UDR: Bezoekers bij reserveringen', 'Basisrapport voor bezoekers met reserveringsgegevens',
|
||||
@@ -2698,6 +2701,7 @@ DEF_MENUITEM(1, 'lcl_menu_cht_incoming' , '', 'CHT', 'appl/chat/ChatterA
|
||||
DEF_MENUITEM(1, 'lcl_menu_mld_fo_overview' , '', 'MLD', 'appl/mld/mld_search.asp?urole=fo', 0, 0, 'WEB_MLDFOF', 'R', '1', '');
|
||||
DEF_MENUITEM(1, 'lcl_menu_mld_fo_1' , '', 'MLD', 'appl/mld/mld_melding.asp?urole=fo', 1, 0, 'WEB_MLDFOF', 'W', '1', '');
|
||||
DEF_MENUITEM(1, 'lcl_menu_mld_fo_2' , '', 'MLD', 'appl/mld/mld_melding.asp?urole=fo', 0, 0, 'WEB_MLDFOF', 'W', '0', '');
|
||||
DEF_MENUITEM(1, 'lcl_menu_fac_jobs_templates_fo', '', 'MLD', 'appl/fac/job_search.asp?urole=fo&template=1', 0, 0, 'WEB_MLDFOF', 'W', '1', '');
|
||||
DEF_MENUITEM(1, 'lcl_menu_mld_concepts' , '', 'MLD', 'appl/mld/mld_search.asp?concept=1&urole=fo', 0, 0, 'WEB_MLDMSU', 'R', '0', '');
|
||||
DEF_MENUITEM(1, 'lcl_menu_mld_notes' , '', 'MLD', 'appl/mld/mld_show_note.asp?urole=fo', 0, 0, 'WEB_MLDFOF', 'R', '0', '');
|
||||
DEF_MENUITEM(1, 'lcl_menu_mld_bo_call_center' , '', 'MLD', 'appl/mld/mld_search.asp?urole=bo', 0, 0, 'WEB_MLDBOF', 'R', '1', '');
|
||||
@@ -2862,7 +2866,7 @@ DEF_MENUITEM(2, 'lcl_menu_alg_terreinkenmerken' , '', 'ALG', 'appl/mgt/alg_kenme
|
||||
DEF_MENUITEM(2, 'lcl_menu_alg_gebouwkenmerken' , '', 'ALG', 'appl/mgt/alg_kenmerk.asp?level=G', 0, 0, 'WEB_ALGMGT', 'W', '1', '');
|
||||
DEF_MENUITEM(2, 'lcl_menu_alg_verdiepkenmerken' , '', 'ALG', 'appl/mgt/alg_kenmerk.asp?level=V', 0, 0, 'WEB_ALGMGT', 'W', '1', '');
|
||||
DEF_MENUITEM(2, 'lcl_menu_alg_ruimtekenmerken' , '', 'ALG', 'appl/mgt/alg_kenmerk.asp?level=R', 0, 0, 'WEB_ALGMGT', 'W', '1', '');
|
||||
DEF_MENUITEM(2, 'lcl_menu_alg_kenmerkdomeinen' , '', 'ALG', 'appl/fac/fac_kenmerkdomein_search.asp?fkdmodule=ALG', 0, 0, 'WEB_ALGMGT', 'W', '1', '');
|
||||
//DEF_MENUITEM(2, 'lcl_menu_alg_kenmerkdomeinen' , '', 'ALG', 'appl/fac/fac_kenmerkdomein_search.asp?fkdmodule=ALG', 0, 0, 'WEB_ALGMGT', 'W', '1', '');
|
||||
DEF_MENUITEM(2, 'lcl_menu_alg_setting' , '', 'ALG', 'appl/fac/fac_setting_search.asp?module=ALG', 0, 0, 'WEB_ALGMGT', 'W', '0', '');
|
||||
|
||||
DEF_MENUKOP(2, 'lcl_facmgt_prs', 'fa-users');
|
||||
@@ -2873,7 +2877,7 @@ DEF_MENUITEM(2, 'lcl_menu_prs_bedrijfkenmerken' , '', 'PRS', 'appl/mgt/prs_kenme
|
||||
DEF_MENUITEM(2, 'lcl_menu_prs_afdelingskenmerke', '', 'PRS', 'appl/mgt/prs_kenmerk.asp?level=A', 0, 0, 'WEB_PRSMGT', 'W', '1', '');
|
||||
DEF_MENUITEM(2, 'lcl_menu_prs_persoonskenmerken', '', 'PRS', 'appl/mgt/prs_kenmerk.asp?level=P', 0, 0, 'WEB_PRSMGT', 'W', '1', '');
|
||||
DEF_MENUITEM(2, 'lcl_menu_prs_contactkenmerken' , '', 'PRS', 'appl/mgt/prs_kenmerk.asp?level=C', 0, 0, 'WEB_PRSMGT', 'W', '1', '');
|
||||
DEF_MENUITEM(2, 'lcl_menu_prs_kenmerkdomeinen' , '', 'PRS', 'appl/fac/fac_kenmerkdomein_search.asp?fkdmodule=PRS', 0, 0, 'WEB_PRSMGT', 'W', '1', '');
|
||||
//DEF_MENUITEM(2, 'lcl_menu_prs_kenmerkdomeinen' , '', 'PRS', 'appl/fac/fac_kenmerkdomein_search.asp?fkdmodule=PRS', 0, 0, 'WEB_PRSMGT', 'W', '1', '');
|
||||
DEF_MENUITEM(2, 'lcl_menu_prs_setting' , '', 'PRS', 'appl/fac/fac_setting_search.asp?module=PRS', 0, 0, 'WEB_PRSMGT', 'W', '0', '');
|
||||
|
||||
DEF_MENUKOP(2, 'lcl_facmgt_ins', 'fa-fire-extinguisher');
|
||||
@@ -2886,7 +2890,7 @@ DEF_MENUITEM(2, 'lcl_menu_ins_srtcontrole' , '', 'INS', 'appl/mgt/ins_srtco
|
||||
DEF_MENUITEM(2, 'lcl_menu_ins_kenmerken' , '', 'INS', 'appl/mgt/ins_kenmerk.asp', 0, 0, 'WEB_INSMGT', 'W', '1', '');
|
||||
DEF_MENUITEM(2, 'lcl_menu_ins_taakkenmerken' , '', 'CTR', 'appl/mgt/ins_kenmerk.asp?niveau=T', 0, 0, 'WEB_CTRMGT', 'W', '1', '');
|
||||
DEF_MENUITEM(2, 'lcl_menu_ins_kenmerksoorten' , '', 'INS', 'appl/mgt/ins_srtkenmerk.asp', 0, 0, 'WEB_INSMGT', 'W', '1', '');
|
||||
DEF_MENUITEM(2, 'lcl_menu_ins_kenmerkdomeinen' , '', 'INS', 'appl/fac/fac_kenmerkdomein_search.asp?fkdmodule=INS', 0, 0, 'WEB_INSMGT', 'W', '1', '');
|
||||
//DEF_MENUITEM(2, 'lcl_menu_ins_kenmerkdomeinen' , '', 'INS', 'appl/fac/fac_kenmerkdomein_search.asp?fkdmodule=INS', 0, 0, 'WEB_INSMGT', 'W', '1', '');
|
||||
DEF_MENUITEM(2, 'lcl_menu_ins_setting' , '', 'INS', 'appl/fac/fac_setting_search.asp?module=INS', 0, 0, 'WEB_INSMGT', 'W', '0', '');
|
||||
|
||||
DEF_MENUKOP(2, 'lcl_facmgt_mld', 'fa-desktop');
|
||||
@@ -2902,10 +2906,12 @@ DEF_MENUITEM(2, 'lcl_menu_mld_opdrachttypes' , '', 'MLD', 'appl/mgt/mld_typeo
|
||||
DEF_MENUITEM(2, 'lcl_menu_mld_improdopdr' , '', 'MLD', 'appl/mgt/mld_impropdr.asp', 0, 0, 'WEB_MLDMGT', 'W', '1', '');
|
||||
DEF_MENUITEM(2, 'lcl_menu_mld_opdrkosten' , '', 'MLD', 'appl/mgt/mld_kosten.asp', 0, 0, 'WEB_MLDMGT', 'W', '1', '');
|
||||
DEF_MENUITEM(2, 'lcl_menu_mld_workflows' , '', 'MLD', 'appl/mgt/mld_workflow.asp', 0, 0, 'WEB_MLDMGT', 'W', '1', '');
|
||||
DEF_MENUITEM(2, 'lcl_menu_fac_jobs_templates' , '', 'MLD', 'appl/fac/job_search.asp?template=1', 0, 0, 'WEB_MLDMGT', 'W', '1', '');
|
||||
DEF_MENUITEM(2, 'lcl_menu_mld_email_setting' , '', 'MLD', 'appl/mgt/fac_email_setting.asp', 0, 0, 'WEB_MLDMGT', 'W', '1', '');
|
||||
DEF_MENUITEM(2, 'lcl_menu_mld_kenmerken_m' , '', 'MLD', 'appl/mgt/mld_kenmerk.asp?niveau=M', 0, 0, 'WEB_MLDMGT', 'W', '1', '');
|
||||
DEF_MENUITEM(2, 'lcl_menu_mld_kenmerken' , '', 'MLD', 'appl/mgt/mld_kenmerk.asp?niveau=O', 0, 0, 'WEB_MLDMGT', 'W', '1', '');
|
||||
DEF_MENUITEM(2, 'lcl_menu_mld_kenmerksoorten' , '', 'MLD', 'appl/mgt/mld_srtkenmerk.asp', 0, 0, 'WEB_MLDMGT', 'W', '1', '');
|
||||
DEF_MENUITEM(2, 'lcl_menu_mld_kenmerkdomeinen' , '', 'MLD', 'appl/fac/fac_kenmerkdomein_search.asp?fkdmodule=MLD', 0, 0, 'WEB_MLDMGT', 'W', '1', '');
|
||||
//DEF_MENUITEM(2, 'lcl_menu_mld_kenmerkdomeinen' , '', 'MLD', 'appl/fac/fac_kenmerkdomein_search.asp?fkdmodule=MLD', 0, 0, 'WEB_MLDMGT', 'W', '1', '');
|
||||
DEF_MENUITEM(2, 'lcl_menu_mld_setting' , '', 'MLD', 'appl/fac/fac_setting_search.asp?module=MLD', 0, 0, 'WEB_MLDMGT', 'W', '0', '');
|
||||
|
||||
DEF_MENUKOP(2, 'lcl_facmgt_res', 'fa-calendar');
|
||||
@@ -2923,7 +2929,7 @@ DEF_MENUITEM(2, 'lcl_menu_res_opstellingen' , '', 'RES', 'appl/mgt/res_opste
|
||||
DEF_MENUITEM(2, 'lcl_menu_res_perioden' , '', 'RES', 'appl/mgt/res_cyclus.asp', 0, 0, 'WEB_RESMGT', 'W', '1', '');
|
||||
DEF_MENUITEM(2, 'lcl_menu_res_kenmerken' , '', 'RES', 'appl/mgt/res_kenmerk.asp', 0, 0, 'WEB_RESMGT', 'W', '1', '');
|
||||
DEF_MENUITEM(2, 'lcl_menu_res_kenmerksoorten' , '', 'RES', 'appl/mgt/res_srtkenmerk.asp', 0, 0, 'WEB_RESMGT', 'W', '1', '');
|
||||
DEF_MENUITEM(2, 'lcl_menu_res_kenmerkdomeinen' , '', 'RES', 'appl/fac/fac_kenmerkdomein_search.asp?fkdmodule=RES', 0, 0, 'WEB_RESMGT', 'W', '1', '');
|
||||
//DEF_MENUITEM(2, 'lcl_menu_res_kenmerkdomeinen' , '', 'RES', 'appl/fac/fac_kenmerkdomein_search.asp?fkdmodule=RES', 0, 0, 'WEB_RESMGT', 'W', '1', '');
|
||||
DEF_MENUITEM(2, 'lcl_menu_res_setting' , '', 'RES', 'appl/fac/fac_setting_search.asp?module=RES', 0, 0, 'WEB_RESMGT', 'W', '0', '');
|
||||
|
||||
DEF_MENUKOP(2, 'lcl_facmgt_bes', 'fa-cart-plus');
|
||||
@@ -2934,7 +2940,7 @@ DEF_MENUITEM(2, 'lcl_menu_bes_staffeltabel' , '', 'BES', 'appl/mgt/bes_staff
|
||||
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', '');
|
||||
DEF_MENUITEM(2, 'lcl_menu_bes_kenmerkdomeinen' , '', 'BES', 'appl/fac/fac_kenmerkdomein_search.asp?fkdmodule=BES', 0, 0, 'WEB_BESMGT', 'W', '1', '');
|
||||
//DEF_MENUITEM(2, 'lcl_menu_bes_kenmerkdomeinen' , '', 'BES', 'appl/fac/fac_kenmerkdomein_search.asp?fkdmodule=BES', 0, 0, 'WEB_BESMGT', 'W', '1', '');
|
||||
DEF_MENUITEM(2, 'lcl_menu_bes_importeren' , '', 'BES', 'appl/mgt/fac_import_app.asp', 0, 0, 'WEB_BESMGT', 'W', '1', '');
|
||||
DEF_MENUITEM(2, 'lcl_menu_bes_setting' , '', 'BES', 'appl/fac/fac_setting_search.asp?module=BES', 0, 0, 'WEB_BESMGT', 'W', '0', '');
|
||||
|
||||
@@ -2943,7 +2949,7 @@ DEF_MENUITEM(2, 'lcl_menu_cnt_contractsoorten' , '', 'CNT', 'appl/mgt/cnt_disci
|
||||
DEF_MENUITEM(2, 'lcl_menu_cnt_termijnen' , '', 'CNT', 'appl/mgt/cnt_termijn.asp', 0, 0, 'WEB_CNTMGT', 'W', '1', '');
|
||||
DEF_MENUITEM(2, 'lcl_menu_cnt_kenmerken' , '', 'CNT', 'appl/mgt/cnt_kenmerk.asp', 0, 0, 'WEB_CNTMGT', 'W', '1', '');
|
||||
DEF_MENUITEM(2, 'lcl_menu_cnt_kenmerksoorten' , '', 'CNT', 'appl/mgt/cnt_srtkenmerk.asp', 0, 0, 'WEB_CNTMGT', 'W', '1', '');
|
||||
DEF_MENUITEM(2, 'lcl_menu_cnt_kenmerkdomeinen' , '', 'CNT', 'appl/fac/fac_kenmerkdomein_search.asp?fkdmodule=CNT', 0, 0, 'WEB_CNTMGT', 'W', '1', '');
|
||||
//DEF_MENUITEM(2, 'lcl_menu_cnt_kenmerkdomeinen' , '', 'CNT', 'appl/fac/fac_kenmerkdomein_search.asp?fkdmodule=CNT', 0, 0, 'WEB_CNTMGT', 'W', '1', '');
|
||||
DEF_MENUITEM(2, 'lcl_menu_cnt_setting' , '', 'CNT', 'appl/fac/fac_setting_search.asp?module=CNT', 0, 0, 'WEB_CNTMGT', 'W', '0', '');
|
||||
|
||||
DEF_MENUKOP(2, 'lcl_facmgt_fin', 'fa-euro-sign');
|
||||
@@ -2956,7 +2962,7 @@ DEF_MENUITEM(2, 'lcl_menu_fin_profielen' , '', 'FIN', 'appl/mgt/fac_profi
|
||||
DEF_MENUITEM(2, 'lcl_menu_fin_profiel_limieten' , '', 'FIN', 'appl/mgt/fac_profielwaarde.asp', 0, 0, 'WEB_FINMSU', 'W', '1', '');
|
||||
DEF_MENUITEM(2, 'lcl_menu_fin_btwtabellen' , '', 'FIN', 'appl/mgt/fin_btwtabel.asp', 0, 0, 'WEB_FINMSU', 'W', '1', '');
|
||||
DEF_MENUITEM(2, 'lcl_menu_fin_kenmerken' , '', 'FIN', 'appl/mgt/fin_kenmerk.asp', 0, 0, 'WEB_FINMGT', 'W', '1', '');
|
||||
DEF_MENUITEM(2, 'lcl_menu_fin_kenmerkdomeinen' , '', 'FIN', 'appl/fac/fac_kenmerkdomein_search.asp?fkdmodule=FIN', 0, 0, 'WEB_FINMGT', 'W', '1', '');
|
||||
//DEF_MENUITEM(2, 'lcl_menu_fin_kenmerkdomeinen' , '', 'FIN', 'appl/fac/fac_kenmerkdomein_search.asp?fkdmodule=FIN', 0, 0, 'WEB_FINMGT', 'W', '1', '');
|
||||
DEF_MENUITEM(2, 'lcl_menu_fin_setting' , '', 'FIN', 'appl/fac/fac_setting_search.asp?module=FIN', 0, 0, 'WEB_FINMGT', 'W', '0', '');
|
||||
|
||||
DEF_MENUKOP(2, 'lcl_facmgt_fg', 'fa-map');
|
||||
@@ -2973,13 +2979,13 @@ DEF_MENUKOP(2, 'lcl_facmgt_bez', 'fa-user-plus');
|
||||
DEF_MENUITEM(2, 'lcl_menu_bez_actie_groep' , '', 'BEZ', 'appl/mgt/bez_actie_groep.asp', 0, 0, 'WEB_BEZMGT', 'W', '1', '');
|
||||
DEF_MENUITEM(2, 'lcl_menu_bez_acties' , '', 'BEZ', 'appl/mgt/bez_actie.asp', 0, 0, 'WEB_BEZMGT', 'W', '1', '');
|
||||
DEF_MENUITEM(2, 'lcl_menu_bez_kenmerken' , '', 'BEZ', 'appl/mgt/bez_kenmerk.asp', 0, 0, 'WEB_BEZMGT', 'W', '1', '');
|
||||
DEF_MENUITEM(2, 'lcl_menu_bez_kenmerkdomeinen' , '', 'BEZ', 'appl/fac/fac_kenmerkdomein_search.asp?fkdmodule=BEZ', 0, 0, 'WEB_BEZMGT', 'W', '1', '');
|
||||
//DEF_MENUITEM(2, 'lcl_menu_bez_kenmerkdomeinen' , '', 'BEZ', 'appl/fac/fac_kenmerkdomein_search.asp?fkdmodule=BEZ', 0, 0, 'WEB_BEZMGT', 'W', '1', '');
|
||||
DEF_MENUITEM(2, 'lcl_menu_bez_setting' , '', 'BEZ', 'appl/fac/fac_setting_search.asp?module=BEZ', 0, 0, 'WEB_BEZMGT', 'W', '0', '');
|
||||
|
||||
DEF_MENUKOP(2, 'lcl_facmgt_faq', 'fa-info-circle');
|
||||
DEF_MENUITEM(2, 'lcl_menu_faq_catalogi' , '', 'FAQ', 'appl/mgt/faq_discipline.asp', 0, 0, 'WEB_FAQMSU', 'W', '1', '');
|
||||
DEF_MENUITEM(2, 'lcl_menu_faq_kenmerk' , '', 'FAQ', 'appl/mgt/faq_kenmerk.asp', 0, 0, 'WEB_FAQMGT', 'W', '1', '');
|
||||
DEF_MENUITEM(2, 'lcl_menu_faq_kenmerkdomeinen' , '', 'FAQ', 'appl/fac/fac_kenmerkdomein_search.asp?fkdmodule=FAQ', 0, 0, 'WEB_FAQMGT', 'W', '1', '');
|
||||
//DEF_MENUITEM(2, 'lcl_menu_faq_kenmerkdomeinen' , '', 'FAQ', 'appl/fac/fac_kenmerkdomein_search.asp?fkdmodule=FAQ', 0, 0, 'WEB_FAQMGT', 'W', '1', '');
|
||||
DEF_MENUITEM(2, 'lcl_menu_faq_setting' , '', 'FAQ', 'appl/fac/fac_setting_search.asp?module=FAQ', 0, 0, 'WEB_FAQMGT', 'W', '0', '');
|
||||
|
||||
DEF_MENUKOP(2, 'lcl_facmgt_reports', 'fa-memo-circle-check');
|
||||
@@ -2993,7 +2999,10 @@ DEF_MENUKOP(2, 'lcl_facmgt_overig', 'fa-cogs');
|
||||
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_cht_chatkanalen' , '', 'CHT', 'appl/mgt/cht_discipline.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_kenmerkdomeinen' , '', 'FAC', 'appl/fac/fac_kenmerkdomein_search.asp', 0, 0, 'WEB_PRSSYS', 'W', '1', '');
|
||||
|
||||
DEF_MENUITEM(2, 'lcl_menu_prs_bedrijf_system' , '', 'FAC', 'appl/prs/prs_bedrijf_search.asp?intern=2', 0, 0, 'WEB_PRSSYS', 'W', '1', '');
|
||||
DEF_MENUITEM(2, 'lcl_menu_system_adresses' , '', 'FAC', 'appl/mgt/prs_bedrijfadres.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_jobs' , '', 'FAC', 'appl/fac/job_search.asp', 0, 0, 'WEB_PRSSYS', 'W', '1', '');
|
||||
DEF_MENUITEM(2, 'lcl_menu_fac_importfuncties' , '', 'FAC', 'appl/imp/imp_search.asp', 0, 0, 'WEB_IMPORT', 'W', '1', '');
|
||||
|
||||
790
FAC/FAC_LCL.SRC
790
FAC/FAC_LCL.SRC
File diff suppressed because it is too large
Load Diff
935
FAC/FAC_PAC.SRC
935
FAC/FAC_PAC.SRC
File diff suppressed because it is too large
Load Diff
@@ -1252,9 +1252,18 @@ CREATE OR REPLACE PACKAGE BODY ano AS
|
||||
END IF;
|
||||
|
||||
UPDATE prs_perslid
|
||||
SET prs_perslid_apikey = 'TEST_' || dbms_utility.get_hash_value(prs_perslid_apikey , 0, power(2,24))
|
||||
SET prs_perslid_apikey = 'TEST_' || dbms_utility.get_hash_value(prs_perslid_apikey, 0, power(2,24))
|
||||
WHERE prs_perslid_apikey IS NOT NULL;
|
||||
|
||||
-- Deze weer kloppend maken voor als je lokaal gaat testen
|
||||
UPDATE fac_setting
|
||||
SET fac_setting_pvalue =
|
||||
(SELECT prs_perslid_apikey
|
||||
FROM prs_perslid
|
||||
WHERE prs_perslid_oslogin = '_PUTORDERS')
|
||||
WHERE fac_setting_pvalue IS NULL
|
||||
AND fac_setting_name = 'puo_fclt_web_apikey';
|
||||
|
||||
DELETE FROM fac_imp_perslid;
|
||||
|
||||
-- Indien mogelijk de naam van contactpersoon overnemen van prs_perslid.
|
||||
@@ -1321,6 +1330,7 @@ CREATE OR REPLACE PACKAGE BODY ano AS
|
||||
WHERE bez_afspraak_bedrijf IS NOT NULL
|
||||
AND bez_afspraak_bedrijf <> 'Anoniem';
|
||||
|
||||
-- Alleen de externe bedrijven
|
||||
UPDATE prs_bedrijf
|
||||
SET prs_bedrijf_naam = ano.naam(prs_bedrijf_naam, 10)
|
||||
, prs_bedrijf_post_adres = ano.adres(prs_bedrijf_post_adres)
|
||||
@@ -1335,7 +1345,8 @@ CREATE OR REPLACE PACKAGE BODY ano AS
|
||||
, prs_bedrijf_email = ano.email(prs_bedrijf_email)
|
||||
, prs_bedrijf_contact_persoon = ano.naam(prs_bedrijf_contact_persoon)
|
||||
, prs_bedrijf_contact_telefoon = ano.telefoon(prs_bedrijf_contact_telefoon)
|
||||
, prs_bedrijf_contact_fax = ano.telefoon(prs_bedrijf_contact_fax);
|
||||
, prs_bedrijf_contact_fax = ano.telefoon(prs_bedrijf_contact_fax)
|
||||
WHERE prs_bedrijf_intern IS NULL;
|
||||
|
||||
UPDATE prs_bedrijfadres
|
||||
SET prs_bedrijfadres_url = ano.email(prs_bedrijfadres_url)
|
||||
|
||||
2096
FAC/FAC_PACF.SRC
2096
FAC/FAC_PACF.SRC
File diff suppressed because it is too large
Load Diff
@@ -91,49 +91,53 @@
|
||||
o_ktable_kshowexpr OUT VARCHAR2
|
||||
)
|
||||
AS
|
||||
l_module VARCHAR2 (3);
|
||||
l_module VARCHAR2 (4);
|
||||
BEGIN
|
||||
l_module := pmodule;
|
||||
o_kvtable_kniveau := NULL;
|
||||
CASE
|
||||
WHEN pmodule = 'ALG'
|
||||
THEN o_kvtable := 'alg_onrgoedkenmerk';
|
||||
THEN o_kvtable := 'alg_onrgoedkenmerk';
|
||||
o_kvtable_refkey := 'alg_onrgoed_key';
|
||||
o_kvtable_kniveau := 'alg_onrgoed_niveau';
|
||||
WHEN pmodule = 'BEZ'
|
||||
THEN o_kvtable := 'bez_kenmerkwaarde';
|
||||
THEN o_kvtable := 'bez_kenmerkwaarde';
|
||||
o_kvtable_refkey := 'bez_bezoekers_key';
|
||||
WHEN pmodule = 'BES'
|
||||
THEN o_kvtable := 'bes_kenmerkbestell';
|
||||
THEN o_kvtable := 'bes_kenmerkbestell';
|
||||
o_kvtable_refkey := 'bes_bestelling_key';
|
||||
WHEN pmodule = 'CNT'
|
||||
THEN o_kvtable := 'cnt_kenmerkcontract';
|
||||
THEN o_kvtable := 'cnt_kenmerkcontract';
|
||||
o_kvtable_refkey := 'cnt_contract_key';
|
||||
WHEN pmodule = 'FAQ'
|
||||
THEN o_kvtable := 'faq_kenmerkwaarde';
|
||||
THEN o_kvtable := 'faq_kenmerkwaarde';
|
||||
o_kvtable_refkey := 'fac_faq_key';
|
||||
WHEN pmodule = 'FIN'
|
||||
THEN o_kvtable := 'fin_kenmerkfactuur';
|
||||
THEN o_kvtable := 'fin_kenmerkfactuur';
|
||||
o_kvtable_refkey := 'fin_factuur_key';
|
||||
WHEN pmodule = 'FINR'
|
||||
THEN o_kvtable := 'fin_kenmerkfactregel';
|
||||
o_kvtable_refkey := 'fin_factuurregel_key';
|
||||
l_module := 'FIN';
|
||||
WHEN pmodule = 'CIL' OR pmodule = 'SLE'
|
||||
THEN o_kvtable := 'ins_kenmerkdeel';
|
||||
THEN o_kvtable := 'ins_kenmerkdeel';
|
||||
o_kvtable_refkey := 'ins_deel_key';
|
||||
WHEN pmodule = 'INS'
|
||||
THEN o_kvtable := 'ins_kenmerkdeel';
|
||||
THEN o_kvtable := 'ins_kenmerkdeel';
|
||||
o_kvtable_refkey := 'ins_deel_key';
|
||||
WHEN pmodule = 'MLD'
|
||||
THEN o_kvtable := 'mld_kenmerkmelding';
|
||||
THEN o_kvtable := 'mld_kenmerkmelding';
|
||||
o_kvtable_refkey := 'mld_melding_key';
|
||||
WHEN pmodule = 'OPD'
|
||||
THEN o_kvtable := 'mld_kenmerkopdr';
|
||||
THEN o_kvtable := 'mld_kenmerkopdr';
|
||||
o_kvtable_refkey := 'mld_opdr_key';
|
||||
l_module := 'MLD';
|
||||
WHEN pmodule = 'PRS'
|
||||
THEN o_kvtable := 'prs_kenmerklink';
|
||||
THEN o_kvtable := 'prs_kenmerklink';
|
||||
o_kvtable_refkey := 'prs_link_key';
|
||||
o_kvtable_kniveau := 'prs_kenmerklink_niveau';
|
||||
WHEN pmodule = 'RES'
|
||||
THEN o_kvtable := 'res_kenmerkwaarde';
|
||||
THEN o_kvtable := 'res_kenmerkwaarde';
|
||||
o_kvtable_refkey := 'res_rsv_ruimte_key';
|
||||
END CASE;
|
||||
IF l_module = 'RES'
|
||||
@@ -165,7 +169,7 @@
|
||||
l_kcolumnname_kkey VARCHAR2 (30);
|
||||
l_kcolumnname_delete VARCHAR2 (30);
|
||||
l_kcolumnname_showexpr VARCHAR2 (30);
|
||||
l_module VARCHAR2 (3);
|
||||
l_module VARCHAR2 (4);
|
||||
BEGIN
|
||||
IF p_optional = 1 AND p_ref_key IS NULL
|
||||
THEN
|
||||
@@ -388,7 +392,7 @@
|
||||
p_waarde IN VARCHAR2,
|
||||
p_multi IN NUMBER DEFAULT 0)
|
||||
AS
|
||||
l_module VARCHAR2 (3);
|
||||
l_module VARCHAR2 (4);
|
||||
l_sql_kenm VARCHAR2 (4500);
|
||||
l_sql_upsert VARCHAR2 (4500);
|
||||
l_rowsprocessed NUMBER DEFAULT 0;
|
||||
@@ -464,7 +468,7 @@
|
||||
p_niveau IN VARCHAR2,
|
||||
p_waardekey IN NUMBER DEFAULT NULL)
|
||||
AS
|
||||
l_module VARCHAR2 (3);
|
||||
l_module VARCHAR2 (4);
|
||||
l_sql_delete VARCHAR2 (4500);
|
||||
l_rowsprocessed NUMBER DEFAULT 0;
|
||||
l_cursor_delete INTEGER DEFAULT DBMS_SQL.open_cursor;
|
||||
@@ -510,7 +514,7 @@
|
||||
FUNCTION getflexexprtype (pmodule IN VARCHAR2,
|
||||
p_kenmerk_key IN NUMBER) RETURN VARCHAR2
|
||||
IS
|
||||
l_module VARCHAR2 (3);
|
||||
l_module VARCHAR2 (4);
|
||||
l_sql_expr VARCHAR2 (4500);
|
||||
l_kenmerk_tablename VARCHAR2 (30);
|
||||
l_kenmval_tablename VARCHAR2 (30);
|
||||
@@ -545,7 +549,7 @@
|
||||
FUNCTION getflexexpression (pmodule IN VARCHAR2,
|
||||
p_kenmerk_key IN NUMBER) RETURN VARCHAR2
|
||||
IS
|
||||
l_module VARCHAR2 (3);
|
||||
l_module VARCHAR2 (4);
|
||||
l_sql_expr VARCHAR2 (4500);
|
||||
l_kenmerk_tablename VARCHAR2 (30);
|
||||
l_kenmval_tablename VARCHAR2 (30);
|
||||
@@ -571,7 +575,7 @@
|
||||
FUNCTION getflexshowexpr (pmodule IN VARCHAR2,
|
||||
p_kenmerk_key IN NUMBER) RETURN VARCHAR2
|
||||
IS
|
||||
l_module VARCHAR2 (3);
|
||||
l_module VARCHAR2 (4);
|
||||
l_sql_expr VARCHAR2 (4500);
|
||||
l_kenmerk_tablename VARCHAR2 (30);
|
||||
l_kenmval_tablename VARCHAR2 (30);
|
||||
@@ -641,7 +645,7 @@
|
||||
END;
|
||||
PROCEDURE evaluateflexexpressions (pmodule IN VARCHAR2, prefkey IN NUMBER, puserkey IN NUMBER, psavetodb IN NUMBER)
|
||||
AS
|
||||
l_module VARCHAR2 (3);
|
||||
l_module VARCHAR2 (4);
|
||||
l_sql_exprval VARCHAR2 (4500);
|
||||
l_rowsprocessed NUMBER DEFAULT 0;
|
||||
l_cursor_exprval NUMBER; -- INTEGER DEFAULT DBMS_SQL.open_cursor;
|
||||
@@ -771,7 +775,8 @@
|
||||
'Error binding flex-expression ' || pmodule|| ' kkey:' || expr.fac_kenmwaarden_kenmerk_key
|
||||
|| ' type: ' || l_kenmerktype || ' val: ' || l_kenmerkwaarde
|
||||
|| CHR(10) || SQLERRM
|
||||
|| CHR(10) || l_sql_exprval);
|
||||
|| CHR(10) || l_sql_exprval
|
||||
|| CHR(10) || 'Original: ' || l_expr);
|
||||
END;
|
||||
END LOOP;
|
||||
BEGIN
|
||||
@@ -782,7 +787,8 @@
|
||||
-20001,
|
||||
'Error executing flex-expression ' || pmodule|| ' kkey:' || expr.fac_kenmwaarden_kenmerk_key
|
||||
|| CHR(10) || SQLERRM
|
||||
|| CHR(10) || l_sql_exprval);
|
||||
|| CHR(10) || l_sql_exprval
|
||||
|| CHR(10) || 'Original: ' || l_expr);
|
||||
END;
|
||||
IF expr.fac_kenmwaarden_kenmerktype = 'N'
|
||||
THEN
|
||||
|
||||
@@ -8,6 +8,27 @@
|
||||
*
|
||||
*/
|
||||
|
||||
/* Als tijdens een upgrade de PROCEDURE waittask loopt dan 'hangt' de package
|
||||
recreate totdat de timeout van waittask optreedt (max 60 seconde).
|
||||
Door hier even een willekeurige taak te starten eindigt waittask even
|
||||
en hebben wij de kans te upgraden.
|
||||
Van de PUTORDERS taak weten we dat het vrij onschuldig is als die een
|
||||
keer wordt gestart zonder dat er eigenlijk iets te doen is.
|
||||
In omgevingen waar de tasker niet draait zal geen fac_task record zijn
|
||||
en dan doet dit statement ook niets.
|
||||
*/
|
||||
UPDATE fac_task
|
||||
SET fac_task_nextrun = SYSDATE
|
||||
WHERE fac_task_key =
|
||||
(SELECT MIN (fac_task_key)
|
||||
FROM fac_task tt, fac_cust tsko
|
||||
WHERE tt.fac_cust_key = tsko.fac_cust_key
|
||||
AND fac_cust_enabled > 0
|
||||
AND BITAND (fac_task_flags, 1) = 1
|
||||
AND fac_task_code = 'PUTORDERS');
|
||||
-- Zodat de externe tasker het ziet:
|
||||
COMMIT;
|
||||
|
||||
CREATE OR REPLACE PACKAGE tsk
|
||||
AS
|
||||
PROCEDURE registercust (p_customerid VARCHAR2 DEFAULT NULL,
|
||||
@@ -17,6 +38,8 @@ AS
|
||||
PROCEDURE starttask (p_taskcode VARCHAR2,
|
||||
p_nextrun DATE DEFAULT SYSDATE,
|
||||
p_customerid VARCHAR2 DEFAULT NULL);
|
||||
PROCEDURE waittask (pinterval NUMBER DEFAULT 5,
|
||||
ptimeout NUMBER DEFAULT 300);
|
||||
END tsk;
|
||||
/
|
||||
|
||||
@@ -28,24 +51,24 @@ AS
|
||||
tsk_master_schema VARCHAR(32);
|
||||
custid fac_version.fac_version_cust%TYPE;
|
||||
selfid fac_version.fac_version_cust%TYPE;
|
||||
selfschema fac_version.fac_version_schema%TYPE;
|
||||
fac_schema fac_version.fac_version_schema%TYPE;
|
||||
currentdb_schema VARCHAR2 (64);
|
||||
tsksql VARCHAR2 (4000);
|
||||
cursor_name INTEGER;
|
||||
rows_processed INTEGER;
|
||||
BEGIN
|
||||
SELECT fac_version_cust,
|
||||
fac_version_schema
|
||||
INTO selfid,
|
||||
selfschema
|
||||
fac_schema
|
||||
FROM fac_version;
|
||||
custid := COALESCE(p_customerid, selfid);
|
||||
tsk_master_schema := fac.getsetting ('tsk_master_schema');
|
||||
currentdb_schema := SYS_CONTEXT ('USERENV', 'CURRENT_SCHEMA');
|
||||
|
||||
IF tsk_master_schema IS NULL OR tsk_master_schema = USER
|
||||
IF tsk_master_schema IS NULL OR tsk_master_schema = '*SELF*' OR tsk_master_schema = currentdb_schema
|
||||
THEN -- zelf oplossen
|
||||
BEGIN
|
||||
INSERT INTO fac_cust(fac_cust_customerid, fac_cust_schema)
|
||||
VALUES(custid, COALESCE(p_schema, selfschema));
|
||||
VALUES(custid, COALESCE(p_schema, fac_schema));
|
||||
EXCEPTION
|
||||
WHEN DUP_VAL_ON_INDEX
|
||||
THEN
|
||||
@@ -53,17 +76,11 @@ AS
|
||||
END;
|
||||
-- Schema bijwerken
|
||||
UPDATE fac_cust
|
||||
SET fac_cust_schema = COALESCE(p_schema, selfschema)
|
||||
SET fac_cust_schema = COALESCE(p_schema, fac_schema)
|
||||
WHERE fac_cust_customerid = custid;
|
||||
ELSE -- Remote register
|
||||
tsksql := 'BEGIN ' || tsk_master_schema || '.tsk.registercust(:custid, :schema); END;';
|
||||
|
||||
cursor_name := DBMS_SQL.open_cursor;
|
||||
DBMS_SQL.PARSE (cursor_name, tsksql, DBMS_SQL.NATIVE);
|
||||
DBMS_SQL.BIND_VARIABLE (cursor_name, ':custid', selfid);
|
||||
DBMS_SQL.BIND_VARIABLE (cursor_name, ':schema', selfschema);
|
||||
rows_processed := DBMS_SQL.EXECUTE (cursor_name);
|
||||
DBMS_SQL.CLOSE_CURSOR (cursor_name);
|
||||
EXECUTE IMMEDIATE tsksql USING selfid, fac_schema;
|
||||
END IF;
|
||||
END;
|
||||
|
||||
@@ -73,13 +90,13 @@ AS
|
||||
tsk_master_schema VARCHAR(32);
|
||||
selfid fac_version.fac_version_cust%TYPE;
|
||||
tsksql VARCHAR2 (4000);
|
||||
cursor_name INTEGER;
|
||||
rows_processed INTEGER;
|
||||
currentdb_schema VARCHAR2 (64);
|
||||
BEGIN
|
||||
SELECT fac_version_cust INTO selfid FROM fac_version;
|
||||
tsk_master_schema := fac.getsetting ('tsk_master_schema');
|
||||
currentdb_schema := SYS_CONTEXT ('USERENV', 'CURRENT_SCHEMA');
|
||||
|
||||
IF tsk_master_schema IS NULL OR tsk_master_schema = USER
|
||||
IF tsk_master_schema IS NULL OR tsk_master_schema = '*SELF*' OR tsk_master_schema = currentdb_schema
|
||||
THEN -- zelf oplossen
|
||||
BEGIN
|
||||
INSERT INTO fac_task(fac_cust_key, fac_task_code)
|
||||
@@ -93,13 +110,7 @@ AS
|
||||
END;
|
||||
ELSE -- start remote tasker
|
||||
tsksql := 'BEGIN ' || tsk_master_schema || '.tsk.registertask(:taskcode, :custid); END;';
|
||||
|
||||
cursor_name := DBMS_SQL.open_cursor;
|
||||
DBMS_SQL.PARSE (cursor_name, tsksql, DBMS_SQL.NATIVE);
|
||||
DBMS_SQL.BIND_VARIABLE (cursor_name, ':custid', selfid);
|
||||
DBMS_SQL.BIND_VARIABLE (cursor_name, ':taskcode', p_taskcode);
|
||||
rows_processed := DBMS_SQL.EXECUTE (cursor_name);
|
||||
DBMS_SQL.CLOSE_CURSOR (cursor_name);
|
||||
EXECUTE IMMEDIATE tsksql USING p_taskcode, selfid;
|
||||
END IF;
|
||||
END;
|
||||
|
||||
@@ -111,13 +122,13 @@ AS
|
||||
tsk_master_schema VARCHAR(32);
|
||||
selfid fac_version.fac_version_cust%TYPE;
|
||||
tsksql VARCHAR2 (4000);
|
||||
cursor_name INTEGER;
|
||||
rows_processed INTEGER;
|
||||
currentdb_schema VARCHAR2 (64);
|
||||
BEGIN
|
||||
SELECT fac_version_cust INTO selfid FROM fac_version;
|
||||
tsk_master_schema := fac.getsetting ('tsk_master_schema');
|
||||
currentdb_schema := SYS_CONTEXT ('USERENV', 'CURRENT_SCHEMA');
|
||||
|
||||
IF tsk_master_schema IS NULL OR tsk_master_schema = USER
|
||||
IF tsk_master_schema IS NULL OR tsk_master_schema = '*SELF*' OR tsk_master_schema = currentdb_schema
|
||||
THEN -- zelf oplossen
|
||||
UPDATE fac_task
|
||||
SET fac_task_nextrun = fac.safe_LEAST (p_nextrun, fac_task_nextrun)
|
||||
@@ -127,16 +138,38 @@ AS
|
||||
WHERE fac_cust_customerid = COALESCE(p_customerid, selfid));
|
||||
ELSE -- start remote tasker
|
||||
tsksql := 'BEGIN ' || tsk_master_schema || '.tsk.starttask(:taskcode, :nextrun, :custid); END;';
|
||||
|
||||
cursor_name := DBMS_SQL.open_cursor;
|
||||
DBMS_SQL.PARSE (cursor_name, tsksql, DBMS_SQL.NATIVE);
|
||||
DBMS_SQL.BIND_VARIABLE (cursor_name, ':custid', selfid);
|
||||
DBMS_SQL.BIND_VARIABLE (cursor_name, ':taskcode', p_taskcode);
|
||||
DBMS_SQL.BIND_VARIABLE (cursor_name, ':nextrun', p_nextrun);
|
||||
rows_processed := DBMS_SQL.EXECUTE (cursor_name);
|
||||
DBMS_SQL.CLOSE_CURSOR (cursor_name);
|
||||
EXECUTE IMMEDIATE tsksql USING p_taskcode, p_nextrun, selfid;
|
||||
END IF;
|
||||
END;
|
||||
|
||||
-- Keert terug als er iets interessants in fac_task staat
|
||||
-- of als timeout is verstreken
|
||||
PROCEDURE waittask (pinterval NUMBER DEFAULT 5,
|
||||
ptimeout NUMBER DEFAULT 300)
|
||||
AS
|
||||
timeend DATE;
|
||||
firsttask DATE;
|
||||
BEGIN
|
||||
timeend := SYSDATE + ptimeout / 60/60/24;
|
||||
WHILE timeend > SYSDATE
|
||||
LOOP
|
||||
SELECT MIN (fac_task_nextrun)
|
||||
INTO firsttask
|
||||
FROM fac_task tt, fac_cust tsko
|
||||
WHERE tt.fac_cust_key = tsko.fac_cust_key
|
||||
AND fac_cust_enabled > 0
|
||||
AND fac_task_nextrun <= SYSDATE
|
||||
AND BITAND (fac_task_flags, 1) = 1;
|
||||
|
||||
IF firsttask <= SYSDATE
|
||||
THEN
|
||||
RETURN;
|
||||
END IF;
|
||||
|
||||
DBMS_SESSION.SLEEP(pinterval); -- Dit maakt dat in de Oracle statistics allerlei timer events
|
||||
-- hoog scoren in 'Top 5 Timed Events' Dat is verder niet erg.
|
||||
END LOOP;
|
||||
END;
|
||||
END tsk;
|
||||
/
|
||||
-- tsk_master_schema needs:
|
||||
|
||||
486
FAC/FAC_PACX.SRC
486
FAC/FAC_PACX.SRC
File diff suppressed because it is too large
Load Diff
@@ -47,12 +47,7 @@ COMMIT;
|
||||
WHENEVER SQLERROR EXIT;
|
||||
BEGIN
|
||||
|
||||
-- Unused; remove in 2025.2
|
||||
DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_custorders' , 'boolean' , 'false' , 'UNUSED! true = use customer orderqueue')
|
||||
DEFINE_SETTING('FAC', 0001, 'WEB_FACFAC', 'openai_model' , 'string' , 'gpt-4o' , 'UNUSED! Default OpenAI language model to use')
|
||||
DEFINE_SETTING('FAC', 0001, 'WEB_FACFAC', 'openai_model_large_context' , 'string' , '' , 'UNUSED! Fallback model for prompts with larger contexts')
|
||||
DEFINE_SETTING('FAC', 0001, 'WEB_FACFAC', 'openai_apikey' , 'string' , 'sk-proj-yzeVEAimM50pGzoPSTdmT3BlbkFJM3cBKKfpo0PVEEyBYJwR', 'UNUSED! OpenAI APIKEY for AI services')
|
||||
DEFINE_SETTING('FAC', 0001, 'WEB_FACFAC', 'openai_organization' , 'string' , 'org-6M9EiAUYLBepI30skvLFk39B', 'UNUSED! OpenAI Organization for AI services')
|
||||
-- Unused; remove in 2025.3
|
||||
-- \Unused
|
||||
|
||||
DEFINE_SETTING('FAC', 0000, 'WEB_FACFAC', 'fac_otap' , 'string' , 'P' , 'OTAP environment. custenv.wsc overrule only')
|
||||
@@ -64,7 +59,15 @@ DEFINE_SETTING('FAC', 0000, 'WEB_FACFAC', 'sys_ip_restrict_internal'
|
||||
DEFINE_SETTING('FAC', 0000, 'WEB_FACFAC', 'fac_imagecharts_account_id' , 'string' , '' , 'Image-charts account_id (future use)')
|
||||
DEFINE_SETTING('FAC', 0000, 'WEB_FACFAC', 'fac_imagecharts_secret_key' , 'string' , '' , 'Image-charts secret_key (future use)')
|
||||
|
||||
DEFINE_SETTING('PUO', 0000, 'WEB_FACTAB', 'tsk_master_schema' , 'string' , '' , 'Task master schema name (not necessarily customerId)')
|
||||
DEFINE_SETTING('FAC', 0001, 'WEB_FACFAC', 'licensed_fe_users' , 'number' , '0' , 'Number of licensed frontend users')
|
||||
DEFINE_SETTING('FAC', 0001, 'WEB_FACFAC', 'licensed_key_users' , 'number' , '0' , 'Number of licensed key users')
|
||||
DEFINE_SETTING('FAC', 0001, 'WEB_FACFAC', 'licensed_device_users' , 'number' , '0' , 'Number of licensed device users')
|
||||
DEFINE_SETTING('FAC', 0001, 'WEB_FACFAC', 'licensed_passive_users' , 'number' , '0' , 'Number of licensed passive users')
|
||||
DEFINE_SETTING('FAC', 0001, 'WEB_FACFAC', 'licensed_templates' , 'string' , 'basic,generic' , 'Licensed bedrijfadres templates (comma separated)')
|
||||
|
||||
DEFINE_SETTING('PUO', 0000, 'WEB_FACTAB', 'tsk_master_schema' , 'string' , '' , 'Tasker master schema name (not necessarily customerId)')
|
||||
DEFINE_SETTING('PUO', 0000, 'WEB_FACTAB', 'tsk_extra_folders' , 'array' , '' , 'Tasker extra folders to start CUST tasks (future use))')
|
||||
DEFINE_SETTING('FAC', 0000, 'WEB_FACTAB', 'noti_delay_mode' , 'number' , '0' , '0=Notification to bedrijfadres always zero delay, 1=honor fac_srtnotificatie_delay, >1=fixed delay in seconds (eg. 5)')
|
||||
|
||||
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'fac_api2_compatibility' , 'number' , '0' , '0=latest and greatest, bit 1=backwards compatible')
|
||||
|
||||
@@ -106,7 +109,7 @@ DEFINE_SETTING('FAC', 0001, 'WEB_FACFAC', 'fac_api_allow_impersonate'
|
||||
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'fac_api_key_in_url' , 'boolean' , 'false' , 'Is APIKEY= in url also allowed (unsafe)? Default is header X-Facilitor-API-Key only')
|
||||
DEFINE_SETTING('ALG', 0001, 'WEB_FACFAC', 'fac_betafeatures' , 'number' , '0' , 'Bits for enabling release specific experimental features')
|
||||
DEFINE_SETTING('FAC', 0001, 'WEB_FACFAC', 'fac_pdf_printer' , 'number' , '0' , 'PDF Printer support bits (future use)')
|
||||
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'fac_usrrap_mode' , 'number' , '0' , 'User reports mode {0=default, 1=advanced}')
|
||||
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'fac_usrrap_mode' , 'number' , '0' , 'User reports mode {0=default, 1=advanced (UDR)}')
|
||||
DEFINE_SETTING('FAC', 0001, 'WEB_FACFAC', 'fac_usrrap_safe_view_regexp' , 'string' , '' , 'User reports safe views regexp')
|
||||
DEFINE_SETTING('FAC', 0001, 'WEB_FACFAC', 'fclt_web_url' , 'string' , '' , 'Url to the Facilitor software (future use)')
|
||||
DEFINE_SETTING('FAC', 0001, 'WEB_FACFAC', 'hiresTimer' , 'number' , '1' , 'internal use only')
|
||||
@@ -114,6 +117,7 @@ DEFINE_SETTING('FAC', 0001, 'WEB_FACFAC', 'iLearning_enabled'
|
||||
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'language_toggles' , 'array' , 'NL' , 'Allow language toggle for alternate languages')
|
||||
DEFINE_SETTING('FAC', 0001, 'WEB_FACFAC', 'login_pda_url' , 'string' , 'appl/aut/login.asp' , 'url providing login-services when pda detected. Future use')
|
||||
DEFINE_SETTING('FAC', 0001, 'WEB_FACFAC', 'login_url' , 'string' , 'appl/aut/login.asp' , 'url providing login-services')
|
||||
DEFINE_SETTING('FAC', 0001, 'WEB_FACFAC', 'm2m_enabled' , 'number' , '0' , 'Is Facilitor Mail2Melding configured {0=disabled | 1=enabled}')
|
||||
DEFINE_SETTING('FAC', 0001, 'WEB_FACFAC', 'mobile_enabled' , 'number' , '0' , 'Is Facilitor Mobile available {0=disabled | 1=web only enabled | 2=Nativescript app only enabled | 3=web+app enabled}')
|
||||
DEFINE_SETTING('FAC', 0001, 'WEB_FACFAC', 'multi_language_option' , 'number' , '0' , 'Enable multi language')
|
||||
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'prs_allow_impersonate' , 'boolean' , 'false' , 'Allow impersonation by PRSSYS')
|
||||
@@ -201,8 +205,10 @@ DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'fac_msxml2domdocument'
|
||||
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_number3' , 'number' , '0' , 'reserved_number3 (reserved and unused)')
|
||||
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'fac_reserved_string1' , 'string' , '' , 'reserved_string1 (reserved and unused)')
|
||||
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'fac_reserved_string2' , 'string' , '' , 'reserved_string2 (reserved and unused)')
|
||||
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'fac_reserved_string3' , 'string' , '' , 'reserved_string3 (reserved and unused)')
|
||||
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'fac_server_timezone' , 'string' , 'Europe/Amsterdam' , 'The timezone of the database-server')
|
||||
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'fac_t_endofworkday' , 'float' , '17' , 'End time (hour, decimal) of a working day')
|
||||
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'fac_t_startofworkday' , 'float' , '8' , 'Start time (hour, decimal) of a working day')
|
||||
@@ -210,9 +216,9 @@ DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'flexAllowedExt'
|
||||
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'imgAllowedExt' , 'string' , 'jpg|jpeg|png|gif|bmp' , 'Allowed image extensions')
|
||||
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'flexPreviewExt' , 'string' , '.*\.(jpg|jpeg|png|gif|bmp)$' , 'Extentions of attachments to preview in show_mld')
|
||||
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'flex_mimetypes' , 'json' , '{ "jpg": "image/jpeg", "jpeg": "image/jpeg" , "png": "image/png", "bmp": "image/bmp", "gif": "image/gif", "pdf": "application/pdf", "html": "text/html", "eml": "message/rfc822" }', 'Supported streaming mimetypes')
|
||||
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'flex_min_size' , 'number' , '64' , 'E-mail attachments smaller (in bytes) than this are silently ignored')
|
||||
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'flex_min_imgsize' , 'number' , '64' , 'Future use. E-mail image attachments smaller (in bytes) than this are silently ignored')
|
||||
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'flex_min_imgsize_ext' , 'string' , '.*\.(jpg|jpeg|png|gif|bmp)$' , 'Future use. Small (flex_min_imgsize) E-mail attachments are ignored')
|
||||
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'flex_min_size' , 'number' , '64' , 'E-mail attachments smaller (in bytes) than this are silently ignored')
|
||||
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'flex_min_imgsize' , 'number' , '64' , 'E-mail image attachments smaller (in bytes) than this are silently ignored')
|
||||
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'flex_min_imgsize_ext' , 'string' , '.*\.(jpg|jpeg|png|gif|bmp)$' , 'Small (flex_min_imgsize) E-mail attachments are ignored')
|
||||
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'mail_subject_undeliverable' , 'string' , '^(Undeliverable:|Message undeliverable:|Onbestelbaar:|Bericht onbestelbaar:)', 'Undeliverable E-mails with bounced this subject are silently ignored')
|
||||
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'mail_subject_ignore' , 'string' , '^(Automatic reply:|Automatisch antwoord:)', 'E-mails with this subject are silently ignored')
|
||||
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'mld_instemmer_self' , 'number' , '0' , 'Fallback option for approving a concept if no consenter is defined or if you are the consenter { 0=No consent needed | 1=Budgetholder | 2=Objectmanager | 4=Departmentmanager | 8=Manager | 16=Buildingmanager}')
|
||||
@@ -226,6 +232,7 @@ DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'impAllowedExt'
|
||||
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'kto_srtdiscipline_key' , 'number' , '-1' , 'key van KTO (klanttevredenheidsonderzoek) vakgroeptype')
|
||||
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', 'menu_image_url_path' , 'string' , NULL , 'relative! path to folder storing menu files which are used as url')
|
||||
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}')
|
||||
@@ -240,7 +247,8 @@ DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'prs_login_lockout_delayfactor'
|
||||
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'prs_password_hash_factor' , 'number' , '17' , 'Password hash workfactor (2^x)')
|
||||
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'prs_password_otp_mode' , 'number' , '0' , 'OTP mode (0=off,+1=prssys only, +2=everyone with password, +4=force 2-factor auth)')
|
||||
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'qr_auth_expire' , 'number' , '5' , 'Minutes QRC-code is valid (default 5)')
|
||||
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'qr_color' , 'number' , '5452544' , 'QRC color')
|
||||
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'qr_color' , 'number' , '5452544' , 'QRC color')
|
||||
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'qr_bggray_color' , 'number' , '255' , 'QRC background gray color (0-255)')
|
||||
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'qrc_enable' , 'number' , '0' , 'Enable QRC-authentication feature (1) or not (0)')
|
||||
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'refreshfromdump_oracle_login' , 'string' , '' , 'oracle login un/pw')
|
||||
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'self_register' , 'number' , '0' , 'Can user self-register? ( 0 disable )')
|
||||
@@ -435,7 +443,7 @@ DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'anonymize_mode'
|
||||
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', '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,fa-file-download,fa-file-upload', 'Hide these frameheader buttons behind a hamburger.')
|
||||
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'buttons_in_hamburger' , 'array' , 'fa-print,fa-envelope,fa-table,fa-fclt-refresh,fa-columns,fa-share-square,fa-file-download,fa-file-upload,fa-megaphone,fa-trash-can-xmark', 'Hide these frameheader buttons behind a hamburger.')
|
||||
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'can_selfapprove' , 'number' , '999999' , 'I can approve myself below or equal this limit or someone else must approve always above this limit')
|
||||
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'checkBrowser' , 'number' , '0' , 'Check for IE6 at login (1) or not.')
|
||||
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'currency_icon' , 'string' , 'fa-euro-sign' , 'Currency icon. Use fa-money-bill-wave for generic')
|
||||
@@ -545,9 +553,12 @@ DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'udr_graph_gauge_colors'
|
||||
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('FAC', 0001, 'WEB_FACFAC', 'ai_enabled' , 'number' , '0' , 'Enable AI (65535=all (incl. future) AI features)' || CHR(10) || '&1; generate subjects for calls from their description (configuration needed)' || CHR(10) || '&2; generate FAQs for calls' || CHR(10) || '&4; generate text for closing calls' || CHR(10) || '&8; generate new order descriptions')
|
||||
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'ai_enabled' , 'number' , '0' , 'Enable AI (65535=all (incl. future) AI features) to generate;' || CHR(10) || '&1; subjects for calls from their description (configuration needed)' || CHR(10) || '&2; FAQs for calls' || CHR(10) || '&4; text for closing calls' || CHR(10) || '&8; new order descriptions' || CHR(10) || '&16; portal messages when publishing calls')
|
||||
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'ai_endpoint' , 'string' , 'https://ai-fac-prod-openai-studio.openai.azure.com/openai/deployments/ai-fac-prod-4o/chat/completions?api-version=2024-08-01-preview', 'AI API endpoint url')
|
||||
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'ai_apikey' , 'string' , 'CCV3nRxb3ohPwxlwPQBjGFWqDSPTilfLHjsfhGBRjOEmlfgRtRzwJQQJ99AKACfhMk5XJ3w3AAABACOG7TGx', 'APIKEY for AI services')
|
||||
DEFINE_SETTING('FAC', 0001, 'WEB_FACFAC', 'ai_apikey' , 'string' , 'CCV3nRxb3ohPwxlwPQBjGFWqDSPTilfLHjsfhGBRjOEmlfgRtRzwJQQJ99AKACfhMk5XJ3w3AAABACOG7TGx', 'APIKEY for AI services')
|
||||
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'ai_mail_base_prompt_outputformat' , 'string' , '' , 'AI base prompt for e-mails. Describes desired output format 0 (future use)')
|
||||
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'ai_mail_base_prompt1' , 'string' , '' , 'AI base prompt for e-mails. Describes format 1 (future use)')
|
||||
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'ai_mail_base_prompt2' , 'string' , '' , 'AI base prompt for e-mails. Describes format 2 (future use)')
|
||||
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}')
|
||||
@@ -555,6 +566,7 @@ DEFINE_SETTING('FAQ', 0001, 'WEB_PRSSYS', 'faq_max_results'
|
||||
DEFINE_SETTING('FAQ', 0001, 'WEB_PRSSYS', 'faq_max_results_mld' , 'number' , '0' , 'Initial number of faq items when editing an issue. 0 = show all.')
|
||||
DEFINE_SETTING('FAQ', 0001, 'WEB_PRSSYS', 'faq_max_results_bez' , 'number' , '0' , 'Initial number of faq items when editing an appointment. 0 = show all.')
|
||||
DEFINE_SETTING('FAQ', 0001, 'WEB_PRSSYS', 'faq_search_hints_only' , 'number' , '0' , 'When searching through the Knowledge base, only find matching hints {1=true | 0=false}')
|
||||
DEFINE_SETTING('FAQ', 0001, 'WEB_PRSSYS', 'faq_default_visibility' , 'number' , '3' , 'Set default visibility when creating a new knowledgebase item {1=Selfservice | 2=Professionals | 3=Selfservide and Profesionals')
|
||||
DEFINE_SETTING('FIN', 0001, 'WEB_PRSSYS', 'fin_bof_mag_editen' , 'number' , '1' , 'Users/Approvers with FINBOF rights have edit possibilities {0=no edit (only approve) | 1=edit (default)}')
|
||||
DEFINE_SETTING('FIN', 0001, 'WEB_PRSSYS', 'fin_btw_default' , 'number' , '3' , 'Standaard btw tarief (1=NL|Nul, 2=NL|Laag, 3=NL|Hoog, enz.)')
|
||||
DEFINE_SETTING('FIN', 0001, 'WEB_PRSSYS', 'fin_enable_afwijzen' , 'number' , '1' , 'Is it possible to reject an invoice or not {0=Afwijzen unavailable | 1=Afwijzen available}')
|
||||
@@ -618,6 +630,7 @@ DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_allow_parentmelding'
|
||||
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_opdr_archive_by_gui' , 'boolean' , 'false' , 'Can an order be archived by a button (true) or not (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_assume_ok_days' , 'number' , '0' , 'Number of days after the call will be automatically closed, if no response is given')
|
||||
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_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)')
|
||||
@@ -640,7 +653,7 @@ DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_first_close_orders'
|
||||
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_fixdatums_marge' , 'number' , '7' , 'WEB_MLDMSU can fix invoer/afgemeld dates')
|
||||
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_fo_can_assign_team' , 'number' , '0' , 'Allow assignment of a new call to a treatment team by the frontoffice {0=no | 1=yes}')
|
||||
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_fo_default_user' , 'boolean' , 'false' , 'Use current user as default caller, { true=user default | false=empty default }')
|
||||
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_fof_canFlexChange' , 'boolean' , 'false' , 'FOF flex kenmerken laten wijzigen >800 900<=.')
|
||||
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_fof_canFlexChange' , 'boolean' , 'false' , 'TODO is dit het dan? ***MLDFOF kan FE-flexkenmerken ook na acceptatie nog wijzigen***')
|
||||
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_forward_all' , 'number' , '1' , 'Forward a complain 0= to a complain with the same srtdiscipline 1= (default) to a complain for all srtdisciplines')
|
||||
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_forward_auto_fill' , 'number' , '0' , 'Use current discipline and call (and "assigned to") as defaults while forwarding. {0=no | 1=yes}')
|
||||
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_forward_can_assign' , 'number' , '0' , 'Allow assignment to a specific handler-person while forwarding a call {0=no | 1=yes}')
|
||||
@@ -671,6 +684,7 @@ DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_object_filled_in_alert'
|
||||
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_omschrijving_restrict_edit' , 'number' , '0' , 'Het veld omschrijving alleen in te vullen als nog te accepteren (0=no, 1=yes)')
|
||||
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_opdr_alt_kostensoort' , 'number' , '0' , 'Enable use of alternative cost category {0|1} default 0')
|
||||
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_opdr_approval_all' , 'number' , '0' , 'Goedkeuring opdracht vereist t.o.v. eerstvolgende limiet (=0 default) of t.o.v. totale kosten (in n keer)(=1)')
|
||||
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_pessismistisch_hergoedkeuren' , 'number' , '0' , 'Hergoedkeuren als de opdrachtkosten boven de bestellimiet, of boven de goedkeuringsvrijstelling komen {1=ja | 0=alleen als beiden waar zijn}')
|
||||
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_opdr_validate_by_substitute' , 'number' , '1' , 'Validate by substitute {0=no | 1=yes default}')
|
||||
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_opdr_ask_mail_if_unknown' , 'number' , '0' , 'Workaround for sending order by e-mail to ''externe relatie'' if address unknown (0=disabled default | 1=enabled)')
|
||||
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_opdr_close' , 'number' , '0' , 'Can close orders in order overview window without seeing order details? {0=yes default | 1=no}')
|
||||
@@ -698,6 +712,7 @@ DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_pgb_fiattering'
|
||||
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_uses_requestor_location' , 'number' , '1' , 'Use the location of the requestor to overwrite the location of a new issue {0=no | 1=yes(default)}')
|
||||
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}.')
|
||||
@@ -705,6 +720,7 @@ DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_restrict_mobile_to_me'
|
||||
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_sel_single_closingtext' , 'number' , '1' , 'Auto select closing text when just one available {2=yes | 1=no (default)}')
|
||||
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_selector_mode' , 'number' , '0' , 'Selector mode vakgroep/melding voor de frontend. {0(=default)=vakgroep en melding (beide eerst te kiezen), 1=vakgroep readonly, 2=alleen melding}')
|
||||
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_show_cards' , 'number' , '5' , 'Number of order cards shown under a contractor in order plan board {nn=number | -1=all}')
|
||||
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_bord_compact_threshold_columns' , 'number' , '6' , 'Number of columns after which the board will suppress empty columns {-1=never | 0=always | nn=number of columns}')
|
||||
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_show_endtime' , 'number' , '1' , 'Show endtime for complaints (0=only date, 1=with endtime)')
|
||||
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_show_parent_attachments' , 'boolean' , 'true' , 'Show the attachments of parent calls {true (default) | false}')
|
||||
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_show_search_similar' , 'number' , '0' , 'Show a link to similar calls with call details {0=no | 1=yes}')
|
||||
@@ -844,6 +860,7 @@ DEFINE_SETTING('RES', 0001, 'WEB_PRSSYS', 'res_pda_room_times'
|
||||
DEFINE_SETTING('RES', 0001, 'WEB_PRSSYS', 'res_adhoc_threshold' , 'number' , '10' , 'The amount of time (in minutes) before the end of a reservation before an adhoc reservation can be made')
|
||||
DEFINE_SETTING('RES', 0001, 'WEB_PRSSYS', 'msgraph_sync_level' , 'number' , '0' , 'Level of synchronization (Sufficient rights required); { 0: No sync, +1: Facilitor reads from Exchange, +2: Facilitor writes only to Exchange rooms, +4: Facilitor writes to all Exchange users }')
|
||||
DEFINE_SETTING('RES', 0001, 'WEB_PRSSYS', 'exchange_internal_email_regexp' , 'string' , '*' , 'Regular expression to match internal visitors by; internal visitors are not registered in Facilitor (All visitors are internal by default)')
|
||||
DEFINE_SETTING('RES', 0001, 'WEB_FACTAB', 'exchange_max_concurrent_notifications' , 'number' , '50' , 'The maximum number of concurrent notifications in progress')
|
||||
DEFINE_SETTING('SLE', 0001, 'WEB_PRSSYS', 'cil_ins_srt_groep_key' , 'number' , '-1' , 'INS_SRTDEEL_KEY of object type Cylinders')
|
||||
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')
|
||||
@@ -915,6 +932,8 @@ DEFINE_SETTING('PUO', 0001, 'WEB_PRSSYS', 'puo_lcl_friendly_sftp' , 'string
|
||||
DEFINE_SETTING('PUO', 0001, 'WEB_PRSSYS', 'puo_lcl_friendly_http' , 'string' , 'Opdracht per SOAP gestuurd naar {0}' , 'Friendly text for http tracking')
|
||||
DEFINE_SETTING('PUO', 0001, 'WEB_PRSSYS', 'puo_lcl_friendly_mailto' , 'string' , 'Opdracht per e-mail gestuurd naar {0}' , 'Friendly text for mail tracking')
|
||||
DEFINE_SETTING('PUO', 0001, 'WEB_PRSSYS', 'puo_lcl_tracknoti' , 'string' , 'Notificatie {0} verstuurd aan {1}' , 'Friendly text for notification mail tracking')
|
||||
DEFINE_SETTING('PUO', 0001, 'WEB_PRSSYS', 'puo_lcl_tracknoti_sys' , 'string' , 'Notificatie {0} verstuurd naar {1}' , 'Friendly text for system tracking {0} is notification, {1} is company')
|
||||
DEFINE_SETTING('PUO', 0001, 'WEB_PRSSYS', 'puo_lcl_tracknoti_sys_fail' , 'string' , ' (na {0} gefaalde poging(en))' , 'Friendly text for system tracking failing')
|
||||
DEFINE_SETTING('PUO', 0001, 'WEB_PRSSYS', 'puo_subjectprefix' , 'string' , 'Facilitor bestelling: Bestelopdracht nr.' , 'Mail subject prefix for BES orders (to be followed by ordernr)')
|
||||
DEFINE_SETTING('PUO', 0001, 'WEB_PRSSYS', 'puo_subjectprefixcnt' , 'string' , 'Facilitor contract nr.' , 'Mail subject prefix for CNT')
|
||||
DEFINE_SETTING('PUO', 0001, 'WEB_PRSSYS', 'puo_subjectprefixres' , 'string' , 'Facilitor reservering nr.' , 'Mail subject prefix for RES')
|
||||
|
||||
@@ -118,10 +118,10 @@ CREATE_TABLE(fac_groep, 0)
|
||||
NUMBER(10)
|
||||
CONSTRAINT fac_k_fac_groep_key PRIMARY KEY,
|
||||
fac_groep_omschrijving
|
||||
VARCHAR2(30)
|
||||
VARCHAR2(60)
|
||||
CONSTRAINT fac_c_fac_groep_omschrijving CHECK(fac_groep_omschrijving IS NOT NULL),
|
||||
fac_groep_upper
|
||||
VARCHAR2(30),
|
||||
VARCHAR2(60),
|
||||
-- CONSTRAINT fac_c_fac_groep_upper CHECK(fac_groep_upper IS NOT NULL),
|
||||
fac_groep_collega
|
||||
NUMBER(1)
|
||||
@@ -642,6 +642,10 @@ CREATE_TABLE(fac_notificatie, 0)
|
||||
// REFERENCES prs_bedrijfadres(prs_bedrijfadres_key) ON DELETE CASCADE,
|
||||
fac_notificatie_receiver_email
|
||||
VARCHAR2(255),
|
||||
fac_notificatie_email_cc
|
||||
VARCHAR2(4000),
|
||||
fac_notificatie_email_bcc
|
||||
VARCHAR2(4000),
|
||||
fac_notificatie_receiver_phone
|
||||
VARCHAR2(30),
|
||||
fac_notificatie_oms
|
||||
@@ -873,7 +877,7 @@ CREATE_TABLE(fac_activiteit, 0)
|
||||
fac_activiteit_eenheid -- 1=dagelijks, 2=wekelijk, 3=maandelijk, 4=jaarlijks, null=eenmalig. Niet beschikbaar: uurlijks(0)
|
||||
NUMBER(1)
|
||||
DEFAULT(1)
|
||||
CONSTRAINT fac_c_fac_activiteit_eenheid CHECK (fac_activiteit_eenheid IN (1,2,3,4) OR fac_activiteit_eenheid IS NULL),
|
||||
CONSTRAINT fac_c_fac_activiteit_eenheid CHECK (fac_activiteit_eenheid IN (1,2,3,4,5) OR fac_activiteit_eenheid IS NULL),
|
||||
fac_activiteit_bits -- details, afhankelijk van de mode (mag best null zijn)
|
||||
NUMBER(4),
|
||||
fac_activiteit_periode
|
||||
@@ -1042,6 +1046,8 @@ CREATE_TABLE(fac_imp_onrgoed1, 0)
|
||||
, alg_locatie_omschrijving VARCHAR2(60)
|
||||
, alg_gebouw_code VARCHAR2(12)
|
||||
, alg_gebouw_naam VARCHAR2(60)
|
||||
, alg_gebouw_adres VARCHAR2(50)
|
||||
, alg_gebouw_postcode VARCHAR2(12)
|
||||
, alg_srtgebouw_omschrijving VARCHAR2(30)
|
||||
, alg_locatie_verantw VARCHAR2(30)
|
||||
, alg_locatie_verantw_tel VARCHAR2(20)
|
||||
@@ -1097,6 +1103,7 @@ CREATE_TABLE(fac_imp_mld, 0)
|
||||
, mld_stdmelding_slabewaken NUMBER(1)
|
||||
, mld_stdmelding_externnr VARCHAR2(256)
|
||||
, mld_stdmelding_image VARCHAR2(255)
|
||||
, mld_stdmelding_objects_allowed NUMBER(1)
|
||||
);
|
||||
|
||||
CREATE_TABLE(fac_imp_mldafmtxt, 0)
|
||||
@@ -1387,7 +1394,7 @@ CREATE_TABLE(fac_imp_ext_bedrijf, 0)
|
||||
prs_overeenkomst_nr VARCHAR2 (30),
|
||||
prs_overeenkomst_datum DATE,
|
||||
prs_bedrijf_email VARCHAR2 (100),
|
||||
prs_bedrijf_opmerking VARCHAR2 (320),
|
||||
prs_bedrijf_opmerking VARCHAR2 (4000),
|
||||
prs_dienst_omschrijving VARCHAR2 (60),
|
||||
alg_locatie_code VARCHAR2 (10),
|
||||
alg_gebouw_code VARCHAR2 (12),
|
||||
@@ -1571,7 +1578,7 @@ CREATE_TABLE( fac_menuitems, 0)
|
||||
fac_menuitems_groep NUMBER(1), /* 0=personal, 1=professional, 2=appmanagement, 3=mobile*/
|
||||
fac_menuitems_label VARCHAR2 (30 CHAR) NOT NULL,
|
||||
fac_menuitems_oms VARCHAR2 (60 CHAR),
|
||||
fac_menuitems_module VARCHAR2 (3 BYTE),
|
||||
fac_menuitems_module VARCHAR2 (3 CHAR),
|
||||
fac_menuitems_url VARCHAR2 (60 CHAR),
|
||||
fac_menuitems_srtdisc NUMBER(1),
|
||||
fac_menuitems_disc NUMBER(1),
|
||||
@@ -1648,6 +1655,8 @@ CREATE_TABLE(fac_nieuws, 0)
|
||||
fac_nieuws_parentkey NUMBER(10) REFERENCES fac_nieuws(fac_nieuws_key) ON DELETE CASCADE
|
||||
// Note: this column is defined in PRS_TAB.SRC
|
||||
// prs_perslid_key NUMBER(10) REFERENCES prs_perslid(prs_perslid_key) ON DELETE SET NULL
|
||||
// Note: this column is defined in MLD_TAB.SRC
|
||||
// mld_melding_key NUMBER(10) REFERENCES mld_melding(mld_melding_key) ON DELETE SET NULL
|
||||
);
|
||||
|
||||
CREATE_TABLE(fac_faq, 0)
|
||||
@@ -1823,6 +1832,7 @@ CREATE_TABLE(fac_imp_flex, 0)
|
||||
kenmerk_niveau VARCHAR2(255),
|
||||
kenmerk_verplicht VARCHAR2(255),
|
||||
kenmerk_groep VARCHAR2(255),
|
||||
kenmerk_rolcode VARCHAR2(255),
|
||||
kenmerk_volgnummer VARCHAR2(255),
|
||||
kenmerk_default VARCHAR2(4000),
|
||||
kenmerk_type VARCHAR2(255),
|
||||
@@ -2103,12 +2113,16 @@ CREATE_TABLE(fac_email_setting, 0)
|
||||
fac_email_setting_action VARCHAR2 (255),
|
||||
fac_email_setting_aanmaak DATE DEFAULT SYSDATE,
|
||||
fac_email_setting_expire DATE,
|
||||
fac_email_setting_attachpath VARCHAR2 (255),
|
||||
fac_email_setting_attachpath VARCHAR2 (255) DEFAULT '*flexfilespath',
|
||||
fac_email_setting_attachext VARCHAR2(255),
|
||||
fac_email_setting_reqattachext VARCHAR2(255),
|
||||
fac_email_setting_attachmaxkb NUMBER(10), -- Kilobyte
|
||||
fac_email_setting_loglevel NUMBER(3) DEFAULT 0 NOT NULL,
|
||||
fac_email_setting_text VARCHAR2 (320), -- signaaltekst in onderwerpregel
|
||||
fac_email_setting_opmerking VARCHAR2 (320),
|
||||
fac_email_setting_ai_prompt VARCHAR2 (4000),
|
||||
// Note: this column is defined in MLD_TAB.SRC
|
||||
// mld_stdmelding_key NUMBER(10) REFERENCES mld_stdmelding(mld_stdmelding_key) ON DELETE CASCADE,
|
||||
// Note: this column is defined in PRS_TAB.SRC
|
||||
// prs_perslid_key_auth NUMBER(10) REFERENCES prs_perslid(prs_perslid_key)
|
||||
CONSTRAINT fac_u_fac_email_setting_user UNIQUE(fac_email_setting_user, fac_email_setting_volgnr)
|
||||
@@ -2147,9 +2161,10 @@ CREATE_TABLE(fac_imp_inspectie, 0) (
|
||||
ins_srtcontrole_omschrijving VARCHAR2 (60),
|
||||
ins_srtcontrole_info VARCHAR2 (320),
|
||||
ins_srtcontrole_periode VARCHAR2 (7),
|
||||
ins_srtcontrole_mode VARCHAR2 (1),
|
||||
ins_srtcontrole_eenheid VARCHAR2 (1),
|
||||
ins_srtcontrole_bits VARCHAR2 (4)
|
||||
ins_srtcontrole_mode VARCHAR2 (1),
|
||||
ins_srtcontrole_eenheid VARCHAR2 (1),
|
||||
ins_srtcontrole_bits VARCHAR2 (4),
|
||||
ctr_discipline_omschrijving VARCHAR2 (60)
|
||||
);
|
||||
|
||||
-- AAIT#25547
|
||||
@@ -2197,8 +2212,11 @@ CREATE_TABLE(fac_imp_cnt, 0)
|
||||
bedrag_termijn NUMBER (11,2),
|
||||
uurtarief NUMBER (6,2),
|
||||
korting NUMBER (4,2),
|
||||
scope VARCHAR2 (1),
|
||||
locatiecode VARCHAR2 (10),
|
||||
terreincode VARCHAR2 (12),
|
||||
gebouwcode VARCHAR2 (12),
|
||||
verdiepingcode NUMBER (3),
|
||||
ruimtecode VARCHAR2 (20),
|
||||
verlengen VARCHAR2 (1),
|
||||
versie VARCHAR2 (10),
|
||||
dienst VARCHAR2 (60),
|
||||
@@ -2328,6 +2346,7 @@ CREATE_TABLE(faq_kenmerk,0)
|
||||
faq_kenmerk_key NUMBER(10) CONSTRAINT faq_k_faq_kenmerk_key PRIMARY KEY,
|
||||
faq_discipline_key NUMBER(10),
|
||||
faq_kenmerk_volgnr NUMBER(3) NOT NULL,
|
||||
faq_kenmerk_rolcode NUMBER(4) DEFAULT 7 NOT NULL,
|
||||
faq_kenmerk_omschrijving VARCHAR2(50),
|
||||
faq_kenmerk_upper VARCHAR2(50),
|
||||
faq_kenmerk_code VARCHAR2(60),
|
||||
|
||||
@@ -343,7 +343,9 @@ BEGIN
|
||||
|
||||
-- Kopieer direct naar statusinformatie op de portal indien van toepassing
|
||||
-- Daarbij worden alle oude berichten (eerst) verwijderd
|
||||
IF BITAND (:NEW.fac_notificatie_status, 1) = 1 AND :new.prs_perslid_key_receiver IS NOT NULL
|
||||
IF BITAND (:NEW.fac_notificatie_status, 1) = 1
|
||||
AND :new.prs_perslid_key_receiver IS NOT NULL
|
||||
AND :new.fac_notificatie_queue = 'DEFAULT'
|
||||
THEN
|
||||
-- strip zodat we alleen de eerste regel overhouden
|
||||
loms := SUBSTR(:NEW.fac_notificatie_oms, 1, 512);
|
||||
@@ -397,12 +399,25 @@ BEGIN
|
||||
-- Always clear the notify_to_statinfo bit, even when no :new.prs_perslid_key_receiver
|
||||
:NEW.fac_notificatie_status := BITAND (:NEW.fac_notificatie_status, 255 - 1);
|
||||
:NEW.fac_notificatie_queue:=UPPER(:NEW.fac_notificatie_queue);
|
||||
END;
|
||||
/
|
||||
|
||||
IF BITAND(:NEW.fac_notificatie_status, 255 - 64) > 0 -- Alleen custom-queue negeren we
|
||||
OR :NEW.prs_bedrijfadres_key IS NOT NULL
|
||||
OR :NEW.fac_notificatie_systeemadres IS NOT NULL
|
||||
CREATE_TRIGGER(fac_t_fac_notificatie_A_IU)
|
||||
AFTER INSERT OR UPDATE
|
||||
ON fac_notificatie
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
IF INSERTING OR UPDATING ('fac_notificatie_notbefore')
|
||||
THEN
|
||||
tsk.starttask(p_taskcode => 'PUTORDERS', p_nextrun => :NEW.fac_notificatie_notbefore);
|
||||
IF BITAND(:NEW.fac_notificatie_status, 2 + 4 + 32) > 0 -- Alleen EMAIL, SMS of APPPUSH
|
||||
OR :NEW.prs_bedrijfadres_key IS NOT NULL
|
||||
OR :NEW.fac_notificatie_systeemadres IS NOT NULL
|
||||
THEN
|
||||
tsk.starttask(p_taskcode => 'PUTORDERS', p_nextrun => :NEW.fac_notificatie_notbefore);
|
||||
ELSIF :NEW.fac_notificatie_queue = 'EXCHANGE'
|
||||
THEN
|
||||
tsk.starttask(p_taskcode => 'EXCHANGE', p_nextrun => :NEW.fac_notificatie_notbefore);
|
||||
END IF;
|
||||
END IF;
|
||||
END;
|
||||
/
|
||||
@@ -572,6 +587,11 @@ CREATE_TRIGGER(fac_t_fac_tracking_b_i)
|
||||
ON fac_tracking
|
||||
COMPOUND TRIGGER
|
||||
newkey fac_tracking.fac_tracking_key%TYPE;
|
||||
srtkey fac_tracking.fac_srtnotificatie_key%TYPE;
|
||||
refkey fac_tracking.fac_tracking_refkey%TYPE;
|
||||
omschr fac_tracking.fac_tracking_oms%TYPE;
|
||||
prskey fac_tracking.prs_perslid_key%TYPE;
|
||||
notify_bedrijven BOOLEAN := FALSE;
|
||||
|
||||
BEFORE EACH ROW
|
||||
IS
|
||||
@@ -583,17 +603,26 @@ CREATE_TRIGGER(fac_t_fac_tracking_b_i)
|
||||
END IF;
|
||||
|
||||
-- dit event moet mogelijk ook actief worden genotificeerd,
|
||||
-- dat kan expliciet worden onderdrukt door de omschrijving te prefixen met een #
|
||||
-- dat kan expliciet worden onderdrukt door de omschrijving te prefixen met een # of @
|
||||
IF SUBSTR(:new.fac_tracking_oms, 1, 1) = '#'
|
||||
THEN
|
||||
-- bedoeld om te onderdrukken, maar moeten we wel weer verwijderen
|
||||
:new.fac_tracking_oms := SUBSTR(:new.fac_tracking_oms, 2);
|
||||
-- En nu dus niet notificeren
|
||||
NULL;
|
||||
ELSIF SUBSTR(:new.fac_tracking_oms, 1, 1) = '@' -- Technische adressen niet notificeren, wel personen
|
||||
THEN
|
||||
:new.fac_tracking_oms := SUBSTR(:new.fac_tracking_oms, 2);
|
||||
newkey := :new.fac_tracking_key;
|
||||
ELSE
|
||||
fac.notifytracking(:new.fac_srtnotificatie_key, :new.prs_perslid_key, :new.fac_tracking_oms, :new.fac_tracking_refkey, :new.fac_tracking_key);
|
||||
newkey := :new.fac_tracking_key;
|
||||
newkey := :new.fac_tracking_key;
|
||||
notify_bedrijven := TRUE;
|
||||
-- Alleen hier ook fac.notifytrackingbedrijven uitvoeren
|
||||
END IF;
|
||||
srtkey := :new.fac_srtnotificatie_key;
|
||||
refkey := :new.fac_tracking_refkey;
|
||||
prskey := :new.prs_perslid_key;
|
||||
omschr := :new.fac_tracking_oms;
|
||||
END BEFORE EACH ROW;
|
||||
|
||||
AFTER STATEMENT
|
||||
@@ -601,7 +630,11 @@ CREATE_TRIGGER(fac_t_fac_tracking_b_i)
|
||||
BEGIN
|
||||
IF newkey IS NOT NULL
|
||||
THEN
|
||||
fac.notifytrackingbedrijven (newkey);
|
||||
fac.notifytracking(srtkey, prskey, omschr, refkey, newkey);
|
||||
IF notify_bedrijven
|
||||
THEN
|
||||
fac.notifytrackingbedrijven (newkey);
|
||||
END IF;
|
||||
END IF;
|
||||
END AFTER STATEMENT;
|
||||
END;
|
||||
@@ -1111,4 +1144,12 @@ END;
|
||||
-- END;
|
||||
-- /
|
||||
|
||||
CREATE_TRIGGER(fac_t_fac_note_group_B_I)
|
||||
BEFORE INSERT ON fac_note_group
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
UPDATE_PRIMARY_KEY(fac_note_group_key, fac_s_fac_note_group_key);
|
||||
END;
|
||||
/
|
||||
|
||||
REGISTERRUN('$Id$')
|
||||
|
||||
402
FAC/FAC_VIE.SRC
402
FAC/FAC_VIE.SRC
@@ -615,71 +615,62 @@ AS
|
||||
AND res_rsv_deel_van;
|
||||
|
||||
|
||||
|
||||
-- Notificatie voor opdrachten in de queue die al meer dan S(puo_failalert_threshold) minuten gefaald zijn
|
||||
-- Het onderwerp ondersteunt placeholders, default is zoiets:
|
||||
-- '##APPL## waarschuwing (##CUST##): Het versturen van ##ENTITYKEY## van ##DATETIME## naar ##ADRES## is na ##NR## pogingen nog niet gelukt. Controleer de configuratie.'
|
||||
CREATE_VIEW(fac_v_noti_facorderqueuefails, 0)
|
||||
(
|
||||
sender,
|
||||
receiver,
|
||||
text,
|
||||
par1,
|
||||
code,
|
||||
key,
|
||||
xkey, xemail, xmobile, fac_srtnotificatie_key, attachments, xsender, prs_bedrijfadres_key
|
||||
text
|
||||
)
|
||||
AS
|
||||
SELECT '',
|
||||
wg.prs_perslid_key,
|
||||
LTRIM(lcl.L('lcl_facilitor_appl')) || ' alert: transmission of '
|
||||
|| DECODE (
|
||||
fac_srtnotificatie_code,
|
||||
'ORDSNX',
|
||||
'Order '
|
||||
|| (SELECT mld_melding_key
|
||||
|| '/'
|
||||
|| mld_opdr_bedrijfopdr_volgnr
|
||||
|| ' to '
|
||||
|| COALESCE (prs_bedrijf_naam, '??')
|
||||
FROM mld_opdr o, prs_bedrijf b
|
||||
WHERE o.mld_uitvoerende_keys = b.prs_bedrijf_key(+) AND mld_opdr_key = key),
|
||||
'BES2SX',
|
||||
'Procurement order '
|
||||
|| (SELECT bes_bestelopdr_id || ' to ' || prs_bedrijf_naam
|
||||
FROM bes_bestelopdr o, prs_bedrijf b
|
||||
WHERE o.prs_bedrijf_key = b.prs_bedrijf_key AND bes_bestelopdr_key = key),
|
||||
key)
|
||||
|| ' has failed '
|
||||
|| COUNT ( * )
|
||||
|| ' times since '
|
||||
|| TO_CHAR (MIN (ft.fac_tracking_datum), 'DD-MM-YYYY HH24:MI')
|
||||
|| ' (' || MIN(fac_version_cust) || ')',
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL
|
||||
, NULL xemail
|
||||
, NULL xmobile
|
||||
, NULL fac_srtnotificatie_key
|
||||
, NULL attachments
|
||||
, NULL xsender
|
||||
, NULL prs_bedrijfadres_key
|
||||
FROM fac_v_orderqueue q,
|
||||
fac_tracking ft,
|
||||
fac_srtnotificatie fs,
|
||||
fac_functie f,
|
||||
fac_v_webgebruiker wg,
|
||||
fac_version
|
||||
WHERE f.fac_functie_key = wg.fac_functie_key
|
||||
AND f.fac_functie_code = 'WEB_PRSSYS'
|
||||
AND ft.fac_srtnotificatie_key = fs.fac_srtnotificatie_key
|
||||
AND ft.fac_tracking_refkey = q.key
|
||||
AND fac_srtnotificatie_code IN ('ORDSNX', 'BES2SX')
|
||||
GROUP BY xmlnode,
|
||||
key,
|
||||
fac_srtnotificatie_code,
|
||||
wg.prs_perslid_key
|
||||
HAVING (SYSDATE - MIN (ft.fac_tracking_datum)) * 24 * 60 > fac.getSetting('puo_failalert_threshold');
|
||||
|
||||
SELECT wg.prs_perslid_key,
|
||||
REPLACE (
|
||||
REPLACE (
|
||||
REPLACE (
|
||||
REPLACE (
|
||||
REPLACE (
|
||||
REPLACE (lcl.l('lcl_noti_facorderqueuefails_subject')
|
||||
, '##APPL##'
|
||||
, lcl.l ('lcl_facilitor_appl'))
|
||||
, '##ENTITYKEY##'
|
||||
, DECODE (fac_srtnotificatie_xmlnode
|
||||
, 'opdracht', 'Order '
|
||||
|| (SELECT mld_melding_key || '/' || mld_opdr_bedrijfopdr_volgnr
|
||||
FROM mld_opdr o
|
||||
WHERE mld_opdr_key = fac_notificatie_refkey)
|
||||
, 'bestelopdr', 'Procurement order '
|
||||
|| (SELECT bes_bestelopdr_id
|
||||
FROM bes_bestelopdr o
|
||||
WHERE bes_bestelopdr_key = fac_notificatie_refkey)
|
||||
, 'reservering', 'Reservation '
|
||||
|| (SELECT res_reservering_key || '/' || res_rsv_ruimte_volgnr
|
||||
FROM res_rsv_ruimte o
|
||||
WHERE res_rsv_ruimte_key = fac_notificatie_extrakey)
|
||||
, fac_srtnotificatie_xmlnode || ' ' || fac_notificatie_refkey))
|
||||
, '##ADRES##'
|
||||
, COALESCE ((SELECT (prs_bedrijf_naam)
|
||||
FROM prs_bedrijf b, prs_bedrijfadres pba
|
||||
WHERE b.prs_bedrijf_key = pba.prs_bedrijf_key AND pba.prs_bedrijfadres_key = q.prs_bedrijfadres_key)
|
||||
, '??'))
|
||||
, '##NR##'
|
||||
, fac_notificatie_failcount)
|
||||
, '##DATETIME##'
|
||||
, TO_CHAR (q.fac_notificatie_datum, 'DD-MM-YYYY HH24:MI'))
|
||||
, '##CUST##'
|
||||
, fac_version_cust)
|
||||
FROM fac_notificatie q,
|
||||
fac_srtnotificatie fs,
|
||||
fac_functie f,
|
||||
fac_v_webgebruiker wg,
|
||||
fac_version
|
||||
WHERE f.fac_functie_key = wg.fac_functie_key
|
||||
AND f.fac_functie_code = 'WEB_PRSSYS'
|
||||
AND q.fac_srtnotificatie_key = fs.fac_srtnotificatie_key
|
||||
AND BITAND (q.fac_notificatie_status, 64) = 0
|
||||
AND (q.prs_bedrijfadres_key IS NOT NULL OR q.fac_notificatie_systeemadres IS NOT NULL)
|
||||
AND q.fac_notificatie_failcount > 0
|
||||
AND (SYSDATE - q.fac_notificatie_datum) * 24 * 60 > fac.getSetting ('puo_failalert_threshold');
|
||||
|
||||
-- dagelijkse notificatie voor verwoede inlogpogingen (1 regel per user beetje veel misschien)
|
||||
CREATE OR REPLACE FORCE VIEW fac_v_noti_auditfail_day
|
||||
@@ -862,34 +853,33 @@ CREATE_VIEW (fac_v_imp_res_artikel_sync ,0) (hide_f_artikel_catalogus,
|
||||
artikelMinimum
|
||||
)
|
||||
AS
|
||||
SELECT (SELECT ins_discipline_omschrijving
|
||||
FROM ins_tab_discipline d
|
||||
WHERE d.ins_discipline_key = res_discipline_key),
|
||||
res_artikel_omschrijving,
|
||||
TO_CHAR (res_artikel_key),
|
||||
(SELECT ins_discipline_omschrijving
|
||||
FROM ins_tab_discipline d
|
||||
WHERE d.ins_discipline_key = res_discipline_key),
|
||||
(SELECT prs_kostensoort_oms
|
||||
FROM ins_tab_discipline d, prs_kostensoort k
|
||||
WHERE d.ins_discipline_key = res_discipline_key
|
||||
AND d.prs_kostensoort_key = k.prs_kostensoort_key),
|
||||
res_artikel_nr,
|
||||
res_artikel_omschrijving,
|
||||
res_artikel_eenheid,
|
||||
TO_CHAR (res_artikel_prijs),
|
||||
TO_CHAR (res_artikel_prijs_vast),
|
||||
TO_CHAR (res_artikel_inkoopprijs),
|
||||
TO_CHAR (res_artikel_kostenpersoneel),
|
||||
TO_CHAR (res_artikel_kostenalgemeen),
|
||||
TO_CHAR (res_artikel_btw),
|
||||
res_artikel_opmerking,
|
||||
res_artikel_groep,
|
||||
TO_CHAR (res_artikel_volgnummer),
|
||||
TO_CHAR (res_artikel_ingangsdatum, 'YYYYMMDD'),
|
||||
TO_CHAR (res_artikel_vervaldatum, 'YYYYMMDD'),
|
||||
TO_CHAR (res_artikel_minimum)
|
||||
FROM res_v_aanwezigartikel;
|
||||
SELECT d.ins_discipline_omschrijving,
|
||||
a.res_artikel_omschrijving,
|
||||
TO_CHAR (a.res_artikel_key),
|
||||
d.ins_discipline_omschrijving,
|
||||
(SELECT k.prs_kostensoort_oms
|
||||
FROM prs_kostensoort k
|
||||
WHERE k.prs_kostensoort_key = d.prs_kostensoort_key),
|
||||
a.res_artikel_nr,
|
||||
a.res_artikel_omschrijving,
|
||||
a.res_artikel_eenheid,
|
||||
TO_CHAR (a.res_artikel_prijs),
|
||||
TO_CHAR (a.res_artikel_prijs_vast),
|
||||
TO_CHAR (a.res_artikel_inkoopprijs),
|
||||
TO_CHAR (a.res_artikel_kostenpersoneel),
|
||||
TO_CHAR (a.res_artikel_kostenalgemeen),
|
||||
TO_CHAR (a.res_artikel_btw),
|
||||
a.res_artikel_opmerking,
|
||||
a.res_artikel_groep,
|
||||
TO_CHAR (a.res_artikel_volgnummer),
|
||||
TO_CHAR (a.res_artikel_ingangsdatum, 'YYYYMMDD'),
|
||||
TO_CHAR (a.res_artikel_vervaldatum, 'YYYYMMDD'),
|
||||
TO_CHAR (a.res_artikel_minimum)
|
||||
FROM res_v_aanwezigartikel a
|
||||
, res_discipline d
|
||||
WHERE d.ins_discipline_key = a.res_discipline_key
|
||||
AND d.ins_discipline_verwijder IS NULL;
|
||||
|
||||
|
||||
/* View met het maximale actuele menu van de huidige configuratie */
|
||||
CREATE_VIEW (fac_v_menu, 0)
|
||||
@@ -1003,92 +993,89 @@ AS
|
||||
WHERE imp_log_applicatie = '$PutOrders$' AND imp_log_datum > SYSDATE - 10;
|
||||
|
||||
CREATE_VIEW (fac_v_lcrap_fe_vs_key_data, 0)
|
||||
(
|
||||
prs_perslid_key
|
||||
, naam
|
||||
, usertype
|
||||
, oslogin
|
||||
, last_login
|
||||
, key_user
|
||||
)
|
||||
AS
|
||||
SELECT x.prs_perslid_key,
|
||||
naam,
|
||||
usertype,
|
||||
oslogin,
|
||||
last_login,
|
||||
a.key_user,
|
||||
b.xd_user
|
||||
FROM (SELECT p.prs_perslid_key,
|
||||
(SELECT prs_perslid_naam_full
|
||||
FROM prs_v_perslid_fullnames_all pf
|
||||
WHERE pf.prs_perslid_key = p.prs_perslid_key)
|
||||
naam,
|
||||
'user'
|
||||
usertype,
|
||||
COALESCE (p.prs_perslid_oslogin, p.prs_perslid_oslogin2)
|
||||
oslogin,
|
||||
p.prs_perslid_login
|
||||
last_login
|
||||
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
|
||||
(SELECT 1
|
||||
FROM fac_v_webgebruiker
|
||||
WHERE prs_perslid_key = p.prs_perslid_key)
|
||||
UNION ALL
|
||||
SELECT p.prs_perslid_key,
|
||||
(SELECT prs_perslid_naam_full
|
||||
FROM prs_v_perslid_fullnames_all pf
|
||||
WHERE pf.prs_perslid_key = p.prs_perslid_key)
|
||||
naam,
|
||||
'user'
|
||||
usertype,
|
||||
COALESCE (p.prs_perslid_oslogin, p.prs_perslid_oslogin2)
|
||||
oslogin,
|
||||
NULL
|
||||
last_login -- geen login (lees zonder rechten), dus telt als nooit recent ingelogd!
|
||||
FROM prs_v_aanwezigperslid p
|
||||
WHERE NOT EXISTS -- g<EFBFBD><EFBFBD>n groep + rechten!
|
||||
(SELECT 1
|
||||
FROM fac_v_webgebruiker gg
|
||||
WHERE gg.prs_perslid_key = p.prs_perslid_key)
|
||||
AND ( fac.getsetting ('mld_allow_for_others') = 1
|
||||
OR EXISTS
|
||||
(SELECT 1
|
||||
FROM bes_disc_params dp, bes_discipline bd
|
||||
WHERE dp.bes_disc_params_for_others = 1
|
||||
AND bd.ins_discipline_key = dp.bes_ins_discipline_key
|
||||
AND bd.ins_discipline_verwijder IS NULL))
|
||||
UNION ALL -- FSN#27315: En ook eventuele "sensorusers" meetellen!
|
||||
SELECT NULL prs_perslid_key,
|
||||
sd.ins_srtdeel_omschrijving naam,
|
||||
'sensorobject' usertype,
|
||||
ins_deel_omschrijving oslogin,
|
||||
ins_deel_statedate last_login -- recent actief dus tellen als recent
|
||||
FROM ins_v_aanwezigdeel d, ins_srtdeel sd
|
||||
WHERE d.ins_srtdeel_key = sd.ins_srtdeel_key AND NVL(sd.ins_srtdeel_sensortype,0) <> 0) x
|
||||
LEFT JOIN -- 1=user heeft schrijfrechten op key-codes=notFE-codes
|
||||
(SELECT DISTINCT prs_perslid_key, 1 key_user
|
||||
FROM (SELECT g.prs_perslid_key, 1 key_user
|
||||
FROM fac_v_webgebruiker g, fac_functie f
|
||||
WHERE g.fac_functie_key = f.fac_functie_key
|
||||
AND f.fac_functie_groep IN (1, 2)
|
||||
AND g.fac_gebruiker_prs_level_write < 9
|
||||
AND g.fac_gebruiker_alg_level_write < 9
|
||||
UNION
|
||||
SELECT p.prs_perslid_key, 1 key_user
|
||||
FROM fac_groep fg, fac_gebruikersgroep fgg, prs_perslid p
|
||||
WHERE fac_groep_collega = 1
|
||||
AND fg.fac_groep_key = fgg.fac_groep_key
|
||||
AND p.prs_perslid_key = fgg.prs_perslid_key
|
||||
AND p.prs_perslid_verwijder IS NULL
|
||||
AND fg.fac_groep_key IN ( SELECT fac_groep_key
|
||||
FROM fac_gebruikersgroep
|
||||
GROUP BY fac_groep_key
|
||||
HAVING COUNT (prs_perslid_key) > 9))) a
|
||||
ON x.prs_perslid_key = a.prs_perslid_key
|
||||
LEFT JOIN -- FSN#30404: 1=user is cross-domain (xd) user
|
||||
(SELECT p.prs_perslid_key, 1 xd_user
|
||||
FROM prs_v_aanwezigperslid p, prs_v_afdeling_boom ab
|
||||
WHERE p.prs_afdeling_key = ab.prs_afdeling_key
|
||||
AND p.prs_perslid_apikey IS NOT NULL
|
||||
AND ab.prs_bedrijf_key =
|
||||
fac.safe_to_number (fac.getsetting ('xd_primary_bedrijfkey'))) b
|
||||
ON x.prs_perslid_key = b.prs_perslid_key;
|
||||
SELECT x.prs_perslid_key
|
||||
, naam
|
||||
, usertype
|
||||
, oslogin
|
||||
, last_login
|
||||
, a.key_user
|
||||
FROM (SELECT p.prs_perslid_key
|
||||
, (SELECT prs_perslid_naam_full
|
||||
FROM prs_v_perslid_fullnames_all pf
|
||||
WHERE pf.prs_perslid_key = p.prs_perslid_key)
|
||||
naam
|
||||
, 'user'
|
||||
usertype
|
||||
, COALESCE (p.prs_perslid_oslogin, p.prs_perslid_oslogin2)
|
||||
oslogin
|
||||
, p.prs_perslid_login
|
||||
last_login
|
||||
FROM prs_v_aanwezigperslid p
|
||||
WHERE ( prs_perslid_oslogin IS NULL
|
||||
OR prs_perslid_oslogin NOT IN ('_FACILITOR'
|
||||
, '_PUTORDERS'
|
||||
, '_HMAIL'
|
||||
, '_SYSTEEM'))
|
||||
AND EXISTS -- op basis van groep + rechten
|
||||
(SELECT 1
|
||||
FROM fac_v_webgebruiker
|
||||
WHERE prs_perslid_key = p.prs_perslid_key)
|
||||
UNION ALL
|
||||
SELECT p.prs_perslid_key
|
||||
, (SELECT prs_perslid_naam_full
|
||||
FROM prs_v_perslid_fullnames_all pf
|
||||
WHERE pf.prs_perslid_key = p.prs_perslid_key)
|
||||
naam
|
||||
, 'user'
|
||||
usertype
|
||||
, COALESCE (p.prs_perslid_oslogin, p.prs_perslid_oslogin2)
|
||||
oslogin
|
||||
, NULL
|
||||
last_login -- geen login (lees zonder rechten), dus telt als nooit recent ingelogd!
|
||||
FROM prs_v_aanwezigperslid p
|
||||
WHERE NOT EXISTS -- g<><67>n groep + rechten!
|
||||
(SELECT 1
|
||||
FROM fac_v_webgebruiker gg
|
||||
WHERE gg.prs_perslid_key = p.prs_perslid_key)
|
||||
AND ( fac.getsetting ('mld_allow_for_others') = 1
|
||||
OR EXISTS
|
||||
(SELECT 1
|
||||
FROM bes_disc_params dp, bes_discipline bd
|
||||
WHERE dp.bes_disc_params_for_others = 1 AND bd.ins_discipline_key = dp.bes_ins_discipline_key AND bd.ins_discipline_verwijder IS NULL))
|
||||
UNION ALL -- FSN#27315: En ook eventuele "sensorusers" meetellen!
|
||||
SELECT NULL prs_perslid_key
|
||||
, sd.ins_srtdeel_omschrijving naam
|
||||
, 'sensorobject' usertype
|
||||
, ins_deel_omschrijving oslogin
|
||||
, ins_deel_statedate last_login -- recent actief dus tellen als recent
|
||||
FROM ins_v_aanwezigdeel d, ins_srtdeel sd
|
||||
WHERE d.ins_srtdeel_key = sd.ins_srtdeel_key AND NVL (sd.ins_srtdeel_sensortype, 0) <> 0) x
|
||||
LEFT JOIN -- 1=user heeft schrijfrechten op key-codes=notFE-codes
|
||||
(SELECT DISTINCT prs_perslid_key, 1 key_user
|
||||
FROM (SELECT g.prs_perslid_key, 1 key_user
|
||||
FROM fac_v_webgebruiker g, fac_functie f
|
||||
WHERE g.fac_functie_key = f.fac_functie_key AND f.fac_functie_groep IN (1, 2) AND g.fac_gebruiker_prs_level_write < 9 AND g.fac_gebruiker_alg_level_write < 9
|
||||
UNION
|
||||
SELECT p.prs_perslid_key, 1 key_user
|
||||
FROM fac_groep fg, fac_gebruikersgroep fgg, prs_perslid p
|
||||
WHERE fac_groep_collega = 1
|
||||
AND fg.fac_groep_key = fgg.fac_groep_key
|
||||
AND p.prs_perslid_key = fgg.prs_perslid_key
|
||||
AND p.prs_perslid_verwijder IS NULL
|
||||
AND fg.fac_groep_key IN ( SELECT fac_groep_key
|
||||
FROM fac_gebruikersgroep
|
||||
GROUP BY fac_groep_key
|
||||
HAVING COUNT (prs_perslid_key) > 9))) a
|
||||
ON x.prs_perslid_key = a.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)
|
||||
@@ -1117,37 +1104,43 @@ AS
|
||||
-- personen zonder rechten worden als passive_user toegevoegd
|
||||
CREATE_VIEW (fac_v_lcrap_fe_vs_key, 0)
|
||||
(
|
||||
tijdstip,
|
||||
all_users,
|
||||
fe_users,
|
||||
key_users,
|
||||
devices,
|
||||
passive_users,
|
||||
xdkey_users,
|
||||
recent_login
|
||||
tijdstip
|
||||
, licensed_fe_users
|
||||
, licensed_key_users
|
||||
, licensed_device_users
|
||||
, licensed_passive_users
|
||||
, fe_users
|
||||
, key_users
|
||||
, devices
|
||||
, passive_users
|
||||
, all_users
|
||||
, recent_login
|
||||
, licensed_delta_fe
|
||||
, licensed_delta_key
|
||||
, licensed_delta_device
|
||||
, licensed_delta_passive
|
||||
)
|
||||
BEQUEATH DEFINER
|
||||
AS
|
||||
SELECT tijdstip,
|
||||
all_users,
|
||||
fe_users,
|
||||
key_users,
|
||||
NVL (system_users, 0),
|
||||
NVL (passive_users, 0),
|
||||
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
|
||||
SELECT tijdstip
|
||||
, fac.getsetting ('licensed_fe_users') licensed_fe_users
|
||||
, fac.getsetting ('licensed_key_users') licensed_key_users
|
||||
, fac.getsetting ('licensed_device_users') licensed_device_users
|
||||
, fac.getsetting ('licensed_passive_users') licensed_passive_users
|
||||
, fe_users
|
||||
, key_users
|
||||
, NVL (system_users, 0)
|
||||
, NVL (passive_users, 0)
|
||||
, all_users
|
||||
, recent_login
|
||||
, fac.safe_to_number (fac.getsetting ('licensed_fe_users')) - fe_users delta_fe
|
||||
, fac.safe_to_number (fac.getsetting ('licensed_key_users')) - key_users delta_key
|
||||
, fac.safe_to_number (fac.getsetting ('licensed_device_users')) - NVL (system_users, 0) delta_device
|
||||
, fac.safe_to_number (fac.getsetting ('licensed_passive_users')) - NVL (passive_users, 0) delta_passive
|
||||
FROM (SELECT SYSDATE tijdstip
|
||||
, COUNT (*) all_users
|
||||
, COUNT (*) - SUM (DECODE (x.key_user, NULL, 0, 1)) fe_users
|
||||
, SUM (DECODE (x.key_user, NULL, 0, 1)) key_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
|
||||
@@ -1837,6 +1830,7 @@ AS
|
||||
km.res_kenmerk_niveau kenmerk_niveau,
|
||||
km.res_kenmerk_verplicht kenmerk_verplicht,
|
||||
km.res_kenmerk_groep kenmerk_groep,
|
||||
km.res_kenmerk_rolcode kenmerk_rolcode,
|
||||
km.res_kenmerk_volgnummer kenmerk_volgnummer,
|
||||
km.res_kenmerk_default kenmerk_default,
|
||||
km.res_kenmerk_toonbaar kenmerk_toonbaar,
|
||||
@@ -1883,6 +1877,7 @@ AS
|
||||
bes_kenmerk_niveau kenmerk_niveau,
|
||||
bes_kenmerk_verplicht kenmerk_verplicht,
|
||||
bes_kenmerk_groep kenmerk_groep,
|
||||
bes_kenmerk_rolcode kenmerk_rolcode,
|
||||
bes_kenmerk_volgnummer kenmerk_volgnummer,
|
||||
bes_kenmerk_default kenmerk_default,
|
||||
bes_kenmerk_toonbaar kenmerk_toonbaar,
|
||||
@@ -1978,6 +1973,7 @@ AS
|
||||
mld_kenmerk_niveau kenmerk_niveau,
|
||||
mld_kenmerk_verplicht kenmerk_verplicht,
|
||||
mld_kenmerk_groep kenmerk_groep,
|
||||
mld_kenmerk_rolcode kenmerk_rolcode,
|
||||
mld_kenmerk_volgnummer kenmerk_volgnummer,
|
||||
mld_kenmerk_default kenmerk_default,
|
||||
mld_kenmerk_toonbaar kenmerk_toonbaar,
|
||||
@@ -2131,6 +2127,7 @@ AS
|
||||
km.cnt_kenmerk_niveau kenmerk_niveau,
|
||||
km.cnt_kenmerk_verplicht kenmerk_verplicht,
|
||||
km.cnt_kenmerk_groep kenmerk_groep,
|
||||
km.cnt_kenmerk_rolcode kenmerk_rolcode,
|
||||
km.cnt_kenmerk_volgnummer kenmerk_volgnummer,
|
||||
km.cnt_kenmerk_default kenmerk_default,
|
||||
km.cnt_kenmerk_toonbaar kenmerk_toonbaar,
|
||||
@@ -2177,6 +2174,7 @@ AS
|
||||
ins_kenmerk_niveau kenmerk_niveau,
|
||||
ins_kenmerk_verplicht kenmerk_verplicht,
|
||||
ins_kenmerk_groep kenmerk_groep,
|
||||
ins_kenmerk_rolcode kenmerk_rolcode,
|
||||
ins_kenmerk_volgnummer kenmerk_volgnummer,
|
||||
ins_kenmerk_default kenmerk_default,
|
||||
ins_kenmerk_toonbaar kenmerk_toonbaar,
|
||||
@@ -2303,6 +2301,7 @@ AS
|
||||
NULL kenmerk_niveau,
|
||||
km.fin_kenmerk_verplicht kenmerk_verplicht,
|
||||
km.fin_kenmerk_groep kenmerk_groep,
|
||||
km.fin_kenmerk_rolcode kenmerk_rolcode,
|
||||
km.fin_kenmerk_volgnr kenmerk_volgnummer,
|
||||
km.fin_kenmerk_default kenmerk_default,
|
||||
km.fin_kenmerk_toonbaar kenmerk_toonbaar,
|
||||
@@ -2342,6 +2341,7 @@ AS
|
||||
, k.ins_kenmerk_niveau kenmerk_niveau
|
||||
, k.ins_kenmerk_verplicht kenmerk_verplicht
|
||||
, k.ins_kenmerk_groep kenmerk_groep
|
||||
, k.ins_kenmerk_rolcode kenmerk_rolcode
|
||||
, k.ins_kenmerk_volgnummer kenmerk_volgnummer
|
||||
, k.ins_kenmerk_default kenmerk_default
|
||||
, k.ins_kenmerk_toonbaar kenmerk_toonbaar
|
||||
|
||||
@@ -134,8 +134,8 @@ SELECT b.prs_bedrijf_naam Bedrijfsnaam
|
||||
-- importtabel: fac_imp_inspectie
|
||||
CREATE OR REPLACE VIEW fac_v_exp_inspectie
|
||||
AS
|
||||
SELECT d.ins_discipline_omschrijving Disciplineomschrijving
|
||||
, g.ins_srtgroep_omschrijving Groepsoortomschrijving
|
||||
SELECT a.discipline_oms Disciplineomschrijving
|
||||
, a.srtgroep_oms Groepsoortomschrijving
|
||||
, s.ins_srtdeel_code Objectsoortcode
|
||||
, c.ins_srtcontrole_omschrijving Controle_omschrijving
|
||||
, c.ins_srtcontrole_info Controle_informatie
|
||||
@@ -143,13 +143,16 @@ SELECT d.ins_discipline_omschrijving Disciplineomschrijving
|
||||
, c.ins_srtcontrole_eenheid Eenheid
|
||||
, c.ins_srtcontrole_mode Controle_mode
|
||||
, c.ins_srtcontrole_bits Bits
|
||||
FROM ins_srtcontrole c
|
||||
, (SELECT t.ins_discipline_omschrijving
|
||||
FROM ctr_discipline t
|
||||
WHERE t.ins_discipline_key = c.ctr_discipline_key
|
||||
) Taakcategorie
|
||||
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
|
||||
, ins_v_allsrtinstallatie a
|
||||
WHERE c.ins_srtcontrole_niveau = a.niveau
|
||||
AND c.ins_srtinstallatie_key = a.ins_srtinstallatie_key
|
||||
AND a.ins_srtdeel_key = s.ins_srtdeel_key(+)
|
||||
;
|
||||
|
||||
-- import: FIP: 6-Aanvullen objecten
|
||||
@@ -183,6 +186,8 @@ AS
|
||||
, TO_CHAR(id.ins_deel_vervaldatum,'dd-mm-yyyy') Vervaldatum
|
||||
, id.ins_deel_aantal Aantal
|
||||
, id.ins_deel_externnr Externnr
|
||||
, NULL Parentobjectsoortomschr
|
||||
, NULL Parentobjectidentificatie
|
||||
, NULL Kenmerk1
|
||||
, NULL Kenmerk2
|
||||
, NULL Kenmerk3
|
||||
@@ -214,8 +219,8 @@ AS
|
||||
, 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.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(+)
|
||||
@@ -257,6 +262,7 @@ SELECT sd.ins_srtdiscipline_omschrijving vakgroeptype
|
||||
, sm.mld_stdmelding_afmeldtext tekst_bij_afmelden
|
||||
, DECODE(sm.mld_stdmelding_doublecheck, 1, 'i', 2, 'a', 3, 'b', 'n') dubbele_meldingen
|
||||
, mld_stdmelding_slabewaken sla_bewaken
|
||||
, mld_stdmelding_objects_allowed max_objecten
|
||||
, md.ins_discipline_image disc_image
|
||||
, sm.mld_stdmelding_image stdm_image
|
||||
, sm.mld_stdmelding_externnr externnr
|
||||
@@ -275,30 +281,37 @@ SELECT sd.ins_srtdiscipline_omschrijving vakgroeptype
|
||||
AND sm.prs_kostensoort_key = ks.prs_kostensoort_key(+)
|
||||
AND sm.mld_typeopdr_key = mt.mld_typeopdr_key(+)
|
||||
AND sm.prs_dienst_key = pd.prs_dienst_key(+)
|
||||
AND sm.mld_stdmelding_verwijder IS NULL
|
||||
AND ( sm.mld_stdmelding_vervaldatum IS NULL
|
||||
OR sm.mld_stdmelding_vervaldatum > SYSDATE)
|
||||
AND md.ins_discipline_verwijder IS NULL
|
||||
AND sd.ins_srtdiscipline_verwijder IS NULL
|
||||
;
|
||||
|
||||
-- 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
|
||||
CREATE OR REPLACE FORCE 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_naam 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_land Land,
|
||||
l.alg_locatie_post_adres Postadres,
|
||||
l.alg_locatie_post_postcode postPostcode,
|
||||
l.alg_locatie_post_plaats postPlaats,
|
||||
l.alg_locatie_post_land Land,
|
||||
l.alg_locatie_post_postcode Postpostcode,
|
||||
l.alg_locatie_post_plaats Postplaats,
|
||||
l.alg_locatie_post_land Postland,
|
||||
sg.alg_srtgebouw_omschrijving Gebouwfunctie,
|
||||
g.alg_gebouw_code Gebouwcode,
|
||||
g.alg_gebouw_naam Gebouwnaam,
|
||||
g.alg_gebouw_adres Gebouwadres,
|
||||
g.alg_gebouw_postcode Gebouwpostcode,
|
||||
NULL kenmerk1,
|
||||
NULL kenmerk2,
|
||||
NULL kenmerk3,
|
||||
@@ -341,7 +354,7 @@ SELECT l.alg_locatie_code Locatiecode
|
||||
, pa.prs_afdeling_naam Afdelingscode
|
||||
, ra.prs_ruimteafdeling_bezetting Bezetting
|
||||
, CASE WHEN rb.aantal IS NULL
|
||||
THEN 0
|
||||
THEN 0
|
||||
ELSE 1
|
||||
END ReserveerbareRuimte
|
||||
, rd.ins_discipline_omschrijving Categorie
|
||||
@@ -482,7 +495,7 @@ SELECT l.alg_locatie_code Locatiecode
|
||||
, alg_verdieping v
|
||||
, prs_perslidwerkplek b
|
||||
, prs_werkplek w
|
||||
, prs_kostenplaats k
|
||||
, prs_kostenplaats k
|
||||
WHERE p.prs_srtperslid_key = s.prs_srtperslid_key(+)
|
||||
AND p.prs_afdeling_key = a.prs_afdeling_key(+)
|
||||
AND w.prs_alg_ruimte_key = o.alg_onroerendgoed_keys(+)
|
||||
@@ -551,23 +564,27 @@ SELECT c.cnt_contract_nummer_intern ContractNr
|
||||
, TO_CHAR(c.cnt_contract_termijnkosten) Termijnbedrag --X_termijnbedrag
|
||||
, TO_CHAR(c.cnt_contract_uurloon) Uurtarief --Y_uurtarief
|
||||
, TO_CHAR(c.cnt_contract_korting) Korting --Z_korting
|
||||
, p.cnt_alg_plaats_code ScopeType --AA_scope
|
||||
, (SELECT MIN(CASE WHEN p.cnt_alg_plaats_code = 'L' THEN alg_locatie_code
|
||||
WHEN p.cnt_alg_plaats_code = 'G' THEN alg_gebouw_code
|
||||
ELSE ''
|
||||
END)
|
||||
FROM alg_v_gebouw_gegevens
|
||||
WHERE CASE WHEN p.cnt_alg_plaats_code = 'L' THEN alg_locatie_key
|
||||
WHEN p.cnt_alg_plaats_code = 'G' THEN alg_gebouw_key
|
||||
END = p.cnt_alg_plaats_key
|
||||
) LocatieGebouw_code --AB_locatiegebouw
|
||||
, c.cnt_contract_verlenging Verlengen --AC_verlengen
|
||||
--, CASE WHEN c.cnt_contract_verlenging = 5
|
||||
-- THEN cnt.cnt_getTermijndatum( c.cnt_contract_looptijd_tot
|
||||
-- , c.cnt_contract_verleng_termijn
|
||||
-- , 1)
|
||||
-- ELSE NULL
|
||||
-- END Verlengdatum
|
||||
, CASE WHEN p.cnt_alg_plaats_code IN ('L','T','G','V','R')
|
||||
THEN g.alg_locatie_code
|
||||
ELSE NULL
|
||||
END locatiecode --AA_locatiecode
|
||||
, CASE WHEN p.cnt_alg_plaats_code IN ('T')
|
||||
THEN g.alg_terreinsector_code
|
||||
ELSE NULL
|
||||
END terreincode --AB_terreincode
|
||||
, CASE WHEN p.cnt_alg_plaats_code IN ('G','V','R')
|
||||
THEN g.alg_gebouw_code
|
||||
ELSE NULL
|
||||
END gebouwcode --AC_gebouwcode
|
||||
, CASE WHEN p.cnt_alg_plaats_code IN ('V','R')
|
||||
THEN g.alg_verdieping_code
|
||||
ELSE NULL
|
||||
END verdiepingcode --AD_verdiepingcode
|
||||
, CASE WHEN p.cnt_alg_plaats_code IN ('R')
|
||||
THEN g.alg_ruimte_nr
|
||||
ELSE NULL
|
||||
END ruimtecode --AE_ruimtecode
|
||||
, c.cnt_contract_verlenging Verlengen --AF_verlengen
|
||||
FROM cnt_contract c
|
||||
, (SELECT mm.cnt_contract_key
|
||||
, mm.cnt_contract_nummer_intern
|
||||
@@ -578,18 +595,32 @@ SELECT c.cnt_contract_nummer_intern ContractNr
|
||||
AND md.cnt_srtcontract_type = 6
|
||||
AND mm.cnt_contract_status != 1
|
||||
) m
|
||||
, (SELECT o.*, l.alg_locatie_code
|
||||
FROM alg_v_onroerendgoed_gegevens o
|
||||
, alg_locatie l
|
||||
WHERE o.alg_locatie_key = l.alg_locatie_key
|
||||
UNION
|
||||
SELECT l.alg_locatie_key, NULL, NULL
|
||||
, l.alg_locatie_code, NULL
|
||||
, NULL, NULL, NULL
|
||||
, NULL, NULL, NULL
|
||||
, NULL, NULL, NULL
|
||||
, NULL, NULL, NULL
|
||||
, l.alg_locatie_key, 'L', l.alg_locatie_code
|
||||
FROM alg_locatie l
|
||||
) g
|
||||
, cnt_contract_plaats p
|
||||
, prs_afdeling a
|
||||
, prs_v_aanwezigperslid b
|
||||
, prs_v_aanwezigperslid e
|
||||
, prs_kostenplaats k
|
||||
WHERE c.cnt_contract_mantel_key = m.cnt_contract_key(+)
|
||||
WHERE c.cnt_contract_mantel_key = m.cnt_contract_key(+)
|
||||
AND c.cnt_contract_key = p.cnt_contract_key(+)
|
||||
AND c.prs_afdeling_key_eig = a.prs_afdeling_key
|
||||
AND c.prs_perslid_key_beh = b.prs_perslid_key
|
||||
AND c.prs_perslid_key_eig = e.prs_perslid_key
|
||||
AND c.prs_perslid_key_eig = e.prs_perslid_key(+)
|
||||
AND c.prs_kostenplaats_key = k.prs_kostenplaats_key
|
||||
AND c.cnt_contract_verwijder IS NULL
|
||||
AND c.cnt_contract_verwijder IS NULL
|
||||
AND a.prs_afdeling_verwijder IS NULL
|
||||
AND b.prs_perslid_email IS NOT NULL
|
||||
AND k.prs_kostenplaats_verwijder IS NULL
|
||||
@@ -597,4 +628,34 @@ SELECT c.cnt_contract_nummer_intern ContractNr
|
||||
, c.cnt_contract_versie
|
||||
;
|
||||
|
||||
CREATE OR REPLACE FORCE VIEW fac_v_exp_res_artikel_sync
|
||||
AS
|
||||
SELECT ra.res_artikel_key ArtikelKey
|
||||
, rd.ins_discipline_omschrijving CatalogusNaam
|
||||
, pk.prs_kostensoort_oms CatalogusKostensoort
|
||||
, ra.res_artikel_nr ArtikelNummer
|
||||
, ra.res_artikel_omschrijving ArtikelOmschrijving
|
||||
, ra.res_artikel_eenheid ArtikelEenheid
|
||||
, ra.res_artikel_prijs ArtikelPrijs
|
||||
, ra.res_artikel_prijs_vast ArtikelPrijsVast
|
||||
, ra.res_artikel_inkoopprijs ArtikelInkoopprijs
|
||||
, ra.res_artikel_kostenpersoneel ArtikelPersoneelkosten
|
||||
, ra.res_artikel_kostenalgemeen ArtikelAlgemenekosten
|
||||
, ra.res_artikel_BTW ArtikelBTW
|
||||
, ra.res_artikel_opmerking ArtikelOpmerking
|
||||
, ra.res_artikel_groep ArtikelGroep
|
||||
, ra.res_artikel_volgnummer ArtikelVolgnummer
|
||||
, TO_CHAR(ra.res_artikel_ingangsdatum, 'yyyymmdd') ArtikelIngangsdatum
|
||||
, TO_CHAR(ra.res_artikel_vervaldatum, 'yyyymmdd') ArtikelVervaldatum
|
||||
, ra.res_artikel_minimum ArtikelMinimum
|
||||
, ra.res_artikel_externnr Externnr
|
||||
FROM res_artikel ra
|
||||
, res_discipline rd
|
||||
, prs_kostensoort pk
|
||||
WHERE ra.res_discipline_key = rd.ins_discipline_key
|
||||
AND rd.prs_kostensoort_key = pk.prs_kostensoort_key(+)
|
||||
AND ra.res_artikel_verwijder IS NULL
|
||||
AND TRUNC(ra.res_artikel_vervaldatum) > TRUNC(SYSDATE)
|
||||
;
|
||||
|
||||
REGISTERRUN('$Id$')
|
||||
|
||||
1896
FAC/facilitor.json
Normal file
1896
FAC/facilitor.json
Normal file
File diff suppressed because it is too large
Load Diff
1722
FAC/facilitor.xsd
Normal file
1722
FAC/facilitor.xsd
Normal file
File diff suppressed because it is too large
Load Diff
6
FCLT.NMK
6
FCLT.NMK
@@ -60,9 +60,9 @@ PROJEXE=z:\Project\FACILITOR\BUILD
|
||||
##
|
||||
## New style using schemanumbers
|
||||
##
|
||||
CURRENTVERSION=49
|
||||
NEXTVERSION=50
|
||||
FILEVERSION=
|
||||
CURRENTVERSION=51
|
||||
NEXTVERSION=52
|
||||
FILEVERSION=a
|
||||
NEXTROOT=DB$(NEXTVERSION)$(FILEVERSION)
|
||||
CURRENTUPDATE=DB$(CURRENTVERSION)to$(NEXTVERSION)
|
||||
|
||||
|
||||
21
FCLT.SRC
21
FCLT.SRC
@@ -22,17 +22,17 @@ spool &fcltlogfile
|
||||
WHENEVER SQLERROR EXIT;
|
||||
DECLARE
|
||||
tekst VARCHAR2 (1000);
|
||||
charset VARCHAR2 (1000);
|
||||
n_object NUMBER (10);
|
||||
BEGIN
|
||||
CASE ASCII('<27>')
|
||||
WHEN 191 THEN tekst :='WE8ISO8859P1';
|
||||
WHEN 128 THEN tekst :='WE8MSWIN1252'; -- De enige goede
|
||||
ELSE tekst :='UNKNOWN ';
|
||||
END CASE;
|
||||
IF tekst <> 'WE8MSWIN1252' THEN
|
||||
SELECT MIN(client_charset)
|
||||
INTO charset
|
||||
FROM v$session_connect_info
|
||||
WHERE sid = sys_context('USERENV','SID');
|
||||
IF charset <> 'WE8MSWIN1252' THEN
|
||||
tekst := '=================================================================' || CHR(10)
|
||||
|| 'Foute clientside NLS_LANG ['|| TO_CHAR(ASCII('<27>')) ||'] voor dit Facilitor script.' || CHR(10)
|
||||
|| 'WE8MSWIN1252 is nodig, ik vermoed '|| tekst || CHR(10)
|
||||
|| 'Foute clientside NLS_LANG voor dit Facilitor script.' || CHR(10)
|
||||
|| 'WE8MSWIN1252 is nodig, ik vermoed '|| charset || CHR(10)
|
||||
|| 'Geef bijvoorbeeld in Windows voordat SQL*Plus opstart:' || CHR(10)
|
||||
|| 'SET NLS_LANG=.WE8MSWIN1252' || CHR(10)
|
||||
|| 'Het script wordt nu afgebroken!' || CHR(10)
|
||||
@@ -67,12 +67,15 @@ PROMPT
|
||||
SELECT 'Current os_user: ' || SYS_CONTEXT( 'userenv', 'os_user' ) FROM DUAL;
|
||||
PROMPT
|
||||
|
||||
ALTER SESSION SET nls_length_semantics='char';
|
||||
|
||||
SET LINESIZE 1000
|
||||
SET DEFINE OFF
|
||||
SET ECHO ON
|
||||
#include "adm\adm_tab.src"
|
||||
#include "adm\adm_seq.src"
|
||||
#include "adm\adm_tri.src"
|
||||
/* adm_pac.src komt straks nog een keer met de recreate maar we hebben hem al eerder nodig */
|
||||
#include "adm\adm_pac.src"
|
||||
|
||||
/* TYPES */
|
||||
@@ -203,6 +206,6 @@ PROMPT ======================================================================
|
||||
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 If in doubt please contact: Facilitor Helpdesk +31 53 4800 710
|
||||
PROMPT Copyright (c) 1996-2025 Aareon Nederland B.V. All rights reserved.
|
||||
SPOOL OFF
|
||||
|
||||
@@ -515,7 +515,7 @@ AS
|
||||
WHERE cnt_contract_key = c_key
|
||||
AND fin_factuur_statuses_key <> 1
|
||||
AND fin_factuur_verwijder IS NULL
|
||||
AND fin_factuur_datum <= factuurdatum
|
||||
AND (fin_factuur_datum <= factuurdatum OR fin_factuur_statuses_key IN (6, 7)) -- Akkoord(6) en Verwerkt(7)
|
||||
AND fin_factuur_boekmaand = factuurboekmaand;
|
||||
|
||||
-- totaaltermijngefactureerd(btw) is dus voor deze periode inclusief deze nieuwe, dus
|
||||
@@ -530,7 +530,7 @@ AS
|
||||
WHERE cnt_contract_key = c_key
|
||||
AND fin_factuur_statuses_key <> 1
|
||||
AND fin_factuur_verwijder IS NULL
|
||||
AND fin_factuur_datum <= factuurdatum;
|
||||
AND (fin_factuur_datum <= factuurdatum OR fin_factuur_statuses_key IN (6, 7)); -- Akkoord(6) en Verwerkt(7)
|
||||
|
||||
DBMS_OUTPUT.put_line ('Totaal gefactureerd: ' || totaalgefactureerd);
|
||||
DBMS_OUTPUT.put_line ('Totaal gefactureerd periode: ' || totaaltermijngefactureerd);
|
||||
@@ -624,7 +624,7 @@ AS
|
||||
WHERE mld_opdr_key = o_key
|
||||
AND fin_factuur_statuses_key <> 1
|
||||
AND fin_factuur_verwijder IS NULL
|
||||
AND fin_factuur_datum <= factuurdatum;
|
||||
AND (fin_factuur_datum <= factuurdatum OR fin_factuur_statuses_key IN (6, 7)); -- Akkoord(6) en Verwerkt(7)
|
||||
|
||||
-- Hier kunnen we iets met de deels nieuwe opties
|
||||
-- '0;Geen facturen;1;E<>n factuur (vaste prijs);2;E<>n factuur (nacalculatie);3;Meerdere facturen;4;Contracttermijnen',
|
||||
|
||||
@@ -190,6 +190,9 @@ CREATE_TABLE(fin_kenmerk,0)
|
||||
,fin_kenmerk_volgnr
|
||||
NUMBER(3)
|
||||
NOT NULL
|
||||
,fin_kenmerk_rolcode
|
||||
NUMBER(4)
|
||||
DEFAULT 7 NOT NULL
|
||||
,fin_kenmerk_omschrijving
|
||||
VARCHAR2(50)
|
||||
,fin_kenmerk_upper
|
||||
|
||||
@@ -1,269 +1,101 @@
|
||||
--
|
||||
-- $Id$
|
||||
--
|
||||
-- Script bevat initiele configuratie voor een standaard FM inrichting van Facilitor
|
||||
-- Voor FM-implementaties zal dit Het Startpunt zijn.
|
||||
--
|
||||
--
|
||||
-- Verwachting is dat dit zo ongeveer het eerste is wat je altijd zult doen bij een FM-implementatie,
|
||||
-- niettemin doen we ons best -en zullen we dat moeten verifieren- om het zodanig opgezet te hebben
|
||||
-- dat het ook later nog kan worden uitgevoerd. Niet omdat dat waarschijnlijk is, maar omdat zo
|
||||
-- de meest robuuste code wordt gemaakt, die bestand is tegen een onverwachte situatie.
|
||||
--
|
||||
-- Het kan [alleen] uitgaan van alles wat standaard aanwezig is (uit fac_ini).
|
||||
--
|
||||
-- Moet in sync worden gehouden met de DB-versies, is daarom technisch onderdeel van de Facilitor-core
|
||||
-- Inhoudelijk zou er een Implementatie-CAB mogen zijn (vertegenwoordigers van consultancy, support en evt core-CAB)
|
||||
-- die de verantwoordelijkheid over de content heeft.
|
||||
--
|
||||
-- Ook goed om te weten: dit is een eenmalig (once) script dat een momentopname genereert als startpunt van
|
||||
-- een verdere implementatie. Er komen GEEN upgrades voor deze initialisatie met nieuwere versies of
|
||||
-- aanvullingen. Na deze aftrap mag je het verder helemaal zelf doen.
|
||||
--
|
||||
-- De basisinrichting wordt per module van onder naar boven opgebouwd, en eindigt met een zeer bescheiden
|
||||
-- aantal appetizers: fictieve gegevens die e.e.a. voor de eerste confrontatie minder abstract maken.
|
||||
--
|
||||
--
|
||||
-- Let op: deze code wordt letterlijk geinclude als body van procedure ini.fmis_ini, het is geen SQL*Plus!
|
||||
--
|
||||
-- Er wordt gebruik gemaakt van importfuncties, die COMMIT's doen. Deze hele procedure moet dus foutloos
|
||||
-- lopen want het is alles of niks.
|
||||
--
|
||||
/* Script bevat initiele configuratie voor een standaard FM inrichting van Facilitor.
|
||||
Voor FM-implementaties zal dit Het Startpunt zijn. Verwachting is dat dit zo ongeveer het eerste is wat je altijd zult doen bij een FM-implementatie,
|
||||
niettemin doen we ons best -en zullen we dat moeten verifieren- om het zodanig opgezet te hebben dat het ook later nog kan worden uitgevoerd.
|
||||
Niet omdat dat waarschijnlijk is, maar omdat zode meest robuuste code wordt gemaakt, die bestand is tegen een onverwachte situatie.
|
||||
Het kan [alleen] uitgaan van alles wat standaard aanwezig is (uit fac_ini).
|
||||
Moet in sync worden gehouden met de DB-versies, is daarom technisch onderdeel van de Facilitor-core
|
||||
Inhoudelijk zou er een Implementatie-CAB mogen zijn (vertegenwoordigers van consultancy, support en evt core-CAB) die de verantwoordelijkheid over de content heeft.
|
||||
Ook goed om te weten: dit is een eenmalig (once) script dat een momentopname genereert als startpunt van een verdere implementatie.
|
||||
Er komen GEEN upgrades voor deze initialisatie met nieuwere versies of aanvullingen.
|
||||
Na deze aftrap mag je het verder helemaal zelf doen.
|
||||
De basisinrichting wordt per module van onder naar boven opgebouwd, en eindigt met een zeer bescheidenaantal appetizers:
|
||||
fictieve gegevens die e.e.a. voor de eerste confrontatie minder abstract maken.
|
||||
Let op: deze code wordt letterlijk geinclude als body van procedure ini.fmis_ini, het is geen SQL*Plus!
|
||||
Er wordt gebruik gemaakt van importfuncties, die COMMIT's doen.
|
||||
Deze hele procedure moet dus foutlooslopen want het is alles of niks. */
|
||||
|
||||
-- BASISCONFIG PER MODULE
|
||||
|
||||
-- 1. ALG
|
||||
-- Gebouwfuncties en ruimtefuncties (afgeleid uit XD; denk dat het beter kan maar elke indeling kent zijn POV)
|
||||
-- Bv Bouwbesluit, NEN. De Facilitaire NEN lijkt (!) dat niet te bieden.
|
||||
INSERT INTO alg_srtgebouw(alg_srtgebouw_omschrijving, alg_srtgebouw_passief) VALUES ('Fietsenstalling', NULL);
|
||||
INSERT INTO alg_srtgebouw(alg_srtgebouw_omschrijving, alg_srtgebouw_passief) VALUES ('Gemeenschapshuis', NULL);
|
||||
INSERT INTO alg_srtgebouw(alg_srtgebouw_omschrijving, alg_srtgebouw_passief) VALUES ('Kantoorgebouw', NULL);
|
||||
INSERT INTO alg_srtgebouw(alg_srtgebouw_omschrijving, alg_srtgebouw_passief) VALUES ('Kinderopvang', NULL);
|
||||
INSERT INTO alg_srtgebouw(alg_srtgebouw_omschrijving, alg_srtgebouw_passief) VALUES ('Loods', 1);
|
||||
INSERT INTO alg_srtgebouw(alg_srtgebouw_omschrijving, alg_srtgebouw_passief) VALUES ('Opslag/Magazijn', 1);
|
||||
INSERT INTO alg_srtgebouw(alg_srtgebouw_omschrijving, alg_srtgebouw_passief) VALUES ('Parkeergebouw', NULL);
|
||||
INSERT INTO alg_srtgebouw(alg_srtgebouw_omschrijving, alg_srtgebouw_passief) VALUES ('Portocabin', NULL);
|
||||
INSERT INTO alg_srtgebouw(alg_srtgebouw_omschrijving, alg_srtgebouw_passief) VALUES ('Projectlocatie', NULL);
|
||||
INSERT INTO alg_srtgebouw(alg_srtgebouw_omschrijving, alg_srtgebouw_passief) VALUES ('Schoolgebouw', NULL);
|
||||
INSERT INTO alg_srtgebouw(alg_srtgebouw_omschrijving, alg_srtgebouw_passief) VALUES ('Sportcentrum', NULL);
|
||||
INSERT INTO alg_srtgebouw(alg_srtgebouw_omschrijving, alg_srtgebouw_passief) VALUES ('Stationsgebouw', NULL);
|
||||
INSERT INTO alg_srtgebouw(alg_srtgebouw_omschrijving, alg_srtgebouw_passief) VALUES ('Winkel', NULL);
|
||||
INSERT INTO alg_srtgebouw(alg_srtgebouw_omschrijving, alg_srtgebouw_passief) VALUES ('Wijkcentrum', NULL);
|
||||
INSERT INTO alg_srtgebouw(alg_srtgebouw_omschrijving, alg_srtgebouw_passief) VALUES ('Werkplaats', NULL);
|
||||
INSERT INTO alg_srtgebouw(alg_srtgebouw_omschrijving, alg_srtgebouw_passief) VALUES ('Woning', NULL);
|
||||
|
||||
INSERT INTO alg_srtterreinsector(alg_srtterreinsec_omschrijving) VALUES ('Parkeerterrein');
|
||||
INSERT INTO alg_srtterreinsector(alg_srtterreinsec_omschrijving) VALUES ('Groenvoorziening');
|
||||
-- NEN2580
|
||||
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving, prs_bevat_werkplek, prs_verhuurbaar) VALUES ('Bijeenkomstruimte', NULL, 1);
|
||||
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving, prs_bevat_werkplek, prs_verhuurbaar) VALUES ('Garage', NULL, 1);
|
||||
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving, prs_bevat_werkplek, prs_verhuurbaar) VALUES ('Kantoorruimte', 1, 1);
|
||||
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving, prs_bevat_werkplek, prs_verhuurbaar) VALUES ('Technische ruimte', NULL, NULL);
|
||||
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving, prs_bevat_werkplek, prs_verhuurbaar) VALUES ('Opslag/Magazijn', NULL, 1);
|
||||
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving, prs_bevat_werkplek, prs_verhuurbaar) VALUES ('Horizontale verkeersruimte', NULL, NULL);
|
||||
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving, prs_bevat_werkplek, prs_verhuurbaar) VALUES ('Verticale verkeersruimte', NULL, NULL);
|
||||
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving, prs_bevat_werkplek, prs_verhuurbaar) VALUES ('Sanitairruimte', NULL, NULL);
|
||||
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving, prs_bevat_werkplek, prs_verhuurbaar) VALUES ('Woonruimte', 1, 1);
|
||||
|
||||
-- Het ligt voor de hand hier een bak flexkenmerken aan te maken die je voor FM nodig hebt
|
||||
-- Vloerafwerking: een eigen tabel met gangbare Vloerafwerkingen en een referentiekenmerk
|
||||
-- Glasoppervlak: een number, wellicht per type (separatieglas, buiten)
|
||||
|
||||
fac.writelog ('INI.FMIS_INI','I', 'ALG completed', '');
|
||||
|
||||
-- 2. INS
|
||||
-- Vakgroepen. Meervoud
|
||||
-- Leidraad voor onderscheid is: is het aannemelijk dat daar andere personen (backoffice, autorisaties) over gaan. Ook NLSfb.
|
||||
INSERT INTO ins_tab_discipline (ins_discipline_module, ins_discipline_code, ins_discipline_omschrijving, ins_discipline_min_level, ins_discipline_image)
|
||||
-- Even helemaal weggehaald. Omdat bevonden was toch direct te verwijderen uit de omgeving. Van ieder onderdeel het format (insert into) en 1 voorbeeld laten staan.
|
||||
-- Vakgroepen (Meervoud).
|
||||
/* INSERT INTO ins_tab_discipline (ins_discipline_module, ins_discipline_code, ins_discipline_omschrijving, ins_discipline_min_level, ins_discipline_image)
|
||||
SELECT 'INS', 'NLSFB00', 'FMIS-Bouwkundig Algemeen', 1, '' FROM DUAL UNION ALL
|
||||
SELECT 'INS', 'NLSFB04', 'FMIS-Bouwkundig Afwerkingen', 1, '' FROM DUAL UNION ALL
|
||||
SELECT 'INS', 'NLSFB05', 'FMIS-Bouwkundig Mechanische installaties', 1, '' FROM DUAL UNION ALL
|
||||
SELECT 'INS', 'NLSFB06', 'FMIS-Bouwkundig Elektrische installaties', 1, '' FROM DUAL UNION ALL
|
||||
SELECT 'INS', 'NLSFB07', 'FMIS-Bouwkundig Vaste inrichtingen', 1, '' FROM DUAL UNION ALL
|
||||
SELECT 'INS', 'NLSFB08', 'FMIS-Bouwkundig Losse inventaris', 1, '' FROM DUAL UNION ALL
|
||||
SELECT 'INS', 'NLSFB09', 'FMIS-Bouwkundig Terrein', 1, '' FROM DUAL UNION ALL
|
||||
SELECT 'INS', 'F020', 'FMIS-Automaten', 1, 'fa-slot-machine' FROM DUAL UNION ALL
|
||||
SELECT 'INS', 'F030', 'FMIS-Werkplekken', 1, 'fa-chair-office' FROM DUAL UNION ALL
|
||||
SELECT 'INS', 'F040', 'FMIS-Toegang/Beveiliging', 1, 'fa-universal-access' FROM DUAL UNION ALL
|
||||
SELECT 'INS', 'F050', 'FMIS-Presentatiemiddelen', 1, 'fa-projector' FROM DUAL UNION ALL
|
||||
SELECT 'INS', 'F060', 'FMIS-Vervoer', 1, 'fa-car-side' FROM DUAL UNION ALL
|
||||
SELECT 'INS', 'I010', 'FMIS-Computers', 1, 'fa-computer' FROM DUAL UNION ALL
|
||||
SELECT 'INS', 'I020', 'FMIS-Smartphones', 1, 'fa-mobile-android' FROM DUAL UNION ALL
|
||||
SELECT 'INS', 'I030', 'FMIS-Sensoren', 1, 'fa-sensor-on' FROM DUAL UNION ALL
|
||||
SELECT 'INS', 'P010', 'FMIS-Parkeren', 1, 'fa-parking' FROM DUAL;
|
||||
INSERT INTO ins_disc_params (ins_discipline_key) SELECT ins_discipline_key FROM ins_tab_discipline WHERE ins_discipline_module='INS' AND ins_discipline_key NOT IN (SELECT ins_discipline_key FROM ins_disc_params);
|
||||
|
||||
-- Groepen TODO AANVULLEN of verbeteren. Meervoud.
|
||||
INSERT INTO ins_srtgroep (ins_srtgroep_omschrijving, ins_discipline_key)
|
||||
INSERT INTO ins_disc_params (ins_discipline_key) SELECT ins_discipline_key FROM ins_tab_discipline WHERE ins_discipline_module='INS' AND ins_discipline_key NOT IN (SELECT ins_discipline_key FROM ins_disc_params);
|
||||
*/
|
||||
-- Groepen (Meervoud).
|
||||
/* INSERT INTO ins_srtgroep (ins_srtgroep_omschrijving, ins_discipline_key)
|
||||
SELECT 'Koffieautomaten', ins_discipline_key FROM ins_tab_discipline WHERE ins_discipline_code = 'F020' UNION ALL
|
||||
SELECT 'Snoepautomaten', ins_discipline_key FROM ins_tab_discipline WHERE ins_discipline_code = 'F020' UNION ALL
|
||||
SELECT 'Frisdrankautomaten', ins_discipline_key FROM ins_tab_discipline WHERE ins_discipline_code = 'F020' UNION ALL
|
||||
SELECT 'Waterkoelers', ins_discipline_key FROM ins_tab_discipline WHERE ins_discipline_code = 'F020' UNION ALL
|
||||
SELECT 'Bureau''s', ins_discipline_key FROM ins_tab_discipline WHERE ins_discipline_code = 'F030' UNION ALL
|
||||
SELECT 'Tafels', ins_discipline_key FROM ins_tab_discipline WHERE ins_discipline_code = 'F030' UNION ALL
|
||||
SELECT 'Stoelen', ins_discipline_key FROM ins_tab_discipline WHERE ins_discipline_code = 'F030' UNION ALL
|
||||
SELECT 'Werkplekken', ins_discipline_key FROM ins_tab_discipline WHERE ins_discipline_code = 'F030' UNION ALL
|
||||
SELECT 'Desktops', ins_discipline_key FROM ins_tab_discipline WHERE ins_discipline_code = 'I010' UNION ALL
|
||||
SELECT 'Laptops', ins_discipline_key FROM ins_tab_discipline WHERE ins_discipline_code = 'I010' UNION ALL
|
||||
SELECT 'Tablets', ins_discipline_key FROM ins_tab_discipline WHERE ins_discipline_code = 'I010' UNION ALL
|
||||
SELECT 'Sensoren', ins_discipline_key FROM ins_tab_discipline WHERE ins_discipline_code = 'I030';
|
||||
|
||||
-- Objectsoorten TODO AANVULLEN. Enkelvoud.
|
||||
INSERT INTO ins_srtdeel (ins_srtgroep_key, ins_srtdeel_code, ins_srtdeel_omschrijving, ins_srtdeel_image, ins_srtdeel_sensortype)
|
||||
*/
|
||||
-- Objectsoorten (Enkelvoud).
|
||||
/* INSERT INTO ins_srtdeel (ins_srtgroep_key, ins_srtdeel_code, ins_srtdeel_omschrijving, ins_srtdeel_image, ins_srtdeel_sensortype)
|
||||
SELECT ins_srtgroep_key, 'KOF','Koffieautomaat', 'fa-mug-hot', 0 FROM ins_srtgroep WHERE ins_srtgroep_omschrijving = 'Koffieautomaten' UNION ALL
|
||||
SELECT ins_srtgroep_key, 'SNP','Snoepautomaat', 'fa-lollipop', 0 FROM ins_srtgroep WHERE ins_srtgroep_omschrijving = 'Snoepautomaten' UNION ALL
|
||||
SELECT ins_srtgroep_key, 'FRS','Frisdrankautomaat', 'fa-cup-straw-swoosh', 0 FROM ins_srtgroep WHERE ins_srtgroep_omschrijving = 'Frisdrankautomaten' UNION ALL
|
||||
SELECT ins_srtgroep_key, 'WTK','Waterkoeler', 'fa-glass-water', 0 FROM ins_srtgroep WHERE ins_srtgroep_omschrijving = 'Waterkoelers' UNION ALL
|
||||
SELECT ins_srtgroep_key, 'DSK','Desktop type 1', 'fa-desktop', 0 FROM ins_srtgroep WHERE ins_srtgroep_omschrijving = 'Desktops' UNION ALL
|
||||
SELECT ins_srtgroep_key, 'BUR','Bureau 160x80', 'fa-lamp-desk', 0 FROM ins_srtgroep WHERE ins_srtgroep_omschrijving = 'Bureau''s' UNION ALL
|
||||
SELECT ins_srtgroep_key, 'TAF','Vergadertafel', 'fa-users-line', 0 FROM ins_srtgroep WHERE ins_srtgroep_omschrijving = 'Tafels' UNION ALL
|
||||
SELECT ins_srtgroep_key, 'BST','Bureaustoel', 'fa-chair-office ', 0 FROM ins_srtgroep WHERE ins_srtgroep_omschrijving = 'Stoelen' UNION ALL
|
||||
SELECT ins_srtgroep_key, 'LPT','Laptop type 1', 'fa-laptop', 0 FROM ins_srtgroep WHERE ins_srtgroep_omschrijving = 'Laptops' UNION ALL
|
||||
SELECT ins_srtgroep_key, 'LPT','Laptop type 2', 'fa-laptop', 0 FROM ins_srtgroep WHERE ins_srtgroep_omschrijving = 'Laptops' UNION ALL
|
||||
SELECT ins_srtgroep_key, 'TAB','Tablet', 'fa-tablet', 0 FROM ins_srtgroep WHERE ins_srtgroep_omschrijving = 'Tablets' UNION ALL
|
||||
SELECT ins_srtgroep_key, 'SB','Bezettingssensor', 'fa-sensor', 1 FROM ins_srtgroep WHERE ins_srtgroep_omschrijving = 'Sensoren' UNION ALL
|
||||
SELECT ins_srtgroep_key, 'ST','Temperatuursensor', 'fa-temperature-half', 2 FROM ins_srtgroep WHERE ins_srtgroep_omschrijving = 'Sensoren' UNION ALL
|
||||
SELECT ins_srtgroep_key, 'SC','CO2-sensor', 'fa-sensor-cloud', 2 FROM ins_srtgroep WHERE ins_srtgroep_omschrijving = 'Sensoren';
|
||||
*/
|
||||
|
||||
fac.writelog ('INI.FMIS_INI','I', 'INS completed', '');
|
||||
|
||||
-- 3. MLD
|
||||
-- Importeren van een standaard meldingenstructuur (MLD), maakt alle bovenliggende niveaus zelf aan
|
||||
-- Dit mag inhoudelijk beter
|
||||
-- TODO minder exotische meldingen
|
||||
-- TODO meer variatie in de plaatjes
|
||||
-- TODO betere suggesties voor parameters als Behandelteam, planbaarheid
|
||||
INSERT INTO fac_imp_mld (ins_srtdiscipline_omschrijving, ins_srtdiscipline_prefix, ins_srtdiscipline_alg, ins_discipline_omschrijving, mld_stdmelding_hint, mld_stdmelding_omschrijving, mld_stdmelding_uitvoertijd)
|
||||
SELECT 'FMIS-Aanvraag','A',1,'Afval','fa-recycle','Ophalen/verzamelen afval', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'Afval','fa-recycle','Extra container', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'Afval','fa-bin-recycle','Zwerfafval (verzamelen)', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'Automaten','fa-candy','Fris-/versnapering-automaat', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'Automaten','fa-coffee-beans','Ingredi<EFBFBD>nten t.b.v. koffieautomaat', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'Automaten','fa-jug-bottle','Waterflessen t.b.v. waterkoeler', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'BHV & Veiligheid','fa-medkit','BHV Herhalingstrainingen', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'BHV & Veiligheid','fa-medkit','BHV middelen (AED/BHV rugzak-/hesje/megafoon) leveren', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'BHV & Veiligheid','fa-jug-bottle','Blusmiddelen (brandblusser/brandslanghaspel)', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'BHV & Veiligheid','fa-medkit','EHBO-middelen bestellen', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'BHV & Veiligheid','fa-medkit','Ontruimingsplan & -plattegrond (nieuw/wijzigen)', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'BHV & Veiligheid','fa-bandage','Pleisterautomaten plaatsen/aanvullen', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'Bedrijfskeuken apparatuur','fa-cutlery','Bedrijfskeuken apparatuur', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'Bedrijfskleding','fa-shirt','Bedrijfskleding', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'Benodigdheden & bedrijfsmiddelen','fa-flower-tulip','Bloemen bestellen', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'Benodigdheden & bedrijfsmiddelen','fa-eur','Huurauto', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'Benodigdheden & bedrijfsmiddelen','fa-eur','Kantoorbenodigheden', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'Benodigdheden & bedrijfsmiddelen','fa-eur','Onderhoud overige bedrijfsmiddelen', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'Benodigdheden & bedrijfsmiddelen','fa-eur','Repro en documentbeheer', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'Benodigdheden & bedrijfsmiddelen','fa-eur','Vloeistoffen/gassen bestellen', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'Catering','fa-coffee','Catering', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'Gebouw- & installatieonderhoud','fa-cubes','Automatische deuren(dock-/rol-/schuif-/overhead)', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'Gebouw- & installatieonderhoud','fa-cubes','Bouwkundig', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'Gebouw- & installatieonderhoud','fa-cubes','Brandblusser/brandhaspel', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'Gebouw- & installatieonderhoud','fa-cubes','Brandmeld- & ontruimingsinstallatie(BMC)', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'Gebouw- & installatieonderhoud','fa-cubes','Inbraak-/alarminstallatie', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'Gebouw- & installatieonderhoud','fa-cubes','Keuring elektrische (hand) apparatuur (NEN3140)', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'Gebouw- & installatieonderhoud','fa-cubes','Klimaatinstallatie (airco/koelunit)', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'Gebouw- & installatieonderhoud','fa-cubes','Lift', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'Gebouw- & installatieonderhoud','fa-cubes','Schade Gebouwonderhoud', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'Gebouw- & installatieonderhoud','fa-cubes','Schilderwerkzaamheden', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'Gebouw- & installatieonderhoud','fa-cubes','Technische installaties', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'Gebouw- & installatieonderhoud','fa-cubes','Verlichting', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'Gereedschap, PBM en trappen','fa-wrench','Defect elektrische (hand) apparatuur (NEN3140)', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'Gereedschap, PBM en trappen','fa-wrench','Desinfectiemiddel + handschoenen', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'Gereedschap, PBM en trappen','fa-wrench','Keuring elektrische (hand) apparatuur (NEN3140)', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'Gereedschap, PBM en trappen','fa-wrench','Persoonlijke beschermingsmiddelen', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'Hijs- & hef-installaties','fa-industry','Keuring hijs- en hefmiddelen', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'Hijs- & hef-installaties','fa-industry','Keuring kleine hijsmiddelen, klimmateriaal en stellingen', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'Hijs- & hef-installaties','fa-industry','Kleine hijsmiddelen, klimmateriaal en stellingen', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'Meubilair & inrichting','fa-home','Audio visuele middelen', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'Meubilair & inrichting','fa-home','Bewegwijzering', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'Meubilair & inrichting','fa-home','Binnenbeplanting', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'Meubilair & inrichting','fa-home','Meubilair & inrichting', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'Meubilair & inrichting','fa-home','Meubilair leveren', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'Meubilair & inrichting','fa-home','Sleutel leveren t.b.v. meubilair', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'Meubilair & inrichting','fa-home','Vloerbedekking (nieuw/vervangen)', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'Ongedierte bestrijding','fa-bug','Ongediertebestrijding', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'Ongedierte bestrijding','fa-bug','Pest Control producten(lokaasbakjes, UV lamp, overige)', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'Ongedierte bestrijding','fa-bug','Verdelging en preventieve controle', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'Post- & koeriersdiensten','fa-envelopes-bulk','Benodigheden & middelen dienstverlening post', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'Post- & koeriersdiensten','fa-person-dolly','Koerierzendingen', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'Receptie & beveiliging','fa-user-police-tie','Extra inzet receptie', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'Receptie & beveiliging','fa-address-card','Extra openings-/sluitronde', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'Receptie & beveiliging','fa-address-card','Inzet Verkeersregelaar(s)', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'Receptie & beveiliging','fa-user-police','Inzet extra beveiliging', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'Receptie & beveiliging','fa-shield-keyhole','Plaatsen/vervangen (elektronisch) slot/sleutel', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'Schoonmaak','fa-eraser','Extra schoonmaak (verzoek)', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'Schoonmaak','fa-eraser','Gevelreiniging (extra)', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'Schoonmaak','fa-eraser','Glasbewassing (binnen/buiten)', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'Schoonmaak','fa-eraser','Sanitaire middelen', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'Terrein- & groenvoorziening','fa-tree','Elektrische oplaadpunten', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'Terrein- & groenvoorziening','fa-tree','Gladheidsbestrijding', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'Terrein- & groenvoorziening','fa-tree','Groenonderhoud', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'Terrein- & groenvoorziening','fa-tree','Hekwerken (onderhoud)', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'Terrein- & groenvoorziening','fa-tree','Overige aanvragen (toegangscontrole/hekwerken)', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'Terrein- & groenvoorziening','fa-tree','Terrein- & groenvoorziening', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'Terrein- & groenvoorziening','fa-tree','Terreinverlichting', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'Terrein- & groenvoorziening','fa-tree','Toegangspoorten & slagbomen', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'Verhuizing','fa-truck','Verhuismiddelen leveren', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'Verhuizing','fa-truck','Verhuizing extern', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'Verhuizing','fa-truck','Verhuizing intern', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Klacht','K',0,'Afval','fa-recycle','Klacht mbt Afval', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Klacht','K',0,'Automaten','fa-server','Klacht mbt automaten', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Klacht','K',0,'BHV & Veiligheid','fa-medkit','Klacht mbt BHV & Veiligheid', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Klacht','K',0,'Bedrijfskeuken apparatuur','fa-cutlery','Bedrijfskeuken apparatuur', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Klacht','K',0,'Bedrijfskleding','fa-vest-patches','Klacht mbt Bedrijfskleding', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Klacht','K',0,'Facilitaire dienstverlening','fa-id-badge','Klacht mbt facilitaire dienstverlening', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Klacht','K',0,'Gebouw- & installatieonderhoud','fa-cubes','Klacht mbt onderhoud', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Klacht','K',0,'Meubilair & inrichting','fa-home','Klacht mbt Meubilair & inrichting', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Klacht','K',0,'Ongedierte bestrijding','fa-bug','Klacht mbt Ongediertebestrijding', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Klacht','K',0,'Koeriersdiensten','fa-truck-fast','Klacht mbt koeriersdiensten', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Klacht','K',0,'Receptie & beveiliging','fa-shield-check','Klacht mbt Receptie & beveiliging', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Klacht','K',0,'Schoonmaak','fa-eraser','Klacht mbt Schoonmaak', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Klacht','K',0,'Terrein- & groenvoorziening','fa-tree','Klacht mbt terrein- & groenvoorziening', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Storing','S',1,'Afval','fa-recycle','Container is niet geleegd', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Storing','S',1,'Automaten','fa-server','Fris-/versnapering-automaat', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Storing','S',1,'Automaten','fa-server','Koffieautomaat', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Storing','S',1,'Automaten','fa-server','Waterkoeler', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Storing','S',1,'BHV & Veiligheid','fa-medkit','AED werkt niet/rood lampje', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Storing','S',1,'BHV & Veiligheid','fa-medkit','Blusmiddelen (brandblusser/brandslanghaspel)', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Storing','S',1,'BHV & Veiligheid','fa-medkit','Brandslaghaspel (kast)', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Storing','S',1,'BHV & Veiligheid','fa-medkit','Keuring blusapparatuur', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Storing','S',1,'BHV & Veiligheid','fa-medkit','Legionellabeheer en bemonstering', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Storing','S',1,'BHV & Veiligheid','fa-medkit','Verzegeling blusapparatuur', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Storing','S',1,'Bedrijfskeuken apparatuur','fa-cutlery','Bedrijfskeuken apparatuur', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Storing','S',1,'Gebouw- & installatieonderhoud','fa-cubes','Automatische deuren(dock-/rol-/schuif-/overhead)', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Storing','S',1,'Gebouw- & installatieonderhoud','fa-cubes','Bouwkundig', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Storing','S',1,'Gebouw- & installatieonderhoud','fa-cubes','Bouwkundig (dak, kozijnen, wanden, glas, ruitbreuk, lekkage)', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Storing','S',1,'Gebouw- & installatieonderhoud','fa-cubes','Brandblusser/brandhaspel', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Storing','S',1,'Gebouw- & installatieonderhoud','fa-cubes','Brandmeld- & ontruimingsinstallatie(BMC)', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Storing','S',1,'Gebouw- & installatieonderhoud','fa-cubes','Dak- en gevelinstallaties', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Storing','S',1,'Gebouw- & installatieonderhoud','fa-cubes','Eigenaarsinstallaties (Eigenaar pand)', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Storing','S',1,'Gebouw- & installatieonderhoud','fa-cubes','Elektrische installatie', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Storing','S',1,'Gebouw- & installatieonderhoud','fa-cubes','Hang- & sluitwerk(sloten, deurdranger, deurklink etc)', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Storing','S',1,'Gebouw- & installatieonderhoud','fa-cubes','Inbraak-/alarminstallatie', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Storing','S',1,'Gebouw- & installatieonderhoud','fa-cubes','Klimaatinstallatie (airco/koelunit)', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Storing','S',1,'Gebouw- & installatieonderhoud','fa-cubes','Liften', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Storing','S',1,'Gebouw- & installatieonderhoud','fa-cubes','Noodverlichting', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Storing','S',1,'Gebouw- & installatieonderhoud','fa-cubes','Riolering, leidingen & kanalen', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Storing','S',1,'Gebouw- & installatieonderhoud','fa-cubes','Sanitair (toilet/urinoir, kraan, wasbak, spoelknop)', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Storing','S',1,'Gebouw- & installatieonderhoud','fa-cubes','Schade Gebouwonderhoud', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Storing','S',1,'Gebouw- & installatieonderhoud','fa-cubes','Sprinkler installatie', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Storing','S',1,'Gebouw- & installatieonderhoud','fa-cubes','Technische installaties', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Storing','S',1,'Gebouw- & installatieonderhoud','fa-cubes','Verlichting', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Storing','S',1,'Gebouw- & installatieonderhoud','fa-cubes','Witgoed (wasmachines, koelkasten, drogers etc.)', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Storing','S',1,'Gebouw- & installatieonderhoud','fa-cubes','Zonwering (binnen/buiten)', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Storing','S',1,'Hijs- & hef-installaties','fa-industry','Calamiteit Hijs- & hef-installaties', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Storing','S',1,'Hijs- & hef-installaties','fa-industry','Hijs- & hef-installaties', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Storing','S',1,'Hijs- & hef-installaties','fa-industry','Kleine hijsmiddelen, klimmateriaal en stellingen', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Storing','S',1,'Ongedierte bestrijding','fa-bug','Ongediertebestrijding', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Storing','S',1,'Receptie & beveiliging','fa-address-card','Plaatsen/vervangen (electronisch) slot/sleutel', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Storing','S',1,'Schoonmaak','fa-eraser','Sanitaire accessoires', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Storing','S',1,'Schoonmaak','fa-eraser','Schoonmaak', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Storing','S',1,'Terrein- & groenvoorziening','fa-tree','Bestrating', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Storing','S',1,'Terrein- & groenvoorziening','fa-tree','Elektrische oplaadpunten', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Storing','S',1,'Terrein- & groenvoorziening','fa-tree','Gladheidbestrijding', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Storing','S',1,'Terrein- & groenvoorziening','fa-tree','Groenonderhoud', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Storing','S',1,'Terrein- & groenvoorziening','fa-tree','Terreinverlichting', 5 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Storing','S',1,'Terrein- & groenvoorziening','fa-tree','Toegangscontrole/inbraakalarm systeem', 5 FROM DUAL;
|
||||
INSERT INTO fac_imp_mld (ins_srtdiscipline_omschrijving, ins_srtdiscipline_prefix, ins_srtdiscipline_alg, ins_discipline_omschrijving, mld_stdmelding_hint, mld_stdmelding_omschrijving, mld_stdmelding_uitvoertijd, mld_stdmelding_objects_allowed)
|
||||
SELECT 'FMIS-Storing','S',1,'Gebouw- & installatieonderhoud','fa-lightbulb-cfl-on','Elektrische installatie',5,2 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Storing','S',1,'Gebouw- & installatieonderhoud','fa-door-open','Hang- & sluitwerk(sloten, deurdranger, deurklink etc)',5,2 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Storing','S',1,'Gebouw- & installatieonderhoud','fa-shield-exclamation','Inbraak-/alarminstallatie',5,2 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Storing','S',1,'Gebouw- & installatieonderhoud','fa-temperature-list','Klimaatinstallatie (airco/koelunit)',5,2 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Storing','S',1,'Gebouw- & installatieonderhoud','fa-elevator','Liften',5,2 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Storing','S',1,'Schoonmaak & hygi<EFBFBD>nevoorzieningen','fa-toilet','Sanitair (toilet/urinoir, kraan, wasbak, spoelknop)',5,2 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Storing','S',1,'Gebouw- & installatieonderhoud','fa-lightbulb-exclamation-on','Verlichting',5,2 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Storing','S',1,'Schoonmaak & hygi<EFBFBD>nevoorzieningen','fa-jug-bottle','Schoonmaak',5,2 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Storing','S',1,'Terrein- & groenvoorziening','fa-road','Bestrating',5,2 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Storing','S',1,'Terrein- & groenvoorziening','fa-gas-pump-slash','Elektrische oplaadpunten',5,2 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Storing','S',1,'Terrein- & groenvoorziening','fa-temperature-frigid','Gladheidbestrijding',5,2 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Storing','S',1,'Terrein- & groenvoorziening','fa-tree','Groenonderhoud',5,2 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Storing','S',1,'Terrein- & groenvoorziening','fa-light-emergency-on','Terreinverlichting',5,2 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Storing','S',1,'Toegang & beveiliging','fa-drivers-license','Toegangspas',5,2 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Storing','S',1,'Kantoorbeheer','fa-coffee-pot','Koffiezetapparaat',1,2 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Storing','S',1,'Kantoorbeheer','fa-chair-office','Werkplek',1,2 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Storing','S',1,'ICT','fa-wifi-exclamation','Netwerkstoring',5,2 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Storing','S',1,'ICT','fa-laptop-slash','Hardware',5,2 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Storing','S',1,'Toegang & beveiliging','fa-shield-exclamation','Beveiliging',5,2 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Storing','S',1,'ICT','fa-file-word','Software en applicaties',5,2 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Storing','S',1,'Schoonmaak & hygi<EFBFBD>nevoorzieningen','fa-trash-can-clock','Container is niet geleegd',5,2 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Storing','S',1,'Calamiteiten & BHV','fa-medkit','AED werkt niet/rood lampje',5,2 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Storing','S',1,'Calamiteiten & BHV','fa-fire-extinguisher','Blusmiddelen',5,2 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Storing','S',1,'Gebouw- & installatieonderhoud','fa-house-building','Bouwkundig (dak, kozijnen, wanden, glas, ruitbreuk, lekkage)',5,2 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'Toegang & beveiliging','fa-drivers-license','Toegangspas',5,2 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'ICT','fa-medkit','Randapparatuur en accessoires',5,2 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'ICT','fa-laptop-mobile','Hardware',5,2 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'Bedrijfsmiddelen','fa-home-lg','Thuiswerk voorzieningen',5,2 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'ICT','fa-globe','Netwerk',5,2 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'ICT','fa-file-word','Software en applicaties',5,2 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'Toegang & beveiliging','fa-shield-alt','Beveiliging',5,2 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'ICT','fa-file-shield','Autorisaties',5,2 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'Schoonmaak & hygi<EFBFBD>nevoorzieningen','fa-trash-plus','Extra container',5,2 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'Schoonmaak & hygi<EFBFBD>nevoorzieningen','fa-trash-can-clock','Extra afval afvoer verzoek',5,2 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'Kantoorbeheer','fa-coffee-beans','Ingredi<EFBFBD>nten t.b.v. koffieautomaat',5,2 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'Kantoorbeheer','fa-jug-bottle','Waterflessen t.b.v. waterkoeler',5,2 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'Calamiteiten & BHV','fa-medkit','BHV trainingen',5,2 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'Calamiteiten & BHV','fa-prescription-bottle-alt','EHBO-middelen',5,2 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'Bedrijfsmiddelen','fa-flower-tulip','Bloemen bestellen',5,2 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'Bedrijfsmiddelen','fa-car-mirrors','Huurauto',5,2 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'Bedrijfsmiddelen','fa-pencil-mechanical','Kantoorartikelen',5,2 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'Schoonmaak & hygi<EFBFBD>nevoorzieningen','fa-jug-bottle','Extra schoonmaak (verzoek)',5,2 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'Schoonmaak & hygi<EFBFBD>nevoorzieningen','fa-house-chimney-window','Extra glasbewassing (binnen/buiten)',5,2 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Aanvraag','A',1,'Schoonmaak & hygi<EFBFBD>nevoorzieningen','fa-toilet-paper-check','Sanitaire middelen',5,2 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Klacht','K',0,'Klacht','fa-octagon-exclamation','Klacht',5,2 FROM DUAL UNION ALL
|
||||
SELECT 'FMIS-Klacht','K',0,'Klacht','fa-people-arrows-left-right','Ongewenst gedrag',5,2 FROM DUAL;
|
||||
|
||||
-- beetje lomp, wat vinden we?
|
||||
UPDATE fac_imp_mld SET mld_stdmelding_slabewaken = 0, mld_stdmelding_notfrontend = 0
|
||||
@@ -271,31 +103,18 @@ UPDATE fac_imp_mld SET mld_stdmelding_slabewaken = 0, mld_stdmelding_notfrontend
|
||||
UPDATE fac_imp_mld SET mld_stdmelding_slabewaken = 1, mld_stdmelding_notfrontend = 1
|
||||
WHERE ins_srtdiscipline_omschrijving = 'FMIS-Melding';
|
||||
UPDATE fac_imp_mld SET mld_stdmelding_groep = SUBSTR(ins_discipline_omschrijving, 1, 30)
|
||||
WHERE ins_srtdiscipline_omschrijving like 'FMIS-%';
|
||||
WHERE ins_srtdiscipline_omschrijving LIKE 'FMIS-%';
|
||||
|
||||
BEGIN fac_update_mld(ini.getImportKey('MLD')); END;
|
||||
|
||||
DELETE FROM fac_imp_mld;
|
||||
|
||||
--UPDATE ins_srtdiscipline SET ins_srtdiscipline_kostenklant = 8 WHERE ins_srtdiscipline_omschrijving = 'FMIS-Klacht';
|
||||
--UPDATE fac_setting
|
||||
-- SET fac_setting_pvalue =
|
||||
-- (SELECT mld_stdmelding_key
|
||||
-- FROM mld_stdmelding
|
||||
-- WHERE mld_stdmelding_omschrijving = 'Ontvangen mail bericht')
|
||||
-- WHERE fac_setting_name = 'defaultstdmelding';
|
||||
--INSERT INTO fac_email_setting (fac_email_setting_user, fac_email_setting_frommode, fac_email_setting_action, fac_email_setting_attachpath)
|
||||
-- VALUES ('servicedesk', 0, 'FAC.processemail', '*flexfilespath');
|
||||
|
||||
-- huh? O, de import ondersteunde de image niet, dus die ging via de hint
|
||||
-- De import ondersteunde de image niet, dus die ging via de hint
|
||||
UPDATE mld_stdmelding
|
||||
SET mld_stdmelding_image = mld_stdmelding_hint,
|
||||
mld_stdmelding_hint = NULL
|
||||
WHERE mld_stdmelding_hint IS NOT NULL AND mld_stdmelding_image IS NULL;
|
||||
|
||||
|
||||
-- Voeg bijlage toe aan alle vakgroeptypen
|
||||
-- Als die als
|
||||
INSERT INTO mld_srtkenmerk (mld_srtkenmerk_omschrijving, mld_srtkenmerk_kenmerktype) VALUES ('Bijlagen', 'M');
|
||||
INSERT INTO mld_kenmerk (mld_srtkenmerk_key, mld_kenmerk_niveau, mld_kenmerk_volgnummer, mld_kenmerk_groep) SELECT mld_srtkenmerk_key, 'A', 100, 0
|
||||
FROM mld_srtkenmerk
|
||||
@@ -304,17 +123,6 @@ INSERT INTO mld_kenmerk (mld_srtkenmerk_key, mld_kenmerk_niveau, mld_kenmerk_vol
|
||||
fac.writelog ('INI.FMIS_INI','I', 'MLD completed', '');
|
||||
|
||||
-- 4. RES
|
||||
|
||||
-- Vraag is of we dit niet UIT de RES_INI moeten halen en hier moeten definieren.
|
||||
-- Antwoord is: Waarom?
|
||||
-- Daarom hier ter referentie, mogelijk wel aanvullen?
|
||||
--INSERT INTO RES_OPSTELLING (res_opstelling_key,res_opstelling_omschrijving) VALUES (1,'Standaard');
|
||||
--INSERT INTO res_srtactiviteit (res_srtactiviteit_key, res_srtactiviteit_omschrijving, res_srtactiviteit_soort) VALUES (1, 'Ruimte', 0);
|
||||
--INSERT INTO res_srtactiviteit (res_srtactiviteit_key, res_srtactiviteit_omschrijving, res_srtactiviteit_soort) VALUES (2, 'Voorzieningen', 1);
|
||||
--INSERT INTO res_activiteit (res_activiteit_omschrijving, res_srtactiviteit_key) VALUES ('Vergadering', 1);
|
||||
--INSERT INTO res_activiteit (res_activiteit_omschrijving, res_srtactiviteit_key) VALUES ('N.v.t.', 2);
|
||||
|
||||
-- en dan nog wat meer, want we hoeven minder neutraal te zijn: Evenement, Hybride vergadering, ..
|
||||
INSERT INTO res_srtactiviteit (res_srtactiviteit_omschrijving, res_srtactiviteit_soort, res_srtactiviteit_prefix,
|
||||
res_srtactiviteit_kpnverplicht, res_srtactiviteit_metomschr, res_srtactiviteit_metopmerk, res_srtactiviteit_metaantal)
|
||||
VALUES ('Flexwerken', 1, 'WP', 2, 0, 0, 0);
|
||||
@@ -356,17 +164,17 @@ fac.writelog ('INI.FMIS_INI','I', 'RES completed', '');
|
||||
|
||||
-- 5. BEZ
|
||||
-- Zaken uit BEZ_INI hier overgenomen
|
||||
INSERT INTO bez_actie_groep (bez_actie_groep_omschrijving, bez_actie_groep_default) VALUES ('FMIS-Standaard', 1);
|
||||
INSERT INTO bez_actie (bez_actie_omschrijving, bez_actie_groep_key) (SELECT 'Onbekend' , bez_actie_groep_key FROM bez_actie_groep WHERE bez_actie_groep_omschrijving = 'FMIS-Standaard');
|
||||
INSERT INTO bez_actie (bez_actie_omschrijving, bez_actie_groep_key) (SELECT 'Ontvanger bellen' , bez_actie_groep_key FROM bez_actie_groep WHERE bez_actie_groep_omschrijving = 'FMIS-Standaard');
|
||||
INSERT INTO bez_actie (bez_actie_omschrijving, bez_actie_groep_key) (SELECT 'Begeleiden naar ontvanger', bez_actie_groep_key FROM bez_actie_groep WHERE bez_actie_groep_omschrijving = 'FMIS-Standaard');
|
||||
INSERT INTO bez_actie (bez_actie_omschrijving, bez_actie_groep_key) (SELECT 'Verwijzen naar ontvanger' , bez_actie_groep_key FROM bez_actie_groep WHERE bez_actie_groep_omschrijving = 'FMIS-Standaard');
|
||||
INSERT INTO bez_actie (bez_actie_omschrijving, bez_actie_groep_key) (SELECT 'Op laten halen (bellen)' , bez_actie_groep_key FROM bez_actie_groep WHERE bez_actie_groep_omschrijving = 'FMIS-Standaard');
|
||||
INSERT INTO bez_actie_groep (bez_actie_groep_omschrijving, bez_actie_groep_default) VALUES ('Standaard', 1);
|
||||
INSERT INTO bez_actie (bez_actie_omschrijving, bez_actie_groep_key) SELECT 'Onbekend' , bez_actie_groep_key FROM bez_actie_groep WHERE bez_actie_groep_omschrijving = 'Standaard';
|
||||
INSERT INTO bez_actie (bez_actie_omschrijving, bez_actie_groep_key) SELECT 'Ontvanger bellen' , bez_actie_groep_key FROM bez_actie_groep WHERE bez_actie_groep_omschrijving = 'Standaard';
|
||||
INSERT INTO bez_actie (bez_actie_omschrijving, bez_actie_groep_key) SELECT 'Begeleiden naar ontvanger', bez_actie_groep_key FROM bez_actie_groep WHERE bez_actie_groep_omschrijving = 'Standaard';
|
||||
INSERT INTO bez_actie (bez_actie_omschrijving, bez_actie_groep_key) SELECT 'Verwijzen naar ontvanger' , bez_actie_groep_key FROM bez_actie_groep WHERE bez_actie_groep_omschrijving = 'Standaard';
|
||||
INSERT INTO bez_actie (bez_actie_omschrijving, bez_actie_groep_key) SELECT 'Op laten halen (bellen)' , bez_actie_groep_key FROM bez_actie_groep WHERE bez_actie_groep_omschrijving = 'Standaard';
|
||||
|
||||
fac.writelog ('INI.FMIS_INI','I', 'BEZ completed', '');
|
||||
|
||||
-- 6. CNT
|
||||
DECLARE
|
||||
/* DECLARE
|
||||
v_discipline_key ins_tab_discipline.ins_discipline_key%TYPE;
|
||||
v_key cnt_srtkenmerk.cnt_srtkenmerk_key%TYPE;
|
||||
BEGIN
|
||||
@@ -395,14 +203,15 @@ BEGIN
|
||||
cnt_kenmerk_volgnummer,
|
||||
cnt_kenmerk_groep)
|
||||
SELECT v_key, ins_discipline_key, 'S', 100, 0 FROM cnt_discipline;
|
||||
END;
|
||||
END; */
|
||||
|
||||
fac.writelog ('INI.FMIS_INI','I', 'CNT completed', '');
|
||||
|
||||
-- 7. FAQ
|
||||
INSERT INTO ins_tab_discipline (ins_discipline_omschrijving, ins_discipline_module) VALUES ('Facilitaire Kennisbank', 'FAQ');
|
||||
INSERT INTO ins_tab_discipline (ins_discipline_omschrijving, ins_discipline_module) VALUES ('Facilitaire kennisbank', 'FAQ');
|
||||
|
||||
fac.writelog ('INI.FMIS_INI','I', 'FAQ completed', '');
|
||||
|
||||
-- 8. MSG
|
||||
-- Misschien ook hier nog een berichtje, anders iig de catalogi
|
||||
INSERT INTO ins_tab_discipline (ins_discipline_omschrijving, ins_discipline_module) VALUES ('Algemene berichten', 'MSG');
|
||||
@@ -412,11 +221,11 @@ fac.writelog ('INI.FMIS_INI','I', 'MSG completed', '');
|
||||
-- 9. CAD
|
||||
-- De standaardthema's uit CAD-INI van vroeger heb je niet met ITSM nodig, dus horen bij FMIS
|
||||
-- De kunt makkelijk beargumenteren dat PRJ-thema's er dan ook bij zouden horen.
|
||||
INSERT INTO cad_legenda (cad_legenda_omschrijving, cad_legenda_discreet) VALUES ('FMIS-Bezetting', 1); -- naam mag je later wel aanpassen, nu handig uniek
|
||||
INSERT INTO cad_legendawaarde (cad_legenda_key, cad_legendawaarde_value, cad_legendawaarde_rgb, cad_legendawaarde_omschr) SELECT MAX(cad_legenda_key),'0','33CC33','hele dag beschikbaar' FROM cad_legenda WHERE cad_legenda_omschrijving='FMIS-Bezetting';
|
||||
INSERT INTO cad_legendawaarde (cad_legenda_key, cad_legendawaarde_value, cad_legendawaarde_rgb, cad_legendawaarde_omschr) SELECT MAX(cad_legenda_key),'1','FF9900','''s middags beschikbaar' FROM cad_legenda WHERE cad_legenda_omschrijving='FMIS-Bezetting';
|
||||
INSERT INTO cad_legendawaarde (cad_legenda_key, cad_legendawaarde_value, cad_legendawaarde_rgb, cad_legendawaarde_omschr) SELECT MAX(cad_legenda_key),'2','FFFF00','''s ochtends beschikbaar' FROM cad_legenda WHERE cad_legenda_omschrijving='FMIS-Bezetting';
|
||||
INSERT INTO cad_legendawaarde (cad_legenda_key, cad_legendawaarde_value, cad_legendawaarde_rgb, cad_legendawaarde_omschr) SELECT MAX(cad_legenda_key),'3','FF0000','hele dag bezet' FROM cad_legenda WHERE cad_legenda_omschrijving='FMIS-Bezetting';
|
||||
INSERT INTO cad_legenda (cad_legenda_omschrijving, cad_legenda_discreet) VALUES ('Bezetting', 1); -- naam mag je later wel aanpassen, nu handig uniek
|
||||
INSERT INTO cad_legendawaarde (cad_legenda_key, cad_legendawaarde_value, cad_legendawaarde_rgb, cad_legendawaarde_omschr) SELECT MAX(cad_legenda_key),'0','33CC33','hele dag beschikbaar' FROM cad_legenda WHERE cad_legenda_omschrijving='Bezetting';
|
||||
INSERT INTO cad_legendawaarde (cad_legenda_key, cad_legendawaarde_value, cad_legendawaarde_rgb, cad_legendawaarde_omschr) SELECT MAX(cad_legenda_key),'1','FF9900','''s middags beschikbaar' FROM cad_legenda WHERE cad_legenda_omschrijving='Bezetting';
|
||||
INSERT INTO cad_legendawaarde (cad_legenda_key, cad_legendawaarde_value, cad_legendawaarde_rgb, cad_legendawaarde_omschr) SELECT MAX(cad_legenda_key),'2','FFFF00','''s ochtends beschikbaar' FROM cad_legenda WHERE cad_legenda_omschrijving='Bezetting';
|
||||
INSERT INTO cad_legendawaarde (cad_legenda_key, cad_legendawaarde_value, cad_legendawaarde_rgb, cad_legendawaarde_omschr) SELECT MAX(cad_legenda_key),'3','FF0000','hele dag bezet' FROM cad_legenda WHERE cad_legenda_omschrijving='Bezetting';
|
||||
|
||||
INSERT INTO cad_thema (cad_thema_omschrijving, cad_legenda_key, cad_thema_view, cad_thema_type, fac_functie_key)
|
||||
SELECT 'Ruimtefunctie', 1, 'cad_v_thema_srtruimte', 1, fac_functie_key
|
||||
@@ -442,7 +251,7 @@ INSERT INTO cad_thema (cad_thema_omschrijving, cad_legenda_key, cad_thema_view,
|
||||
SELECT 'Werkplekbezetting', cad_legenda_key, 'cad_v_thema_deel_res_datum', 17, fac_functie_key
|
||||
FROM fac_functie, cad_legenda
|
||||
WHERE fac_functie_code = 'WEB_RESUSE'
|
||||
AND cad_legenda_omschrijving = 'FMIS-Bezetting';
|
||||
AND cad_legenda_omschrijving = 'Bezetting';
|
||||
|
||||
-- CAD labels
|
||||
INSERT INTO cad_label (cad_label_omschrijving, cad_label_view, cad_label_type, fac_functie_key, cad_label_size)
|
||||
@@ -472,14 +281,14 @@ INSERT INTO cad_label (cad_label_omschrijving, cad_label_view, cad_label_type, f
|
||||
|
||||
--- INFOBOARD rapportage
|
||||
INSERT INTO fac_usrrap (fac_usrrap_omschrijving, fac_usrrap_view_name, fac_usrrap_info, fac_functie_key, fac_usrrap_groep)
|
||||
SELECT 'FMIS: Actuele reserveringen'
|
||||
SELECT 'Actuele reserveringen'
|
||||
, 'res_v_rap_infobordframe'
|
||||
, 'Reserveringsoverzicht tbv informatieschermen'
|
||||
, fac_functie_key
|
||||
, 'RESERVERINGEN'
|
||||
FROM fac_functie
|
||||
WHERE fac_functie_code='WEB_RESFOF';
|
||||
-- Dit is netjes de Engelse vertaling, was eerder voorhanden in fac_ini. Zou striktgenomen voor alle teksten moeten, tzt.
|
||||
|
||||
INSERT INTO fac_locale (fac_locale_lang, fac_locale_kolomkeyval, fac_locale_kolomnaam, fac_locale_tekst)
|
||||
SELECT 'EN', MAX(fac_usrrap_key), 'FAC_USRRAP_OMSCHRIJVING', 'INFOBOARD: Actual reservations' FROM fac_usrrap WHERE fac_usrrap_view_name = 'res_v_rap_infobordframe';
|
||||
INSERT INTO fac_locale (fac_locale_lang, fac_locale_kolomkeyval, fac_locale_kolomnaam, fac_locale_tekst)
|
||||
@@ -492,38 +301,39 @@ UPDATE fac_setting SET fac_setting_pvalue = (SELECT MAX(fac_usrrap_key) FROM fac
|
||||
fac.writelog ('INI.FMIS_INI','I', 'CAD completed', '');
|
||||
|
||||
-- 10. UDR
|
||||
-- Kunnen we een paar FMIS-rapporten verzinnen? Neu.
|
||||
|
||||
|
||||
-- Settings: Alleen settings die specifiek voor FM zijn en intrinsiek afwijken van de standaardinstellingen(!)
|
||||
-- Instellingen: Alleen settings die specifiek voor FM zijn en intrinsiek afwijken van de standaardinstellingen(!)
|
||||
-- Algemeen UPDATE fac_setting SET fac_setting_pvalue = 'no_reply@' || user || '.facilitor.nl' WHERE fac_setting_name = 'puo_fromaddress';
|
||||
-- FMIS impliceert het een en ander
|
||||
UPDATE fac_setting SET fac_setting_pvalue = '1' WHERE fac_setting_name = 'faq_enabled';
|
||||
UPDATE fac_setting SET fac_setting_pvalue = '1' WHERE fac_setting_name = 'mobile_enabled';
|
||||
UPDATE fac_setting SET fac_setting_pvalue = '1' WHERE fac_setting_name = 'qrc_enabled';
|
||||
UPDATE fac_setting SET fac_setting_pvalue = '1' WHERE fac_setting_name = 'vis_afspraak_host_uses_keys'; -- vind ik beter, terug kan altijd nog
|
||||
UPDATE fac_setting SET fac_setting_pvalue = '1' WHERE fac_setting_name = 'vis_afspraak_onrgoed_uses_keys'; -- vind ik beter, terug kan altijd nog
|
||||
fac.writelog ('INI.FMIS_INI','I', 'Settings completed', '');
|
||||
UPDATE fac_setting SET fac_setting_pvalue = '1' WHERE fac_setting_name = 'vis_afspraak_host_uses_keys';
|
||||
UPDATE fac_setting SET fac_setting_pvalue = '1' WHERE fac_setting_name = 'vis_afspraak_onrgoed_uses_keys';
|
||||
UPDATE fac_setting SET fac_setting_pvalue = '2' WHERE fac_setting_name = 'portalmenu_combine_single';
|
||||
UPDATE fac_setting SET fac_setting_pvalue = '1' WHERE fac_setting_name = 'fac_usrrap_mode';
|
||||
UPDATE fac_setting SET fac_setting_pvalue = 'false' WHERE fac_setting_name = 'mld_accept_confirm';
|
||||
UPDATE fac_setting SET fac_setting_pvalue = '1' WHERE fac_setting_name = 'mld_use_order_approval';
|
||||
|
||||
fac.writelog ('INI.FMIS_INI','I', 'Settings completed', '');
|
||||
|
||||
-- Autorisatiegroepen
|
||||
-- We definieren deze groepen: Medewerker (_DEFAULT), Frontoffice, Backoffice, Beheerder (_ADMIN)
|
||||
INSERT INTO fac_groep (fac_groep_omschrijving, fac_groep_opmerking) VALUES ('FMIS-Frontoffice', 'FMIS-autorisatiegroep voor frontoffice users');
|
||||
INSERT INTO fac_groep (fac_groep_omschrijving, fac_groep_opmerking) VALUES ('FMIS-Backoffice', 'FMIS-autorisatiegroep voor backoffice users');
|
||||
INSERT INTO fac_groep (fac_groep_omschrijving, fac_groep_opmerking) VALUES ('Applicatiebeheer', 'Autorisatiegroep voor functionele applicatiebeheerders van de klant (licentie rechten)');
|
||||
INSERT INTO fac_groep (fac_groep_omschrijving, fac_groep_opmerking) VALUES ('_TESTERS', 'Autorisatiegroep voor testers van de klant tbv Facilitor trainingen');
|
||||
|
||||
-- Toekennen van de rechten om aan het werk te kunnen
|
||||
-- We proberen ons zo goed mogelijk te beperken tot de functionaliteit die we hier zelf net hebben gedefinieerd.
|
||||
-- In het bijzonder willen we geen bij-effecten als MLDUSE voor andere disciplines die toevallig al bestaan (bv uit ITSM_INI)
|
||||
-- gaan toekennen. Voor Admin-groepen is dat wat minder strikt en doen we wel ons best.
|
||||
-- Vooralsnog supporten we niet compleet dat je achteraf nog kunt initialiseren he.
|
||||
UPDATE fac_groep
|
||||
SET fac_groep_opmerking = 'Autorisatiegroep met alle applicatiebeheerrechten die mogelijk zijn (ook niet-licentierechten)'
|
||||
WHERE fac_groep_omschrijving = '_Admin';
|
||||
|
||||
-- Medewerker rechten
|
||||
-- Default rechten
|
||||
INSERT INTO fac_groeprechten (fac_groep_key, fac_functie_key, ins_discipline_key,
|
||||
fac_gebruiker_alg_level_read, fac_gebruiker_alg_level_write,
|
||||
fac_gebruiker_prs_level_read, fac_gebruiker_prs_level_write)
|
||||
SELECT g.fac_groep_key, f.fac_functie_key, d.ins_discipline_key, -1, -1, -1, -1
|
||||
FROM fac_functie f, ins_tab_discipline d, fac_groep g, ins_srtdiscipline sd
|
||||
WHERE f.fac_functie_code IN ('WEB_RESUSE', 'WEB_MLDUSE', 'WEB_BESUSE','WEB_BEZUSE','WEB_FAQUSE','WEB_PROFIL')
|
||||
WHERE f.fac_functie_code IN ('WEB_RESUSE', 'WEB_MLDUSE', 'WEB_FAQUSE')
|
||||
AND f.fac_functie_module = d.ins_discipline_module
|
||||
AND g.fac_groep_upper = '_DEFAULT'
|
||||
AND d.ins_srtdiscipline_key = sd.ins_srtdiscipline_key(+)
|
||||
@@ -534,6 +344,30 @@ INSERT INTO fac_groeprechten (fac_groep_key, fac_functie_key, ins_discipline_key
|
||||
WHERE gr.fac_functie_key = f.fac_functie_key
|
||||
AND gr.ins_discipline_key = d.ins_discipline_key
|
||||
AND gr.fac_groep_key = g.fac_groep_key);
|
||||
|
||||
-- Default rechten die niet te koppelen zijn aan een discipline (globale rechten)
|
||||
INSERT INTO fac_groeprechten (fac_groep_key,
|
||||
fac_functie_key,
|
||||
ins_discipline_key,
|
||||
fac_gebruiker_alg_level_read,
|
||||
fac_gebruiker_alg_level_write,
|
||||
fac_gebruiker_prs_level_read,
|
||||
fac_gebruiker_prs_level_write)
|
||||
SELECT g.fac_groep_key,
|
||||
f.fac_functie_key,
|
||||
NULL,
|
||||
-1,
|
||||
-1,
|
||||
-1,
|
||||
-1
|
||||
FROM fac_functie f, fac_groep g --, ins_tab_discipline d, ins_srtdiscipline sd
|
||||
WHERE f.fac_functie_code IN ('WEB_BEZUSE','WEB_PROFIL', 'WEB_PRSOBJ', 'WEB_PHSRCH')
|
||||
AND g.fac_groep_upper = '_DEFAULT'
|
||||
AND NOT EXISTS
|
||||
(SELECT gr.fac_groeprechten_key
|
||||
FROM fac_groeprechten gr
|
||||
WHERE gr.fac_functie_key = f.fac_functie_key
|
||||
AND gr.fac_groep_key = g.fac_groep_key);
|
||||
|
||||
-- Frontoffice rechten
|
||||
INSERT INTO fac_groeprechten (fac_groep_key, fac_functie_key, ins_discipline_key,
|
||||
@@ -541,7 +375,7 @@ INSERT INTO fac_groeprechten (fac_groep_key, fac_functie_key, ins_discipline_key
|
||||
fac_gebruiker_prs_level_read, fac_gebruiker_prs_level_write)
|
||||
SELECT g.fac_groep_key, f.fac_functie_key, d.ins_discipline_key, -1, -1, -1, -1
|
||||
FROM fac_functie f, ins_tab_discipline d, fac_groep g, ins_srtdiscipline sd
|
||||
WHERE f.fac_functie_code IN ('WEB_RESFOF', 'WEB_MLDFOF', 'WEB_BESFOF', 'WEB_BEZFOF', 'WEB_FAQFOF', 'WEB_INSFOF')
|
||||
WHERE f.fac_functie_code IN ('WEB_RESFOF', 'WEB_MLDFOF', 'WEB_FAQFOF')
|
||||
AND f.fac_functie_module = d.ins_discipline_module
|
||||
AND g.fac_groep_upper = 'FMIS-FRONTOFFICE'
|
||||
AND d.ins_srtdiscipline_key = sd.ins_srtdiscipline_key(+)
|
||||
@@ -552,6 +386,30 @@ INSERT INTO fac_groeprechten (fac_groep_key, fac_functie_key, ins_discipline_key
|
||||
WHERE gr.fac_functie_key = f.fac_functie_key
|
||||
AND gr.ins_discipline_key = d.ins_discipline_key
|
||||
AND gr.fac_groep_key = g.fac_groep_key);
|
||||
|
||||
-- Frontoffice rechten die niet te koppelen zijn aan een discipline (globale rechten)
|
||||
INSERT INTO fac_groeprechten (fac_groep_key,
|
||||
fac_functie_key,
|
||||
ins_discipline_key,
|
||||
fac_gebruiker_alg_level_read,
|
||||
fac_gebruiker_alg_level_write,
|
||||
fac_gebruiker_prs_level_read,
|
||||
fac_gebruiker_prs_level_write)
|
||||
SELECT g.fac_groep_key,
|
||||
f.fac_functie_key,
|
||||
NULL,
|
||||
-1,
|
||||
-1,
|
||||
-1,
|
||||
-1
|
||||
FROM fac_functie f, fac_groep g --, ins_tab_discipline d, ins_srtdiscipline sd
|
||||
WHERE f.fac_functie_code IN ('WEB_BEZFOF', 'WEB_INSFOF', 'WEB_PRSFOF')
|
||||
AND g.fac_groep_upper = 'FMIS-FRONTOFFICE'
|
||||
AND NOT EXISTS
|
||||
(SELECT gr.fac_groeprechten_key
|
||||
FROM fac_groeprechten gr
|
||||
WHERE gr.fac_functie_key = f.fac_functie_key
|
||||
AND gr.fac_groep_key = g.fac_groep_key);
|
||||
|
||||
-- Backoffice rechten
|
||||
INSERT INTO fac_groeprechten (fac_groep_key, fac_functie_key, ins_discipline_key,
|
||||
@@ -559,7 +417,7 @@ INSERT INTO fac_groeprechten (fac_groep_key, fac_functie_key, ins_discipline_key
|
||||
fac_gebruiker_prs_level_read, fac_gebruiker_prs_level_write)
|
||||
SELECT g.fac_groep_key, f.fac_functie_key, d.ins_discipline_key, -1, -1, -1, -1
|
||||
FROM fac_functie f, ins_tab_discipline d, fac_groep g, ins_srtdiscipline sd
|
||||
WHERE f.fac_functie_code IN ('WEB_RESBOF', 'WEB_MLDBOF', 'WEB_ORDBOF', 'WEB_BESBOF', 'WEB_BEZBOF', 'WEB_FAQBOF', 'WEB_INSUSE', 'WEB_INSMAN', 'WEB_CNTMAN', 'WEB_CNTUSE')
|
||||
WHERE f.fac_functie_code IN ('WEB_RESBOF', 'WEB_MLDBOF', 'WEB_ORDBOF', 'WEB_FAQBOF')
|
||||
AND f.fac_functie_module = d.ins_discipline_module
|
||||
AND g.fac_groep_upper = 'FMIS-BACKOFFICE'
|
||||
AND d.ins_srtdiscipline_key = sd.ins_srtdiscipline_key(+)
|
||||
@@ -570,8 +428,80 @@ INSERT INTO fac_groeprechten (fac_groep_key, fac_functie_key, ins_discipline_key
|
||||
WHERE gr.fac_functie_key = f.fac_functie_key
|
||||
AND gr.ins_discipline_key = d.ins_discipline_key
|
||||
AND gr.fac_groep_key = g.fac_groep_key);
|
||||
|
||||
-- Backoffice rechten die niet te koppelen zijn aan een discipline (globale rechten)
|
||||
INSERT INTO fac_groeprechten (fac_groep_key,
|
||||
fac_functie_key,
|
||||
ins_discipline_key,
|
||||
fac_gebruiker_alg_level_read,
|
||||
fac_gebruiker_alg_level_write,
|
||||
fac_gebruiker_prs_level_read,
|
||||
fac_gebruiker_prs_level_write)
|
||||
SELECT g.fac_groep_key,
|
||||
f.fac_functie_key,
|
||||
NULL,
|
||||
-1,
|
||||
-1,
|
||||
-1,
|
||||
-1
|
||||
FROM fac_functie f, fac_groep g --, ins_tab_discipline d, ins_srtdiscipline sd
|
||||
WHERE f.fac_functie_code IN ('WEB_ALGUSE', 'WEB_RUIUSE', 'WEB_ALMAN', 'WEB_RUIMAN', 'WEB_TERMAN',
|
||||
'WEB_BEZBOF', 'WEB_CNTMAN', 'WEB_CNTUSE', 'WEB_INSUSE', 'WEB_FAQBOF',
|
||||
'WEB_INSMAN', 'WEB_INSUSE', 'WEB_MSGBOF', 'WEB_PRSMAN', 'WEB_RELMAN',
|
||||
'WEB_EXTREL', 'WEB_PRSUSE')
|
||||
AND g.fac_groep_upper = 'FMIS-BACKOFFICE'
|
||||
AND NOT EXISTS
|
||||
(SELECT gr.fac_groeprechten_key
|
||||
FROM fac_groeprechten gr
|
||||
WHERE gr.fac_functie_key = f.fac_functie_key
|
||||
AND gr.fac_groep_key = g.fac_groep_key);
|
||||
|
||||
-- Beheerder rechten
|
||||
-- Applicatiebeheer rechten
|
||||
INSERT INTO fac_groeprechten (fac_groep_key, fac_functie_key, ins_discipline_key,
|
||||
fac_gebruiker_alg_level_read, fac_gebruiker_alg_level_write,
|
||||
fac_gebruiker_prs_level_read, fac_gebruiker_prs_level_write)
|
||||
SELECT g.fac_groep_key, f.fac_functie_key, d.ins_discipline_key, -1, -1, -1, -1
|
||||
FROM fac_functie f, ins_tab_discipline d, fac_groep g, ins_srtdiscipline sd
|
||||
WHERE f.fac_functie_code IN ('WEB_RESMSU', 'WEB_MLDMSU', 'WEB_FAQMGT', 'WEB_FAQMSU',
|
||||
'WEB_RESMGT', 'WEB_MLDMGT', 'WEB_RESBAC', 'WEB_MLDBAC')
|
||||
AND f.fac_functie_module = d.ins_discipline_module
|
||||
AND g.fac_groep_upper = 'APPLICATIEBEHEER'
|
||||
AND d.ins_srtdiscipline_key = sd.ins_srtdiscipline_key(+)
|
||||
AND (sd.ins_srtdiscipline_omschrijving LIKE 'FMIS-%' OR sd.ins_srtdiscipline_omschrijving IS NULL)
|
||||
AND NOT EXISTS
|
||||
(SELECT gr.fac_groeprechten_key
|
||||
FROM fac_groeprechten gr
|
||||
WHERE gr.fac_functie_key = f.fac_functie_key
|
||||
AND gr.ins_discipline_key = d.ins_discipline_key
|
||||
AND gr.fac_groep_key = g.fac_groep_key);
|
||||
|
||||
-- Applicatiebeheer rechten die niet te koppelen zijn aan een discipline (globale rechten)
|
||||
INSERT INTO fac_groeprechten (fac_groep_key,
|
||||
fac_functie_key,
|
||||
ins_discipline_key,
|
||||
fac_gebruiker_alg_level_read,
|
||||
fac_gebruiker_alg_level_write,
|
||||
fac_gebruiker_prs_level_read,
|
||||
fac_gebruiker_prs_level_write)
|
||||
SELECT g.fac_groep_key,
|
||||
f.fac_functie_key,
|
||||
NULL,
|
||||
-1,
|
||||
-1,
|
||||
-1,
|
||||
-1
|
||||
FROM fac_functie f, fac_groep g --, ins_tab_discipline d, ins_srtdiscipline sd
|
||||
WHERE f.fac_functie_code IN ('WEB_PRSMGT', 'WEB_PRSMSU', 'WEB_ALGMSU',
|
||||
'WEB_ALGMGT', 'WEB_BEZMSU', 'WEB_BEZMGT', 'WEB_BEZBAC', 'WEB_CNTMSU', 'WEB_CNTMGT',
|
||||
'WEB_FACMGT', 'WEB_FACMSU', 'WEB_IMPORT', 'WEB_PRSSYS', 'WEB_INSMGT', 'WEB_INSMSU')
|
||||
AND g.fac_groep_upper = 'APPLICATIEBEHEER'
|
||||
AND NOT EXISTS
|
||||
(SELECT gr.fac_groeprechten_key
|
||||
FROM fac_groeprechten gr
|
||||
WHERE gr.fac_functie_key = f.fac_functie_key
|
||||
AND gr.fac_groep_key = g.fac_groep_key);
|
||||
|
||||
-- _ADMIN rechten
|
||||
INSERT INTO fac_groeprechten (fac_groep_key, fac_functie_key, ins_discipline_key,
|
||||
fac_gebruiker_alg_level_read, fac_gebruiker_alg_level_write,
|
||||
fac_gebruiker_prs_level_read, fac_gebruiker_prs_level_write)
|
||||
@@ -590,11 +520,39 @@ INSERT INTO fac_groeprechten (fac_groep_key, fac_functie_key, ins_discipline_key
|
||||
WHERE gr.fac_functie_key = f.fac_functie_key
|
||||
AND gr.ins_discipline_key = d.ins_discipline_key
|
||||
AND gr.fac_groep_key = g.fac_groep_key);
|
||||
|
||||
-- _ADMIN rechten die niet te koppelen zijn aan een discipline (globale rechten) muv WEB_FACFAC en WEB_FACHML en WEB_FACTAB
|
||||
INSERT INTO fac_groeprechten (fac_groep_key,
|
||||
fac_functie_key,
|
||||
ins_discipline_key,
|
||||
fac_gebruiker_alg_level_read,
|
||||
fac_gebruiker_alg_level_write,
|
||||
fac_gebruiker_prs_level_read,
|
||||
fac_gebruiker_prs_level_write)
|
||||
SELECT g.fac_groep_key,
|
||||
f.fac_functie_key,
|
||||
NULL,
|
||||
-1,
|
||||
-1,
|
||||
-1,
|
||||
-1
|
||||
FROM fac_functie f, fac_groep g --, ins_tab_discipline d, ins_srtdiscipline sd
|
||||
WHERE f.fac_functie_code IN ('WEB_BEZBAC', 'WEB_BEZUSE', 'WEB_CADUSE',
|
||||
'WEB_CADALG', 'WEB_CADCNT', 'WEB_CADMLD', 'WEB_CADPRS', 'WEB_CADSCH', 'WEB_FACQRC',
|
||||
'WEB_EXTFIN', 'WEB_FINGOE', 'WEB_VERFAC', 'WEB_KPIRAP', 'WEB_UURUSE', 'WEB_MRKUSE',
|
||||
'WEB_MSGUSE', 'WEB_PHONEB', 'WEB_PHSRCH', 'WEB_PROFIL', 'WEB_PRSOBJ', 'WEB_WGTUSE')
|
||||
AND g.fac_groep_upper = '_ADMIN'
|
||||
AND NOT EXISTS
|
||||
(SELECT gr.fac_groeprechten_key
|
||||
FROM fac_groeprechten gr
|
||||
WHERE gr.fac_functie_key = f.fac_functie_key
|
||||
AND gr.fac_groep_key = g.fac_groep_key);
|
||||
|
||||
|
||||
-- _FACILITOR-rechten
|
||||
-- We willen tbv Support dat _FACILITOR alles kan, dus ook rechten krijgt op de zaken
|
||||
-- die hier zijn aangemaakt. De rest had-ie standaard al.
|
||||
-- Dit zijn dus autorisaties als ORDAFR,ORDBO2, ORDGO5, UURBOF, CNTGO1 en MLDREO, to name a few.
|
||||
-- Dit zijn dus autorisaties als ORDAFR, ORDBO2, ORDGO5, UURBOF, CNTGO1 en MLDREO.
|
||||
INSERT INTO fac_groeprechten (fac_groep_key, fac_functie_key, ins_discipline_key,
|
||||
fac_gebruiker_alg_level_read, fac_gebruiker_alg_level_write,
|
||||
fac_gebruiker_prs_level_read, fac_gebruiker_prs_level_write)
|
||||
@@ -614,53 +572,16 @@ INSERT INTO fac_groeprechten (fac_groep_key, fac_functie_key, ins_discipline_key
|
||||
|
||||
fac.writelog ('INI.FMIS_INI','I', 'AUT completed', '');
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
--
|
||||
--
|
||||
-- Een heel klein beetje voorbeeldvulling als appetizer
|
||||
--
|
||||
--
|
||||
-- Importeren van locatie en gebouwen (ONRGOED1)
|
||||
INSERT INTO fac_imp_onrgoed1 (alg_regio_omschrijving, alg_district_omschrijving,
|
||||
-- Voorbeeldvulling
|
||||
-- Importeren van locatie en gebouwen (ONRGOED1) - voor nu weglaten. Als klanten wellicht dit zelf gaan gebruiken dan kan het toegevoegd worden wel dan een lijst van 5 en niet 1 waarde.
|
||||
/* INSERT INTO fac_imp_onrgoed1 (alg_regio_omschrijving, alg_district_omschrijving,
|
||||
alg_locatie_code, alg_locatie_omschrijving, alg_gebouw_code, alg_gebouw_naam, alg_srtgebouw_omschrijving,
|
||||
alg_locatie_adres, alg_locatie_postcode, alg_locatie_plaats)
|
||||
VALUES ('Nederland', 'Midden',
|
||||
'UTR','Hoofdkantoor','HQ','Hoofdgebouw','Kantoor',
|
||||
'Grotestraat 123','1234 AB','Utrecht');
|
||||
BEGIN fac_update_onrgoed1(ini.getImportKey('ONRGOED1')); END;
|
||||
DELETE FROM fac_imp_onrgoed1;
|
||||
|
||||
|
||||
-- Importeren van vergaderzalen (ONRGOED2)
|
||||
INSERT INTO fac_imp_onrgoed2 (alg_locatie_code, alg_gebouw_code, alg_verdieping_volgnr, alg_srtruimte_omschrijving,
|
||||
alg_ruimte_nr, alg_ruimte_omschrijving, reserveerbaar,
|
||||
res_discipline_omschrijving, res_opstelling_omschrijving, res_ruimte_opstel_bezoekers, res_ruimte_nr)
|
||||
SELECT 'UTR', 'HQ', 0, 'Vergaderruimte', '0.12', 'Vergaderruimte 1', 'J', 'Vergaderruimte', 'Standaard', 10, 'Dahlia' FROM DUAL UNION ALL
|
||||
SELECT 'UTR', 'HQ', 0, 'Vergaderruimte', '0.13', 'Vergaderruimte 2', 'J', 'Vergaderruimte', 'Standaard', 8, 'Rozentuin' FROM DUAL;
|
||||
|
||||
-- Importeren van losse ruimten
|
||||
INSERT INTO fac_imp_onrgoed2( alg_locatie_code, alg_gebouw_code, alg_verdieping_volgnr, alg_srtruimte_omschrijving, alg_ruimte_nr, alg_ruimte_omschrijving)
|
||||
SELECT 'UTR', 'HQ', 0, 'Verkeersruimte', '0.01', 'Gang' FROM DUAL UNION ALL
|
||||
SELECT 'UTR', 'HQ', 0, 'Kantoor', '0.02', 'Kantoor 0.02' FROM DUAL UNION ALL
|
||||
SELECT 'UTR', 'HQ', 0, 'Kantoor', '0.03', 'Kantoor 0.03' FROM DUAL UNION ALL
|
||||
SELECT 'UTR', 'HQ', 0, 'Kantoor', '0.04', 'Kantoor 0.04' FROM DUAL;
|
||||
BEGIN fac_update_onrgoed2(ini.getImportKey('ONRGOED2')); END;
|
||||
DELETE FROM fac_imp_onrgoed2;
|
||||
-- Mooier:
|
||||
UPDATE alg_verdieping SET alg_verdieping_omschrijving = 'Begane grond' WHERE alg_verdieping_upper = 'VERDIEPING 0';
|
||||
|
||||
-- Importeren van flexplekken (INS)
|
||||
INSERT INTO fac_imp_ins (ins_discipline_omschrijving, ins_srtgroep_omschrijving,ins_srtdeel_code,ins_srtdeel_omschrijving,ins_deel_omschrijving,
|
||||
alg_locatie_code,alg_gebouw_code,alg_verdieping_volgnr,alg_ruimte_nr,ins_deel_aantal,reserveerbaar,res_deel_alg_level,res_discipline_omschrijving)
|
||||
SELECT 'Werkplekken', 'Werkplekken', 'FLEXDS', 'Flexplek met dockingstation', 'FLEXDS003.1', 'UTR', 'HQ', 0, '0.03', 1, 1, 4, 'Werkplekreservering' FROM DUAL UNION ALL
|
||||
SELECT 'Werkplekken', 'Werkplekken', 'FLEXDS', 'Flexplek met dockingstation', 'FLEXDS004.1', 'UTR', 'HQ', 0, '0.04', 1, 1, 4, 'Werkplekreservering' FROM DUAL UNION ALL
|
||||
SELECT 'Werkplekken', 'Werkplekken', 'FLEX', 'Flexplek', 'FLEX004.2', 'UTR', 'HQ', 0, '0.04', 1, 1, 4, 'Werkplekreservering' FROM DUAL;
|
||||
BEGIN fac_update_ins(ini.getImportKey('INS')); END;
|
||||
DELETE FROM fac_imp_ins;
|
||||
|
||||
DELETE FROM fac_imp_onrgoed1; */
|
||||
|
||||
-- Wil ik dit, en zo, en specifiek? Core!
|
||||
INSERT INTO fac_menu (fac_menu_altlabel,
|
||||
@@ -682,16 +603,6 @@ INSERT INTO fac_menu (fac_menu_altlabel,
|
||||
FROM fac_functie f, res_discipline rd
|
||||
WHERE rd.ins_discipline_omschrijving = 'Flexplekken' AND f.fac_functie_code = 'WEB_RESUSE';
|
||||
|
||||
-- Reserveerbare artikelen
|
||||
INSERT INTO fac_imp_res_artikel_sync (res_discipline_oms, res_artikel_nr, res_artikel_omschrijving, res_artikel_eenheid, res_artikel_prijs, res_artikel_prijs_vast)
|
||||
SELECT 'Dranken', 'D002', 'Thee', 'Kan', '5.50', 1 FROM DUAL UNION ALL
|
||||
SELECT 'Dranken', 'D003', 'Frisdrank', 'Flesje', '2.50', 1 FROM DUAL UNION ALL
|
||||
SELECT 'Dranken', 'D004', 'Water', 'Kan', '2.00', 1 FROM DUAL UNION ALL
|
||||
SELECT 'Dranken', 'D001', 'Koffie', 'Kan', '7.50', 1 FROM DUAL;
|
||||
BEGIN fac_update_res_artikel_sync(ini.getImportKey('RES_ARTIKEL_SYNC')); END;
|
||||
DELETE FROM fac_imp_res_artikel_sync;
|
||||
|
||||
|
||||
-- Interne organisatiestructuur (ORGANISATIE), is die kostenplaats nodig?
|
||||
INSERT INTO fac_imp_organisatie (prs_bedrijf_naam, prs_afdeling_naam, prs_afdeling_omschrijving, prs_kostenplaats_nr)
|
||||
SELECT 'Onze organisatie', 'SALES', 'Sales & Marketing', 'S' FROM DUAL UNION ALL
|
||||
@@ -699,51 +610,163 @@ INSERT INTO fac_imp_organisatie (prs_bedrijf_naam, prs_afdeling_naam, prs_afdeli
|
||||
SELECT 'Onze organisatie', 'HR', 'Personeel & Organisatie', 'P' FROM DUAL UNION ALL
|
||||
SELECT 'Onze organisatie', 'ICT', 'ICT', 'I' FROM DUAL UNION ALL
|
||||
SELECT 'Onze organisatie', 'FIN', 'Finance', 'FIN' FROM DUAL UNION ALL
|
||||
SELECT 'Onze organisatie', 'MW', 'Overig', 'MW' FROM DUAL UNION ALL
|
||||
SELECT 'Onze organisatie', 'MW', 'Overig', 'MW' FROM DUAL UNION ALL
|
||||
SELECT 'Onze organisatie', 'FM', 'Facility Management', 'FM' FROM DUAL;
|
||||
BEGIN fac_update_organisatie(ini.getImportKey('ORGANISATIE')); END;
|
||||
DELETE FROM fac_imp_organisatie;
|
||||
|
||||
|
||||
-- Minimale gebruikers, moet gedocumenteerd worden, wachtwoorden via wachtwoord-vergeten oid
|
||||
-- nummers/mail hebben bewust ongeldig format om gegarandeerd ongeldig te zijn
|
||||
INSERT INTO fac_imp_perslid (prs_afdeling_naam, prs_perslid_naam, prs_perslid_voornaam, prs_perslid_telefoonnr, prs_perslid_mobiel, prs_perslid_email, prs_srtperslid_omschrijving, prs_perslid_nr, prs_perslid_oslogin, prs_perslid_wachtwoord)
|
||||
SELECT 'MW' a, 'Medewerker' b, 'Marco' c, '022-398345' d, '06-2978529' e, 'marco.medewerker@wxyz' f, 'Medewerker' g, '001' h, 'Marco' i, 'Medewerker21#' j FROM DUAL UNION ALL
|
||||
SELECT 'FM', 'Backoffice', 'Bas', '022-398346', '06-2978630', 'bas.backoffice@wxyz', 'Medewerker', '002', 'Bas', 'Backoffice21#' FROM DUAL UNION ALL
|
||||
SELECT 'FM', 'Frontoffice', 'Furkan', '022-398248', '06-2935632', 'furkan.frontoffice@wxyz', 'Medewerker', '003', 'Furkan', 'Frontoffice21#' FROM DUAL UNION ALL
|
||||
SELECT 'ICT', 'Beheerder', 'Barbara', '022-398247', '06-2937631', 'barbara.beheerder@wxyz', 'Medewerker', '004', 'Barbara', 'Beheerder21#' FROM DUAL;
|
||||
SELECT 'MW', 'Medewerker', 'Marco', '022-398345', '06-2978529', 'marco.medewerker@wxyz', 'Medewerker', '001', 'Marco', 'Medewerker21#' FROM DUAL UNION ALL
|
||||
SELECT 'FM', 'Backoffice', 'Bas', '022-398346', '06-2978630', 'bas.backoffice@wxyz', 'Medewerker', '002', 'Bas', 'Backoffice21#' FROM DUAL UNION ALL
|
||||
SELECT 'FM', 'Frontoffice', 'Furkan', '022-398248', '06-2935632', 'furkan.frontoffice@wxyz', 'Medewerker', '003', 'Furkan', 'Frontoffice21#' FROM DUAL UNION ALL
|
||||
SELECT 'ICT', 'Beheerder', 'Barbara', '022-398247', '06-2937631', 'barbara.beheerder@wxyz', 'Medewerker', '004', 'Barbara', 'Beheerder21#' FROM DUAL;
|
||||
BEGIN fac_update_perslid(ini.getImportKey('PERSLID')); END;
|
||||
DELETE FROM fac_imp_perslid;
|
||||
|
||||
-- Rechten toekennen aan de personen
|
||||
-- Iedereen zit standaard al in de _default groep
|
||||
-- De beheerder zetten we in de beheerdersgroep en de ook in de backoffice groep? Nou, ik vind toch eigenlijk van niet.
|
||||
-- INSERT INTO fac_gebruikersgroep (fac_groep_key, prs_perslid_key) SELECT g.fac_groep_key, p.prs_perslid_key FROM fac_groep, prs_perslid p WHERE g.fac_groep_upper = '_DEFAULT' AND p.prs_perslid_naam = 'Medewerker'
|
||||
-- Iedereen zit standaard in de _DEFAULT groep
|
||||
INSERT INTO fac_gebruikersgroep (fac_groep_key, prs_perslid_key) SELECT g.fac_groep_key, p.prs_perslid_key FROM fac_groep g, prs_perslid p WHERE g.fac_groep_upper = 'FMIS-BACKOFFICE' AND p.prs_perslid_naam = 'Backoffice';
|
||||
INSERT INTO fac_gebruikersgroep (fac_groep_key, prs_perslid_key) SELECT g.fac_groep_key, p.prs_perslid_key FROM fac_groep g, prs_perslid p WHERE g.fac_groep_upper = 'FMIS-FRONTOFFICE' AND p.prs_perslid_naam = 'Backoffice';
|
||||
INSERT INTO fac_gebruikersgroep (fac_groep_key, prs_perslid_key) SELECT g.fac_groep_key, p.prs_perslid_key FROM fac_groep g, prs_perslid p WHERE g.fac_groep_upper = 'FMIS-FRONTOFFICE' AND p.prs_perslid_naam = 'Frontoffice';
|
||||
INSERT INTO fac_gebruikersgroep (fac_groep_key, prs_perslid_key) SELECT g.fac_groep_key, p.prs_perslid_key FROM fac_groep g, prs_perslid p WHERE g.fac_groep_upper = '_ADMIN' AND p.prs_perslid_naam = 'Beheerder';
|
||||
--INSERT INTO fac_gebruikersgroep (fac_groep_key, prs_perslid_key) SELECT g.fac_groep_key, p.prs_perslid_key FROM fac_groep g, prs_perslid p WHERE g.fac_groep_upper = 'FMIS-BACKOFFICE' AND p.prs_perslid_naam = 'Beheerder';
|
||||
--INSERT INTO fac_gebruikersgroep (fac_groep_key, prs_perslid_key) SELECT g.fac_groep_key, p.prs_perslid_key FROM fac_groep g, prs_perslid p WHERE g.fac_groep_upper = 'FMIS-FRONTOFFICE' AND p.prs_perslid_naam = 'Beheerder';
|
||||
|
||||
-- INS
|
||||
INSERT INTO fac_imp_ins (ins_discipline_omschrijving, ins_srtgroep_omschrijving,ins_srtdeel_code,ins_srtdeel_omschrijving,ins_deel_omschrijving,
|
||||
alg_locatie_code,alg_gebouw_code,alg_verdieping_volgnr,alg_ruimte_nr,ins_deel_aantal)
|
||||
SELECT 'Automaten', 'Koffieautomaten', 'KOF', 'Koffieautomaat', 'KOF001', 'UTR', 'HQ', 0, '0.01', 1 FROM DUAL UNION ALL
|
||||
SELECT 'Automaten', 'Koffieautomaten', 'KOF', 'Koffieautomaat', 'KOF002', 'UTR', 'HQ', 0, '0.01', 1 FROM DUAL;
|
||||
BEGIN fac_update_ins(ini.getImportKey('INS')); END;
|
||||
DELETE FROM fac_imp_ins;
|
||||
|
||||
fac.writelog ('INI.FMIS_INI','I', 'Sample content completed', '');
|
||||
|
||||
INSERT INTO fac_gebruikersgroep (fac_groep_key, prs_perslid_key) SELECT g.fac_groep_key, p.prs_perslid_key FROM fac_groep g, prs_perslid p WHERE g.fac_groep_upper = 'APPLICATIEBEHEER' AND p.prs_perslid_naam = 'Beheerder';
|
||||
|
||||
-- Nieuws bericht
|
||||
INSERT INTO fac_nieuws (fac_nieuws_titel, fac_nieuws_omschrijving, fac_nieuws_image,
|
||||
prs_perslid_key)
|
||||
SELECT 'Facilitor voor al je facilitaire zaken', 'Gefeliciteerd met de keuze voor Facilitor/FMIS! Dit is een eerste stap naar totale controle over je dienstverlenende processen.', 'fa-person-through-window',
|
||||
SELECT 'Facilitor voor al je facilitaire zaken', 'Gefeliciteerd met de keuze voor Facilitor! Dit is een eerste stap naar totale controle over je dienstverlenende processen.', 'fa-person-through-window',
|
||||
prs_perslid_key
|
||||
FROM prs_perslid
|
||||
WHERE prs_perslid_oslogin = '_FACILITOR';
|
||||
|
||||
-- 'Help me' verwijderen
|
||||
DELETE FROM fac_menu WHERE fac_menu_altlabel = 'lcl_menu_mld_fe_5';
|
||||
|
||||
-- Widgetpagina aanmaken
|
||||
/* DECLARE
|
||||
mijn_widget_paginakey fac_widget_page.fac_widget_page_key%TYPE;
|
||||
mijn_aanvraag_paginakey fac_menu.fac_menu_key%TYPE;
|
||||
mijn_storing_paginakey fac_menu.fac_menu_key%TYPE;
|
||||
mijn_klacht_paginakey fac_menu.fac_menu_key%TYPE;
|
||||
mijn_aanvraag_widgetkey fac_widget.fac_widget_key%TYPE;
|
||||
mijn_storing_widgetkey fac_widget.fac_widget_key%TYPE;
|
||||
mijn_klacht_widgetkey fac_widget.fac_widget_key%TYPE;
|
||||
BEGIN
|
||||
INSERT INTO fac_widget_page(fac_widget_page_name, prs_perslid_key, fac_groep_key) VALUES ('Startpagina', NULL, NULL)
|
||||
RETURNING fac_widget_page_key INTO mijn_widget_paginakey;
|
||||
UPDATE fac_setting SET fac_setting_pvalue = mijn_widget_paginakey WHERE fac_setting_name = 'widgetportal';
|
||||
|
||||
-- Menuitems Aanvraag, Storing, Klacht aanmaken
|
||||
INSERT INTO fac_menu(fac_menuitems_key, fac_menu_altlabel, fac_menu_altgroep, fac_menu_image, fac_menu_info, fac_menu_message, fac_menu_volgnr, fac_menu_alturl, fac_functie_key, fac_menu_portal, fac_menu_level, ins_srtdiscipline_key, ins_discipline_key) VALUES ( NULL, 'Doe een aanvraag', 0, 'fa-comments-question-check', NULL, NULL, 60, '/appl/mld/mld_fe_menu.asp?srtdisc=1&lvl=1', NULL, NULL, 2, NULL, NULL)
|
||||
RETURNING fac_menu_key INTO mijn_aanvraag_paginakey;
|
||||
INSERT INTO fac_menu(fac_menuitems_key, fac_menu_altlabel, fac_menu_altgroep, fac_menu_image, fac_menu_info, fac_menu_message, fac_menu_volgnr, fac_menu_alturl, fac_functie_key, fac_menu_portal, fac_menu_level, ins_srtdiscipline_key, ins_discipline_key) VALUES ( NULL, 'Meld een storing', 0, 'fa-comments-alt-exclamation', NULL, NULL, 70, '/appl/mld/mld_fe_menu.asp?srtdisc=3&lvl=1', NULL, NULL, 2, NULL, NULL)
|
||||
RETURNING fac_menu_key INTO mijn_storing_paginakey;
|
||||
INSERT INTO fac_menu(fac_menuitems_key, fac_menu_altlabel, fac_menu_altgroep, fac_menu_image, fac_menu_info, fac_menu_message, fac_menu_volgnr, fac_menu_alturl, fac_functie_key, fac_menu_portal, fac_menu_level, ins_srtdiscipline_key, ins_discipline_key) VALUES ( NULL, 'Meld een klacht', 0, 'fa-bell-ring', NULL, NULL, 80, '/appl/mld/mld_fe_menu.asp?srtdisc=2&lvl=1', NULL, NULL, 2, NULL, NULL)
|
||||
RETURNING fac_menu_key INTO mijn_klacht_paginakey;
|
||||
|
||||
-- losse widgets aanmaken van de menuitems
|
||||
INSERT INTO fac_widget(fac_widget_type, fac_widget_naam, fac_widget_typerefkey, fac_widget_content, fac_widget_url, fac_widget_title, fac_widget_refreshtime, fac_widget_id, fac_widget_height, fac_widget_width, fac_functie_key, fac_widget_public) VALUES ('MI', 'Doe een aanvraag', mijn_aanvraag_paginakey, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0)
|
||||
RETURNING fac_widget_key INTO mijn_aanvraag_widgetkey;
|
||||
INSERT INTO fac_widget(fac_widget_type, fac_widget_naam, fac_widget_typerefkey, fac_widget_content, fac_widget_url, fac_widget_title, fac_widget_refreshtime, fac_widget_id, fac_widget_height, fac_widget_width, fac_functie_key, fac_widget_public) VALUES ('MI', 'Meld een storing', mijn_storing_paginakey, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0)
|
||||
RETURNING fac_widget_key INTO mijn_storing_widgetkey;
|
||||
INSERT INTO fac_widget(fac_widget_type, fac_widget_naam, fac_widget_typerefkey, fac_widget_content, fac_widget_url, fac_widget_title, fac_widget_refreshtime, fac_widget_id, fac_widget_height, fac_widget_width, fac_functie_key, fac_widget_public) VALUES ('MI', 'Meld een klacht', mijn_klacht_paginakey, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0)
|
||||
RETURNING fac_widget_key INTO mijn_klacht_widgetkey;
|
||||
|
||||
-- Widgets op de widgetpagina zetten
|
||||
INSERT ALL INTO fac_widget_onpage (fac_widget_page_key, fac_widget_key, fac_widget_onpage_order, fac_widget_onpage_height, fac_widget_onpage_width) VALUES (mijn_widget_paginakey, mijn_aanvraag_widgetkey, 0, null, 33)
|
||||
INTO fac_widget_onpage (fac_widget_page_key, fac_widget_key, fac_widget_onpage_order, fac_widget_onpage_height, fac_widget_onpage_width) VALUES (mijn_widget_paginakey, mijn_storing_widgetkey, 1, null, 33)
|
||||
INTO fac_widget_onpage (fac_widget_page_key, fac_widget_key, fac_widget_onpage_order, fac_widget_onpage_height, fac_widget_onpage_width) VALUES (mijn_widget_paginakey, mijn_klacht_widgetkey, 2, null, 33)
|
||||
INTO fac_widget_onpage (fac_widget_page_key, fac_widget_key, fac_widget_onpage_order, fac_widget_onpage_height, fac_widget_onpage_width) VALUES (mijn_widget_paginakey, 1, 3, null, 100)
|
||||
INTO fac_widget_onpage (fac_widget_page_key, fac_widget_key, fac_widget_onpage_order, fac_widget_onpage_height, fac_widget_onpage_width) VALUES (mijn_widget_paginakey, 2, 4, null, 100)
|
||||
INTO fac_widget_onpage (fac_widget_page_key, fac_widget_key, fac_widget_onpage_order, fac_widget_onpage_height, fac_widget_onpage_width) VALUES (mijn_widget_paginakey, 3, 5, null, 100)
|
||||
INTO fac_widget_onpage (fac_widget_page_key, fac_widget_key, fac_widget_onpage_order, fac_widget_onpage_height, fac_widget_onpage_width) VALUES (mijn_widget_paginakey, 4, 6, null, 100)
|
||||
SELECT 1 FROM DUAL;
|
||||
END; */
|
||||
|
||||
|
||||
DECLARE
|
||||
-- CNT declaraties
|
||||
v_discipline_key ins_tab_discipline.ins_discipline_key%TYPE;
|
||||
v_key cnt_srtkenmerk.cnt_srtkenmerk_key%TYPE;
|
||||
-- Widgetpagina declaraties
|
||||
mijn_widget_paginakey fac_widget_page.fac_widget_page_key%TYPE;
|
||||
mijn_aanvraag_paginakey fac_menu.fac_menu_key%TYPE;
|
||||
mijn_storing_paginakey fac_menu.fac_menu_key%TYPE;
|
||||
mijn_klacht_paginakey fac_menu.fac_menu_key%TYPE;
|
||||
mijn_aanvraag_widgetkey fac_widget.fac_widget_key%TYPE;
|
||||
mijn_storing_widgetkey fac_widget.fac_widget_key%TYPE;
|
||||
mijn_klacht_widgetkey fac_widget.fac_widget_key%TYPE;
|
||||
BEGIN
|
||||
-- CNT inserts
|
||||
INSERT INTO ins_tab_discipline (ins_discipline_omschrijving, ins_discipline_module) VALUES ('Onderhoudscontract', 'CNT')
|
||||
RETURNING ins_discipline_key INTO v_discipline_key;
|
||||
INSERT INTO cnt_disc_params (cnt_ins_discipline_key, cnt_srtcontract_type) VALUES (v_discipline_key, 1);
|
||||
|
||||
INSERT INTO ins_tab_discipline (ins_discipline_omschrijving, ins_discipline_module) VALUES ('Servicecontract', 'CNT')
|
||||
RETURNING ins_discipline_key INTO v_discipline_key;
|
||||
INSERT INTO cnt_disc_params (cnt_ins_discipline_key, cnt_srtcontract_type) VALUES (v_discipline_key, 3);
|
||||
|
||||
INSERT INTO ins_tab_discipline (ins_discipline_omschrijving, ins_discipline_module) VALUES ('Algemeen contract', 'CNT')
|
||||
RETURNING ins_discipline_key INTO v_discipline_key;
|
||||
INSERT INTO cnt_disc_params (cnt_ins_discipline_key, cnt_srtcontract_type) VALUES (v_discipline_key, 4);
|
||||
|
||||
INSERT INTO ins_tab_discipline (ins_discipline_omschrijving, ins_discipline_module) VALUES ('Leverancierscontract', 'CNT')
|
||||
RETURNING ins_discipline_key INTO v_discipline_key;
|
||||
INSERT INTO cnt_disc_params (cnt_ins_discipline_key, cnt_srtcontract_type) VALUES (v_discipline_key, 5);
|
||||
|
||||
INSERT INTO ins_tab_discipline (ins_discipline_omschrijving, ins_discipline_module) VALUES ('Mantelcontract', 'CNT')
|
||||
RETURNING ins_discipline_key INTO v_discipline_key;
|
||||
INSERT INTO cnt_disc_params (cnt_ins_discipline_key, cnt_srtcontract_type) VALUES (v_discipline_key, 6);
|
||||
-- Alle contracten hebben bijlagen
|
||||
INSERT INTO cnt_srtkenmerk (cnt_srtkenmerk_omschrijving, cnt_srtkenmerk_kenmerktype) VALUES ('Bijlagen', 'M')
|
||||
RETURNING cnt_srtkenmerk_key INTO v_key;
|
||||
INSERT INTO cnt_kenmerk (cnt_srtkenmerk_key,
|
||||
cnt_srtcontract_key,
|
||||
cnt_kenmerk_niveau,
|
||||
cnt_kenmerk_volgnummer,
|
||||
cnt_kenmerk_groep)
|
||||
SELECT v_key, ins_discipline_key, 'S', 100, 0 FROM cnt_discipline;
|
||||
-- Widgetpagina inserts
|
||||
INSERT INTO fac_widget_page(fac_widget_page_name, prs_perslid_key, fac_groep_key) VALUES ('Startpagina', NULL, NULL)
|
||||
RETURNING fac_widget_page_key INTO mijn_widget_paginakey;
|
||||
UPDATE fac_setting SET fac_setting_pvalue = mijn_widget_paginakey WHERE fac_setting_name = 'widgetportal';
|
||||
-- Menuitems Aanvraag, Storing, Klacht aanmaken
|
||||
INSERT INTO fac_menu(fac_menuitems_key, fac_menu_altlabel, fac_menu_altgroep, fac_menu_image, fac_menu_info, fac_menu_message, fac_menu_volgnr, fac_menu_alturl, fac_functie_key, fac_menu_portal, fac_menu_level, ins_srtdiscipline_key, ins_discipline_key)
|
||||
VALUES (NULL, 'Doe een aanvraag', 0, 'fa-comments-question-check', NULL, NULL, 60, '/appl/mld/mld_fe_menu.asp?srtdisc=1&lvl=1', NULL, NULL, 2, NULL, NULL)
|
||||
RETURNING fac_menu_key INTO mijn_aanvraag_paginakey;
|
||||
|
||||
INSERT INTO fac_menu(fac_menuitems_key, fac_menu_altlabel, fac_menu_altgroep, fac_menu_image, fac_menu_info, fac_menu_message, fac_menu_volgnr, fac_menu_alturl, fac_functie_key, fac_menu_portal, fac_menu_level, ins_srtdiscipline_key, ins_discipline_key)
|
||||
VALUES (NULL, 'Meld een storing', 0, 'fa-message-exclamation', NULL, NULL, 70, '/appl/mld/mld_fe_menu.asp?srtdisc=3&lvl=1', NULL, NULL, 2, NULL, NULL)
|
||||
RETURNING fac_menu_key INTO mijn_storing_paginakey;
|
||||
|
||||
INSERT INTO fac_menu(fac_menuitems_key, fac_menu_altlabel, fac_menu_altgroep, fac_menu_image, fac_menu_info, fac_menu_message, fac_menu_volgnr, fac_menu_alturl, fac_functie_key, fac_menu_portal, fac_menu_level, ins_srtdiscipline_key, ins_discipline_key)
|
||||
VALUES (NULL, 'Meld een klacht', 0, 'fa-bell-ring', NULL, NULL, 80, '/appl/mld/mld_fe_menu.asp?srtdisc=2&lvl=1', NULL, NULL, 2, NULL, NULL)
|
||||
RETURNING fac_menu_key INTO mijn_klacht_paginakey;
|
||||
-- Widgets aanmaken
|
||||
INSERT INTO fac_widget(fac_widget_type, fac_widget_naam, fac_widget_typerefkey, fac_widget_content, fac_widget_url, fac_widget_title, fac_widget_refreshtime, fac_widget_id, fac_widget_height, fac_widget_width, fac_functie_key, fac_widget_public)
|
||||
VALUES ('MI', 'Doe een aanvraag', mijn_aanvraag_paginakey, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0)
|
||||
RETURNING fac_widget_key INTO mijn_aanvraag_widgetkey;
|
||||
|
||||
INSERT INTO fac_widget(fac_widget_type, fac_widget_naam, fac_widget_typerefkey, fac_widget_content, fac_widget_url, fac_widget_title, fac_widget_refreshtime, fac_widget_id, fac_widget_height, fac_widget_width, fac_functie_key, fac_widget_public)
|
||||
VALUES ('MI', 'Meld een storing', mijn_storing_paginakey, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0)
|
||||
RETURNING fac_widget_key INTO mijn_storing_widgetkey;
|
||||
|
||||
INSERT INTO fac_widget(fac_widget_type, fac_widget_naam, fac_widget_typerefkey, fac_widget_content, fac_widget_url, fac_widget_title, fac_widget_refreshtime, fac_widget_id, fac_widget_height, fac_widget_width, fac_functie_key, fac_widget_public)
|
||||
VALUES ('MI', 'Meld een klacht', mijn_klacht_paginakey, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0)
|
||||
RETURNING fac_widget_key INTO mijn_klacht_widgetkey;
|
||||
-- Widgets op de pagina zetten
|
||||
INSERT ALL
|
||||
INTO fac_widget_onpage (fac_widget_page_key, fac_widget_key, fac_widget_onpage_order, fac_widget_onpage_height, fac_widget_onpage_width) VALUES (mijn_widget_paginakey, mijn_aanvraag_widgetkey, 0, NULL, 33)
|
||||
INTO fac_widget_onpage (fac_widget_page_key, fac_widget_key, fac_widget_onpage_order, fac_widget_onpage_height, fac_widget_onpage_width) VALUES (mijn_widget_paginakey, mijn_storing_widgetkey, 1, NULL, 33)
|
||||
INTO fac_widget_onpage (fac_widget_page_key, fac_widget_key, fac_widget_onpage_order, fac_widget_onpage_height, fac_widget_onpage_width) VALUES (mijn_widget_paginakey, mijn_klacht_widgetkey, 2, NULL, 33)
|
||||
INTO fac_widget_onpage (fac_widget_page_key, fac_widget_key, fac_widget_onpage_order, fac_widget_onpage_height, fac_widget_onpage_width) VALUES (mijn_widget_paginakey, 1, 3, NULL, 100)
|
||||
INTO fac_widget_onpage (fac_widget_page_key, fac_widget_key, fac_widget_onpage_order, fac_widget_onpage_height, fac_widget_onpage_width) VALUES (mijn_widget_paginakey, 2, 4, NULL, 100)
|
||||
INTO fac_widget_onpage (fac_widget_page_key, fac_widget_key, fac_widget_onpage_order, fac_widget_onpage_height, fac_widget_onpage_width) VALUES (mijn_widget_paginakey, 3, 5, NULL, 100)
|
||||
INTO fac_widget_onpage (fac_widget_page_key, fac_widget_key, fac_widget_onpage_order, fac_widget_onpage_height, fac_widget_onpage_width) VALUES (mijn_widget_paginakey, 4, 6, NULL, 100)
|
||||
SELECT 1 FROM DUAL;
|
||||
END;
|
||||
|
||||
fac.writelog ('INI.FMIS_INI','I', 'All completed', '');
|
||||
|
||||
------ payload end ------
|
||||
|
||||
@@ -905,14 +905,14 @@ fac.writelog ('INI.ITSM_INI','I', 'FAC completed', '');
|
||||
|
||||
-- Kenmerksoorten per standaardmelding
|
||||
-- Incidenten hebben kenmerken op vakgroeptypeniveau zodat een klant eenvoudig zelf incidenten kan toevoegen
|
||||
INSERT INTO mld_kenmerk (mld_srtkenmerk_key, mld_stdmelding_key, mld_kenmerk_niveau, mld_kenmerk_volgnummer, mld_kenmerk_omschrijving)
|
||||
SELECT sk.mld_srtkenmerk_key, v_vgt_incident, 'T', 5 , 'Onderzoek en diagnose' FROM mld_srtkenmerk sk WHERE sk.mld_srtkenmerk_omschrijving = 'ITSM Bloktitel'
|
||||
INSERT INTO mld_kenmerk (mld_srtkenmerk_key, mld_stdmelding_key, mld_kenmerk_niveau, mld_kenmerk_rolcode, mld_kenmerk_volgnummer, mld_kenmerk_omschrijving)
|
||||
SELECT sk.mld_srtkenmerk_key, v_vgt_incident, 'T', 7, 5 , 'Onderzoek en diagnose' FROM mld_srtkenmerk sk WHERE sk.mld_srtkenmerk_omschrijving = 'ITSM Bloktitel'
|
||||
UNION ALL
|
||||
SELECT sk.mld_srtkenmerk_key, v_vgt_incident, 'T', 10 , 'Bijlagen' FROM mld_srtkenmerk sk WHERE sk.mld_srtkenmerk_omschrijving = 'ITSM Bijlagen'
|
||||
SELECT sk.mld_srtkenmerk_key, v_vgt_incident, 'T', 7, 10 , 'Bijlagen' FROM mld_srtkenmerk sk WHERE sk.mld_srtkenmerk_omschrijving = 'ITSM Bijlagen'
|
||||
UNION ALL
|
||||
SELECT sk.mld_srtkenmerk_key, v_vgt_incident, 'T', 905 , 'Workaround mogelijk?' FROM mld_srtkenmerk sk WHERE sk.mld_srtkenmerk_omschrijving = 'ITSM Ja/Nee/Nvt'
|
||||
SELECT sk.mld_srtkenmerk_key, v_vgt_incident, 'T', 4, 20 , 'Workaround mogelijk?' FROM mld_srtkenmerk sk WHERE sk.mld_srtkenmerk_omschrijving = 'ITSM Ja/Nee/Nvt'
|
||||
UNION ALL
|
||||
SELECT sk.mld_srtkenmerk_key, v_vgt_incident, 'T', 910 , 'Toelichting/beschrijving workaround' FROM mld_srtkenmerk sk WHERE sk.mld_srtkenmerk_omschrijving = 'ITSM Tekstblok';
|
||||
SELECT sk.mld_srtkenmerk_key, v_vgt_incident, 'T', 4, 30 , 'Toelichting/beschrijving workaround' FROM mld_srtkenmerk sk WHERE sk.mld_srtkenmerk_omschrijving = 'ITSM Tekstblok';
|
||||
|
||||
-- Niet-standaard wijzigingen hebben kenmerken op vakgroep niveau zodat een klant eenvoudig een nieuwe categorie niet-standaard wijziging kan toevoegen
|
||||
-- Niet-standaard wijziging kennen Deelmeldingen
|
||||
|
||||
32
INS/INSSQL.H
32
INS/INSSQL.H
@@ -16,13 +16,13 @@
|
||||
SELECT 'x' INTO dummy \
|
||||
FROM kindje_tabel \
|
||||
WHERE kindje_tabel.key_veld = :old.key_veld; \
|
||||
APPLICATION_ERROR(-20000,message); \
|
||||
raise_application_error(-20000, message); \
|
||||
END IF; \
|
||||
EXCEPTION \
|
||||
WHEN NO_DATA_FOUND THEN \
|
||||
NULL; \
|
||||
WHEN TOO_MANY_ROWS THEN \
|
||||
APPLICATION_ERROR(-20000,message); \
|
||||
raise_application_error(-20000, message); \
|
||||
END
|
||||
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
IF :new.key_ruimte_veld IS NULL \
|
||||
AND :new.key_terrein_veld IS NULL \
|
||||
THEN \
|
||||
APPLICATION_ERROR(-20000, message); \
|
||||
raise_application_error(-20000, message); \
|
||||
END IF; \
|
||||
END
|
||||
|
||||
@@ -69,7 +69,7 @@
|
||||
~ \
|
||||
IF verplicht = 1 AND :new.kolom_naam IS NULL \
|
||||
THEN \
|
||||
APPLICATION_ERROR(-20004, to_char(attribuut_key)|| \
|
||||
raise_application_error(-20004, to_char(attribuut_key)|| \
|
||||
to_char(:new.ins_srtdeel_key)||'att_m008');~ \
|
||||
ELSIF tiep = 'N' \
|
||||
THEN \
|
||||
@@ -80,7 +80,7 @@
|
||||
IF ware_waarde < min_waarde OR ware_waarde > max_waarde \
|
||||
THEN \
|
||||
/* Te klein / te groot */ \
|
||||
APPLICATION_ERROR(-20004, to_char(attribuut_key)|| \
|
||||
raise_application_error(-20004, to_char(attribuut_key)|| \
|
||||
to_char(:new.ins_srtdeel_key)||'att_m009');~ \
|
||||
ELSE \
|
||||
/* Bepaal het format_mask */ \
|
||||
@@ -95,14 +95,14 @@
|
||||
:new.kolom_naam := LTRIM(to_char(ware_waarde, format_mask)); \
|
||||
IF INSTR(:new.kolom_naam, '#') <> 0 \
|
||||
THEN \
|
||||
APPLICATION_ERROR(-20004, to_char(attribuut_key)|| \
|
||||
raise_application_error(-20004, to_char(attribuut_key)|| \
|
||||
to_char(:new.ins_srtdeel_key)||'att_m010');~ \
|
||||
END IF;~ \
|
||||
END IF;~ \
|
||||
EXCEPTION \
|
||||
WHEN others \
|
||||
THEN \
|
||||
APPLICATION_ERROR(-20004, to_char(attribuut_key)|| \
|
||||
raise_application_error(-20004, to_char(attribuut_key)|| \
|
||||
to_char(:new.ins_srtdeel_key)||'att_m010');~ \
|
||||
END;~ \
|
||||
\
|
||||
@@ -111,7 +111,7 @@
|
||||
ware_lengte := LENGTH(:new.kolom_naam); \
|
||||
IF ware_lengte > max_lengte \
|
||||
THEN \
|
||||
APPLICATION_ERROR(-20004, to_char(attribuut_key)|| \
|
||||
raise_application_error(-20004, to_char(attribuut_key)|| \
|
||||
to_char(:new.ins_srtdeel_key)||'att_m011');~ \
|
||||
END IF;~ \
|
||||
END IF; \
|
||||
@@ -134,12 +134,12 @@
|
||||
AND INS_SD.ins_srtgroep_key = INS_SG.ins_srtgroep_key \
|
||||
AND INS_SG.ins_discipline_key = :old.ins_srtinst_keys \
|
||||
AND INS_D.FacKolom IS NOT NULL; \
|
||||
APPLICATION_ERROR(-20003, 'att_m022'); \
|
||||
raise_application_error(-20003, 'att_m022'); \
|
||||
EXCEPTION \
|
||||
WHEN NO_DATA_FOUND \
|
||||
THEN NULL; \
|
||||
WHEN TOO_MANY_ROWS \
|
||||
THEN APPLICATION_ERROR(-20003, 'att_m022'); \
|
||||
THEN raise_application_error(-20003, 'att_m022'); \
|
||||
END; \
|
||||
END IF
|
||||
|
||||
@@ -155,12 +155,12 @@
|
||||
WHERE INS_D.ins_srtdeel_key = INS_SD.ins_srtdeel_key \
|
||||
AND INS_SD.ins_srtgroep_key = :old.ins_srtinst_keys \
|
||||
AND FacKolom IS NOT NULL; \
|
||||
APPLICATION_ERROR(-20003, 'att_m022'); \
|
||||
raise_application_error(-20003, 'att_m022'); \
|
||||
EXCEPTION \
|
||||
WHEN NO_DATA_FOUND \
|
||||
THEN NULL; \
|
||||
WHEN TOO_MANY_ROWS \
|
||||
THEN APPLICATION_ERROR(-20003, 'att_m022'); \
|
||||
THEN raise_application_error(-20003, 'att_m022'); \
|
||||
END; \
|
||||
END IF
|
||||
|
||||
@@ -175,12 +175,12 @@
|
||||
FROM ins_v_aanwezigdeel \
|
||||
WHERE ins_srtdeel_key = :old.ins_srtinst_keys \
|
||||
AND FacKolom IS NOT NULL; \
|
||||
APPLICATION_ERROR(-20003, 'att_m022'); \
|
||||
raise_application_error(-20003, 'att_m022'); \
|
||||
EXCEPTION \
|
||||
WHEN NO_DATA_FOUND \
|
||||
THEN NULL; \
|
||||
WHEN TOO_MANY_ROWS \
|
||||
THEN APPLICATION_ERROR(-20003, 'att_m022'); \
|
||||
THEN raise_application_error(-20003, 'att_m022'); \
|
||||
END; \
|
||||
END IF
|
||||
|
||||
@@ -195,13 +195,13 @@
|
||||
FROM reference_view \
|
||||
WHERE reference_view.key_veld = :old.key_veld \
|
||||
AND reference_view.reference_verwijder_veld IS NULL; \
|
||||
APPLICATION_ERROR(-20000,message); \
|
||||
raise_application_error(-20000, message); \
|
||||
END IF; \
|
||||
EXCEPTION \
|
||||
WHEN NO_DATA_FOUND THEN \
|
||||
NULL; \
|
||||
WHEN TOO_MANY_ROWS THEN \
|
||||
APPLICATION_ERROR(-20000,message); \
|
||||
raise_application_error(-20000, message); \
|
||||
END
|
||||
|
||||
#endif // _INSSQL_H
|
||||
|
||||
@@ -36,7 +36,6 @@ CREATE INDEX ins_i_ins_kenmerk1 ON ins_kenmerk(ins_kenmerk_code);
|
||||
CREATE INDEX ins_i_ins_srtinstallatie1 ON ins_kenmerk(ins_srtinstallatie_key);
|
||||
CREATE INDEX ins_i_ins_kenmerk_deel1 ON ins_kenmerkdeel(ins_deel_key);
|
||||
CREATE INDEX ins_i_ins_kenmerk_kenmerk1 ON ins_kenmerkdeel(ins_kenmerk_key);
|
||||
CREATE INDEX ins_i_ins_kenmerk_kenmerk2 ON ins_kenmerkdeel(ins_kenmerkdeel_waarde);
|
||||
|
||||
CREATE INDEX ins_i_ins_deelkoppeling1 ON ins_deelkoppeling(ins_deelkoppeling_van_key);
|
||||
CREATE INDEX ins_i_ins_deelkoppeling2 ON ins_deelkoppeling(ins_deelkoppeling_naar_key);
|
||||
|
||||
@@ -10,21 +10,8 @@ _FAC_MODULE('SLE','lcl_module_SLE')
|
||||
INSERT INTO ins_scenario(ins_scenario_key, ins_scenario_omschrijving)
|
||||
VALUES (1, 'Actual scenario');
|
||||
|
||||
INSERT INTO fac_usrrap
|
||||
(fac_usrrap_omschrijving, fac_usrrap_view_name,
|
||||
fac_usrrap_vraagbegindatum, fac_usrrap_vraageinddatum,
|
||||
fac_usrrap_functie,
|
||||
fac_usrrap_info,
|
||||
fac_functie_key, fac_usrrap_autorefresh
|
||||
)
|
||||
VALUES ('SLE: Sleuteloverzicht', 'ins_v_rap_sle_toegang',
|
||||
0, 0,
|
||||
0,
|
||||
'Overzicht van sleutels en bezitters',
|
||||
(SELECT fac_functie_key FROM fac_functie
|
||||
WHERE fac_functie_code = 'WEB_SLEFOF'),
|
||||
0
|
||||
);
|
||||
DEF_RAPPORT('BASIS', 'WEB_SLEFOF', 0, 'ins_v_rap_sle_toegang', 'UDR: Sleuteloverzicht', 'Basisrapport voor sleutels',
|
||||
'UDR: Key management', 'Basic report for key management')
|
||||
|
||||
DEF_STATUS('controle', 0, 'lcl_ins_controle_pending');
|
||||
DEF_STATUS('controle', 2, 'lcl_ins_controle_gestart');
|
||||
|
||||
@@ -312,6 +312,10 @@ CREATE_TABLE(ins_srtdeel,0)
|
||||
NOT NULL,
|
||||
ins_srtdeel_statethreshold /* drempelwaarde waarboven een melding type mld_stdmelding_key aangemaakt moet worden */
|
||||
VARCHAR2(128),
|
||||
ins_srtdeel_statestepsize /* ondergrens (marge) voor verschil tussen meetwaarden om als verschil te erkennen, bv 0,5 */
|
||||
NUMBER(6,3),
|
||||
ins_srtdeel_stateanchor /* anker voor zgn kwantisatiegrid, bv 10. Werkt in combi met stepsize Q(x) = round((x - q_anchor)/q_step) * q_step + q_anchor */
|
||||
NUMBER(6,3),
|
||||
/* in mld_tab.src:
|
||||
mld_stdmelding_key
|
||||
NUMBER(10)
|
||||
@@ -464,6 +468,8 @@ CREATE_TABLE(ins_deel_state_history, 0)
|
||||
CONSTRAINT ins_r_ins_deel_key2 REFERENCES ins_deel(ins_deel_key),
|
||||
ins_deel_state
|
||||
VARCHAR2(128),
|
||||
ins_deel_state_value
|
||||
NUMBER(16,6),
|
||||
ins_deel_statedate
|
||||
DATE,
|
||||
ins_deel_state_history_opmerk /* je weet het niet he */
|
||||
@@ -716,7 +722,7 @@ CREATE_TABLE(ins_deelsrtcontrole, 0)
|
||||
VARCHAR(4000 CHAR),
|
||||
ins_deelsrtcontrole_plandatum
|
||||
DATE,
|
||||
ins_deelsrtcontrole_status // (vooralsnog 0;Ingepland 2;Gestart/In behandeling 5;Afgemeld/Gereed gemeld; 6;Afgerond)
|
||||
ins_deelsrtcontrole_status // (vooralsnog 0;Ingepland 2;Gestart/In behandeling 3;Ter uitvoering 5;Afgemeld/Gereed gemeld; 6;Afgerond)
|
||||
NUMBER(1)
|
||||
DEFAULT (6)
|
||||
CONSTRAINT ins_c_deelsrtcontrole_status NOT NULL,
|
||||
@@ -850,6 +856,9 @@ CREATE_TABLE(ins_kenmerk, 0)
|
||||
ins_kenmerk_volgnummer
|
||||
NUMBER(3)
|
||||
NOT NULL,
|
||||
ins_kenmerk_rolcode
|
||||
NUMBER(4)
|
||||
DEFAULT 7 NOT NULL,
|
||||
ins_kenmerk_locatiekolom
|
||||
VARCHAR2(30),
|
||||
ins_kenmerk_uniek
|
||||
|
||||
446
INS/INS_TRI.SRC
446
INS/INS_TRI.SRC
@@ -354,240 +354,284 @@ BEGIN
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE OR REPLACE TRIGGER ins_t_ins_deel_A_U
|
||||
AFTER UPDATE ON ins_deel
|
||||
FOR EACH ROW
|
||||
CREATE OR REPLACE TRIGGER ins_t_ins_deel_a_u
|
||||
AFTER UPDATE
|
||||
ON ins_deel
|
||||
FOR EACH ROW
|
||||
DECLARE
|
||||
lmelder_oslogin CONSTANT VARCHAR2 (10) := '_SYSTEEM';
|
||||
new_date DATE;
|
||||
prev_state ins_deel_state_history.ins_deel_state%TYPE;
|
||||
prev_historystate ins_deel_state_history.ins_deel_state%TYPE;
|
||||
lsensortype ins_srtdeel.ins_srtdeel_sensortype%TYPE;
|
||||
lstate_history_key ins_deel_state_history.ins_deel_state_history_key%TYPE;
|
||||
ins_srtdeel_statethreshold ins_srtdeel.ins_srtdeel_statethreshold%TYPE;
|
||||
anchorednewstateval NUMBER;
|
||||
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;
|
||||
lstatestepsize ins_srtdeel.ins_srtdeel_statestepsize%TYPE;
|
||||
lstateanchor ins_srtdeel.ins_srtdeel_stateanchor%TYPE;
|
||||
lmelding_key mld_melding.mld_melding_key%TYPE;
|
||||
lmelder_key mld_melding.prs_perslid_key%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
|
||||
BEGIN
|
||||
-- archiving changes in state_history, satisfying parameters
|
||||
-- note that archiving is more limited than recording any change
|
||||
|
||||
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
|
||||
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 (: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
|
||||
-- mutatie van state impliceert al dat het een sensortype is
|
||||
-- toch checken we dat en halen ook de benodigde eigenschappen op
|
||||
|
||||
IF (prev_state = :new.ins_deel_state)
|
||||
SELECT ins_srtdeel_statethreshold
|
||||
, mld_stdmelding_key
|
||||
, ins_srtdeel_statestepsize
|
||||
, ins_srtdeel_stateanchor
|
||||
, ins_srtdeel_sensortype
|
||||
INTO lstatethreshold
|
||||
, lstdmelding_key
|
||||
, lstatestepsize
|
||||
, lstateanchor
|
||||
, lsensortype
|
||||
FROM ins_srtdeel
|
||||
WHERE ins_srtdeel_key = :new.ins_srtdeel_key AND ins_srtdeel_sensortype > 0; -- een sensor; dwingt configuratie af.
|
||||
|
||||
-- voorkom dat de update *net* een seconde later kan zijn, een atomair tijdstip voor deze activiteit hier
|
||||
new_date := COALESCE (:new.ins_deel_statedate, SYSDATE);
|
||||
|
||||
-- Voor continuwaarden gaan we de waarden 'snappen' op een 'grid' van meetwaarden
|
||||
-- initieel/default de ongesnapte meetwaarde; voor tekstwaarden wordt dit NULL
|
||||
anchorednewstateval := fac.safe_to_number (:new.ins_deel_state);
|
||||
|
||||
-- we bewaren alleen de history als de afwijking met de vorige waarde er is (discreet)
|
||||
-- of groot genoeg is (continu) als dat geconfigureerd is. Merk op dat we hier de gesnapte
|
||||
-- (dus eventueel afgeronde) waarden vergelijken
|
||||
IF BITAND (lsensortype, 1) = 1 OR (lstatestepsize IS NOT NULL AND lstateanchor IS NOT NULL)
|
||||
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 _SYSTEEM 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
|
||||
SELECT ins_deel_state
|
||||
INTO prev_historystate
|
||||
FROM ins_deel_state_history
|
||||
WHERE ins_deel_key = :new.ins_deel_key
|
||||
ORDER BY ins_deel_statedate DESC, ins_deel_state_history_key DESC
|
||||
FETCH FIRST 1 ROW ONLY;
|
||||
|
||||
IF ldubbelcheck_key IS NOT NULL -- puur voor de leesbaarheid, als er geen is gaan we nl in de exception verder
|
||||
IF BITAND (lsensortype, 2) = 2
|
||||
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;
|
||||
-- continuwaarden snappen op grid
|
||||
anchorednewstateval :=
|
||||
ROUND ((anchorednewstateval - TO_NUMBER (lstateanchor)) / TO_NUMBER (lstatestepsize)) * TO_NUMBER (lstatestepsize) + TO_NUMBER (lstateanchor);
|
||||
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;
|
||||
DBMS_OUTPUT.put_line ('No history for deel_state, firstvalue=' || anchorednewstateval);
|
||||
prev_historystate := NULL;
|
||||
END;
|
||||
END IF;
|
||||
END IF;
|
||||
END;
|
||||
END IF;
|
||||
|
||||
DBMS_OUTPUT.put_line ('prev_historystate=' || prev_historystate);
|
||||
DBMS_OUTPUT.put_line ('new.ins_deel_state=' || :new.ins_deel_state);
|
||||
DBMS_OUTPUT.put_line ('ins.state_diff (prev_historystate, :new.ins_deel_state)=' || ins.state_diff (prev_historystate, :new.ins_deel_state));
|
||||
-- we gaan er gewoon van uit dat de oude waarde al gealigned is op het grid.
|
||||
-- round((x - q_anchor)/q_step) * q_step + q_anchor
|
||||
DBMS_OUTPUT.put_line ('anchorednewstateval=' || anchorednewstateval);
|
||||
|
||||
-- Waarde opslaan: sowieso voor discrete waarden en
|
||||
-- voor continuwaarden indien de afgeronde afwijking groot genoeg id
|
||||
--
|
||||
-- Note: we introduce the numeric value in ins_deel_state_value, this is for future use
|
||||
-- since at this moment all existing code etc does not use it yet and altering that is out off scope
|
||||
--
|
||||
IF BITAND (lsensortype, 2) <> 2 OR prev_historystate IS NULL OR ABS (ins.state_diff (prev_historystate, :new.ins_deel_state)) >= lstatestepsize
|
||||
THEN
|
||||
BEGIN
|
||||
INSERT INTO ins_deel_state_history (ins_deel_key
|
||||
, ins_deel_state
|
||||
, ins_deel_statedate
|
||||
, ins_deel_state_value)
|
||||
VALUES (:new.ins_deel_key
|
||||
, COALESCE (TO_CHAR (anchorednewstateval), :new.ins_deel_state)
|
||||
, COALESCE (:new.ins_deel_statedate, new_date)
|
||||
, anchorednewstateval)
|
||||
RETURNING ins_deel_state_history_key
|
||||
INTO lstate_history_key;
|
||||
EXCEPTION
|
||||
WHEN DUP_VAL_ON_INDEX
|
||||
THEN
|
||||
-- Er blijkt op/voor/met precies dit tijdstip al een meetwaarde geregistreerd van deze sensor
|
||||
-- Dan kiezen we maar voor: laatste update -dus deze- geldt, alsof het een correctie is.
|
||||
IF (prev_historystate <> :new.ins_deel_state)
|
||||
THEN
|
||||
UPDATE ins_deel_state_history
|
||||
SET ins_deel_state = COALESCE (TO_CHAR (anchorednewstateval), :new.ins_deel_state), ins_deel_state_value = anchorednewstateval
|
||||
WHERE ins_deel_key = :new.ins_deel_key AND ins_deel_statedate = new_date;
|
||||
END IF;
|
||||
-- lstate_history_key blijft hier NULL, dus een dubbele kan nooit een melding triggeren
|
||||
-- wie hier ooit uitkomt bij een probleem: gefeliciteerd
|
||||
END;
|
||||
END IF;
|
||||
END;
|
||||
END IF;
|
||||
|
||||
-- potentially trigger dependent actions; this is not dependant
|
||||
-- to the snapping of the values, which are for archiving only.
|
||||
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
|
||||
IF lstatethreshold IS NOT NULL
|
||||
AND lstdmelding_key IS NOT NULL
|
||||
AND ( ( BITAND (lsensortype, 2) = 2
|
||||
AND ins.state_compare (:new.ins_deel_state, lstatethreshold) > 0
|
||||
AND ins.state_compare (:old.ins_deel_state, lstatethreshold) <= 0)
|
||||
OR (BITAND (lsensortype, 1) = 1 AND UPPER (:new.ins_deel_state) = UPPER (lstatethreshold)))
|
||||
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 _SYSTEEM 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}', ldubbelcheck_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;
|
||||
END IF;
|
||||
END;
|
||||
END IF;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
DBMS_OUTPUT.put_line ('Statevalues set for non-sensor: ignored');
|
||||
NULL;
|
||||
END;
|
||||
|
||||
-- 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')
|
||||
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);
|
||||
, 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')
|
||||
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
|
||||
@@ -626,7 +670,7 @@ BEGIN
|
||||
WHILE PrimaryKey IS NOT NULL
|
||||
LOOP
|
||||
Dummy := fac.remember_SavePrimaryKey('INS_TRIGGER_BUSY', 1);
|
||||
/* Jammer maar helaas, vanwege syntaxredenen moeten we weten of we met UNDO te maken hebben
|
||||
/* Jammer maar helaas, vanwege syntaxredenen moeten we weten of we met UNDO te maken hebben */
|
||||
/* Als parent is verwijderd, dan is deletemode gevuld met zijn datum */
|
||||
/* Als parent terug wordt gehaald, dan is delete-mode gevuld met NULL ( betekent FALSE) */
|
||||
SELECT ins_deel_verwijder
|
||||
|
||||
241
INS/INS_VIE.SRC
241
INS/INS_VIE.SRC
@@ -42,47 +42,49 @@ AS
|
||||
/* Voor onderdelen de plaats/eigenaar van de parent. */
|
||||
CREATE_VIEW(ins_v_deelenonderdeel, 0)
|
||||
AS
|
||||
SELECT ins_deel_key,
|
||||
ins_deel_module,
|
||||
ins_srtdeel_key,
|
||||
(COALESCE(dl.ins_alg_ruimte_key, (SELECT d2.ins_alg_ruimte_key FROM ins_deel d2 WHERE d2.ins_deel_key = dl.ins_deel_parent_key))) ins_alg_ruimte_key,
|
||||
(COALESCE(dl.ins_alg_ruimte_type, (SELECT d2.ins_alg_ruimte_type FROM ins_deel d2 WHERE d2.ins_deel_key = dl.ins_deel_parent_key))) ins_alg_ruimte_type,
|
||||
ins_deel_aantal,
|
||||
ins_deel_omschrijving,
|
||||
ins_deel_opmerking,
|
||||
ins_deel_upper,
|
||||
ins_deel_aanmaak,
|
||||
ins_deel_vervaldatum,
|
||||
ins_deel_verwijder,
|
||||
ins_deel_getekend,
|
||||
ins_discipline_key,
|
||||
ins_alg_locatie_key,
|
||||
ins_deel_parent_key,
|
||||
ins_deel_omtrek,
|
||||
ins_deel_oppervlak,
|
||||
ins_deel_dwgx,
|
||||
ins_deel_dwgy,
|
||||
ins_deel_dwgz,
|
||||
ins_deel_dwgrotatie,
|
||||
ins_deel_dwgschaal,
|
||||
ins_deel_x,
|
||||
ins_deel_y,
|
||||
ins_alg_ruimte_key_org,
|
||||
ins_alg_ruimte_type_org,
|
||||
ins_deel_state,
|
||||
ins_deel_statedate,
|
||||
ins_deel_t_uitvoertijd,
|
||||
ins_deel_actief,
|
||||
ins_deel_image,
|
||||
ins_deel_mjb_score1,
|
||||
ins_deel_mjb_score2,
|
||||
ins_deel_externnr,
|
||||
ins_deel_externsyncdate,
|
||||
ins_deel_flag,
|
||||
prs_perslid_key_beh,
|
||||
res_rsv_deel_key,
|
||||
bes_bestelopdr_key
|
||||
FROM ins_deel dl;
|
||||
SELECT dl.ins_deel_key,
|
||||
dl.ins_deel_module,
|
||||
dl.ins_srtdeel_key,
|
||||
COALESCE(dl.ins_alg_ruimte_key, parent_deel.ins_alg_ruimte_key) ins_alg_ruimte_key,
|
||||
COALESCE(dl.ins_alg_ruimte_type, parent_deel.ins_alg_ruimte_type) ins_alg_ruimte_type,
|
||||
dl.ins_deel_aantal,
|
||||
dl.ins_deel_omschrijving,
|
||||
dl.ins_deel_opmerking,
|
||||
dl.ins_deel_upper,
|
||||
dl.ins_deel_aanmaak,
|
||||
dl.ins_deel_vervaldatum,
|
||||
dl.ins_deel_verwijder,
|
||||
dl.ins_deel_getekend,
|
||||
dl.ins_discipline_key,
|
||||
dl.ins_alg_locatie_key,
|
||||
dl.ins_deel_parent_key,
|
||||
dl.ins_deel_omtrek,
|
||||
dl.ins_deel_oppervlak,
|
||||
dl.ins_deel_dwgx,
|
||||
dl.ins_deel_dwgy,
|
||||
dl.ins_deel_dwgz,
|
||||
dl.ins_deel_dwgrotatie,
|
||||
dl.ins_deel_dwgschaal,
|
||||
dl.ins_deel_x,
|
||||
dl.ins_deel_y,
|
||||
dl.ins_alg_ruimte_key_org,
|
||||
dl.ins_alg_ruimte_type_org,
|
||||
dl.ins_deel_state,
|
||||
dl.ins_deel_statedate,
|
||||
dl.ins_deel_t_uitvoertijd,
|
||||
dl.ins_deel_actief,
|
||||
dl.ins_deel_image,
|
||||
dl.ins_deel_mjb_score1,
|
||||
dl.ins_deel_mjb_score2,
|
||||
dl.ins_deel_externnr,
|
||||
dl.ins_deel_externsyncdate,
|
||||
dl.ins_deel_flag,
|
||||
dl.prs_perslid_key_beh,
|
||||
dl.res_rsv_deel_key,
|
||||
dl.bes_bestelopdr_key
|
||||
FROM ins_deel dl
|
||||
LEFT OUTER JOIN ins_deel parent_deel
|
||||
ON parent_deel.ins_deel_key = dl.ins_deel_parent_key;
|
||||
|
||||
/* Views met ins_deel moeten voorwaarde : "AND ins_deel_parent_key IS NULL" bevatten... */
|
||||
DEFINIEER_VIEW_AANWEZIG(ins_deel, ins_deel_verwijder,
|
||||
@@ -2665,6 +2667,42 @@ SELECT di.deel_key,
|
||||
ins_v_defined_inspect_xcp iscx
|
||||
WHERE di.deel_key = iscx.ins_deel_key;
|
||||
|
||||
// Rapport over de actuele sensordata van alle sensoren met wat afgeleide gegevens
|
||||
CREATE_VIEW(ins_v_udr_sensordata, 0)
|
||||
AS
|
||||
SELECT h.ins_deel_key deel_key
|
||||
, og.alg_ruimte_key ruimte_key
|
||||
, og.alg_plaatsaanduiding plaats
|
||||
, d.ins_deel_omschrijving sensor
|
||||
, sd.ins_srtdeel_omschrijving soort
|
||||
, sd.ins_srtdeel_code soortcode
|
||||
, DECODE (BITAND (sd.ins_srtdeel_sensortype, 3), 1, lcl.l ('lcl_ins_sensortype1'), 2, lcl.l ('lcl_ins_sensortype2'), '?') sensortype
|
||||
, og.alg_gebouw_code gebouwcode
|
||||
, og.alg_gebouw_naam gebouwnaam
|
||||
, og.alg_verdieping_code verdiepingcode
|
||||
, og.alg_ruimte_nr ruimtenr
|
||||
, og.prs_werkplek_key werkplek_key
|
||||
, og.prs_werkplek_volgnr werkplekvolgnr
|
||||
, og.prs_werkplek_omschrijving werkplek
|
||||
, og.alg_terreinsector_code terreinsectorcode
|
||||
, og.alg_terreinsector_naam terreinsector
|
||||
, h.ins_deel_state waarde
|
||||
, sd.ins_srtdeel_statethreshold bovengrens
|
||||
, DECODE (sd.ins_srtdeel_statethreshold, NULL, NULL, ins.state_diff (sd.ins_srtdeel_statethreshold, h.ins_deel_state)) marge
|
||||
, h.ins_deel_statedate datum
|
||||
, ROUND ((SYSDATE - h.ins_deel_statedate) * 24 * 60, 1) minutes_ago
|
||||
, og.alg_locatie_key fclt_3d_locatie_key
|
||||
, d.ins_discipline_key fclt_3d_discipline_key
|
||||
FROM ins_deel h
|
||||
, ins_v_deelenonderdeel 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 sd.ins_srtdeel_sensortype > 0
|
||||
AND d.ins_deel_key = h.ins_deel_key;
|
||||
|
||||
// Rapport over de gecomprimeerde/historische sensordata van status-sensoren
|
||||
CREATE_VIEW(ins_v_udr_sensorhistogram, 0)
|
||||
AS
|
||||
@@ -2700,13 +2738,14 @@ AS
|
||||
og.alg_gebouw_code gebouwcode,
|
||||
og.alg_gebouw_naam gebouwnaam,
|
||||
og.alg_verdieping_code verdiepingcode,
|
||||
og.alg_ruimte_key ruimte_key,
|
||||
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_value 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
|
||||
@@ -2773,5 +2812,123 @@ AS
|
||||
ORDER BY du.ins_deel_key,
|
||||
du.ins_deel_uitgifte_begin;
|
||||
|
||||
/*
|
||||
-- ins_v_room_occupancy_buckets:
|
||||
-- Verzamelt 30-min buckets van de afgelopen 90 dagen per ruimte en bezettingssensor.
|
||||
-- Filtert op werkdagen (ma<6D>vr) en sluit feestdagen uit.
|
||||
-- Output-kolommen:
|
||||
-- alg_ruimte_key, bucket_start, sensor_id, state ('true'/'false').
|
||||
--
|
||||
-- ins_v_room_occupancy_stats:
|
||||
-- Agregeert per ruimte en bucket het aantal bezette werkplekken (occupied_desks)
|
||||
-- en het totaal aantal werkpleksensoren (total_desks).
|
||||
-- Output-kolommen:
|
||||
-- room_key, bucket_start, occupied_desks, total_desks.
|
||||
--
|
||||
-- ins_v_room_occupancy_kpis:
|
||||
-- Berekent per ruimte drie KPI's:
|
||||
-- total_person_hours (som occupied_desks <20> 0.5u)
|
||||
-- avg_utilization_pct (gem. benutting % op 1 decimaal)
|
||||
-- peak_occupied_desks (max gelijktijdige bezetting in <20><>n bucket)
|
||||
*/
|
||||
|
||||
CREATE_VIEW(ins_v_room_occupancy_buckets, 0)
|
||||
AS
|
||||
WITH
|
||||
intervals
|
||||
AS
|
||||
( SELECT -- genereer alle 30-min-intervals tussen sysdate-90 en sysdate
|
||||
TRUNC (SYSDATE - 90) + NUMTODSINTERVAL ((ROWNUM - 1) * 30, 'MINUTE') AS bucket_start
|
||||
FROM DUAL
|
||||
CONNECT BY ROWNUM <= ((SYSDATE - (SYSDATE - 90)) * 24 * 60 / 30)),
|
||||
sensors
|
||||
AS
|
||||
( -- select alleen bezettingssensoren
|
||||
SELECT d.ins_deel_key, d.ins_alg_ruimte_key AS alg_ruimte_key
|
||||
FROM ins_deel d JOIN ins_srtdeel sd ON sd.ins_srtdeel_key = d.ins_srtdeel_key
|
||||
WHERE sd.ins_srtgroep_key = fac.getsetting ('ins_occupationsensors_srtgroep_key') AND d.ins_alg_ruimte_type = 'R'),
|
||||
sensor_states
|
||||
AS
|
||||
( SELECT i.bucket_start
|
||||
, s.ins_deel_key AS sensor_id
|
||||
, s.alg_ruimte_key
|
||||
, MAX (h.ins_deel_statedate) AS last_ts
|
||||
FROM intervals i
|
||||
CROSS JOIN sensors s
|
||||
LEFT JOIN ins_deel_state_history h ON h.ins_deel_key = s.ins_deel_key AND h.ins_deel_statedate <= i.bucket_start
|
||||
GROUP BY i.bucket_start, s.ins_deel_key, s.alg_ruimte_key),
|
||||
bucket_values
|
||||
AS
|
||||
(SELECT ss.alg_ruimte_key
|
||||
, ss.bucket_start
|
||||
, ss.sensor_id
|
||||
, -- gebruik NVL om ontbrekende states als 'false' te tonen
|
||||
NVL (h.ins_deel_state, 'false') AS state
|
||||
FROM sensor_states ss LEFT JOIN ins_deel_state_history h ON h.ins_deel_key = ss.sensor_id AND h.ins_deel_statedate = ss.last_ts
|
||||
-- filter op kantooruren via TO_CHAR, omdat EXTRACT(HOUR) niet werkt op DATE
|
||||
WHERE (TO_NUMBER (TO_CHAR (ss.bucket_start, 'HH24')) + TO_NUMBER (TO_CHAR (ss.bucket_start, 'MI')) / 60) BETWEEN fac.getsetting ('fac_t_startofworkday')
|
||||
AND fac.getsetting ('fac_t_endofworkday')
|
||||
-- alleen maandag t/m vrijdag
|
||||
AND TO_CHAR (ss.bucket_start, 'DY', 'NLS_DATE_LANGUAGE=ENGLISH') NOT IN ('SAT', 'SUN')
|
||||
-- geen vrije dagen
|
||||
AND TRUNC (ss.bucket_start) NOT IN (SELECT mld_vrije_dagen_datum FROM mld_vrije_dagen))
|
||||
SELECT alg_ruimte_key
|
||||
, bucket_start
|
||||
, sensor_id
|
||||
, state
|
||||
FROM bucket_values;
|
||||
|
||||
CREATE_VIEW(ins_v_room_occupancy_stats, 0)
|
||||
AS
|
||||
SELECT rob.alg_ruimte_key
|
||||
AS alg_ruimte_key
|
||||
, rob.bucket_start
|
||||
, -- aantal bezette werkplekken in de bucket
|
||||
SUM (
|
||||
CASE
|
||||
WHEN (LOWER(rob.state) = 'true' OR rob.state = '1')
|
||||
AND EXISTS
|
||||
(SELECT 1
|
||||
FROM ins_deel d JOIN ins_srtdeel sd ON sd.ins_srtdeel_key = d.ins_srtdeel_key
|
||||
WHERE sd.ins_srtgroep_key = fac.getsetting ('ins_occupationsensors_srtgroep_key')
|
||||
AND d.ins_deel_key = rob.sensor_id
|
||||
AND d.ins_alg_ruimte_key = rob.alg_ruimte_key)
|
||||
THEN
|
||||
1
|
||||
ELSE
|
||||
0
|
||||
END)
|
||||
AS occupied_desks
|
||||
, -- totaal aantal werkpleksensoren in de bucket
|
||||
SUM (
|
||||
CASE
|
||||
WHEN EXISTS
|
||||
(SELECT 1
|
||||
FROM ins_deel d JOIN ins_srtdeel sd ON sd.ins_srtdeel_key = d.ins_srtdeel_key
|
||||
WHERE sd.ins_srtgroep_key = fac.getsetting ('ins_occupationsensors_srtgroep_key')
|
||||
AND d.ins_deel_key = rob.sensor_id
|
||||
AND d.ins_alg_ruimte_key = rob.alg_ruimte_key)
|
||||
THEN
|
||||
1
|
||||
ELSE
|
||||
0
|
||||
END)
|
||||
AS total_desks
|
||||
FROM ins_v_room_occupancy_buckets rob
|
||||
GROUP BY rob.alg_ruimte_key, rob.bucket_start;
|
||||
|
||||
CREATE_VIEW(ins_v_room_occupancy_kpis, 0)
|
||||
AS
|
||||
SELECT alg_ruimte_key
|
||||
, -- 1) Totaal persoon-uren over de afgelopen 90 dagen tijdens kantoortijden
|
||||
SUM (occupied_desks * (30 / 60)) AS total_person_hours
|
||||
, -- 2) Gemiddelde benutting als percentage per bucket, afgerond op 1 decimaal
|
||||
ROUND (AVG (occupied_desks / NULLIF (total_desks, 0)) * 100, 1) AS avg_utilization_pct
|
||||
, -- 3) Piek aantal gelijktijdig bezette werkplekken in <20><>n bucket
|
||||
MAX (occupied_desks) AS peak_occupied_desks
|
||||
FROM ins_v_room_occupancy_stats
|
||||
GROUP BY alg_ruimte_key;
|
||||
|
||||
|
||||
REGISTERRUN('$Id$')
|
||||
#endif // INS
|
||||
|
||||
@@ -77,7 +77,7 @@ CREATE INDEX mld_i_mld_opdr_uren2 ON mld_opdr_uren(mld_opdr_key);
|
||||
CREATE UNIQUE INDEX mld_i_mld_dienstpakket ON mld_dienstpakket(mld_stdmelding_key, mld_dienstniveau_key);
|
||||
|
||||
CREATE UNIQUE INDEX mld_i_mld_opdr_uitvoeren1 ON mld_opdr_uitvoeren(mld_opdr_key, mld_opdr_uitvoeren_dag);
|
||||
CREATE INDEX mld_i_mld_opdr_materiaal1 ON mld_opdr_materiaal(mld_opdr_key, fac_usrdata_key, mld_opdr_materiaal_omschr);
|
||||
CREATE INDEX mld_i_mld_opdr_materiaal1 ON mld_opdr_materiaal(mld_opdr_key);
|
||||
|
||||
CREATE UNIQUE INDEX mld_i_mld_stdmeldingfaq1 ON mld_stdmeldingfaq(mld_stdmelding_key, ins_discipline_key, fac_faq_key);
|
||||
CREATE INDEX mld_i_mld_stdmeldingfaq2 ON mld_stdmeldingfaq(ins_discipline_key, fac_faq_key);
|
||||
|
||||
@@ -343,7 +343,7 @@ DEFINE_LOCALEITEM(lcl_select_bedrijf)
|
||||
DEFINE_LOCALEITEM(lcl_select_dienst_filter)
|
||||
DEFINE_LOCALEITEM(lcl_select_notypeopdr_selected)
|
||||
DEFINE_LOCALEITEM(lcl_select_typeopdr)
|
||||
DEFINE_LOCALEITEM(lcl_setsend)
|
||||
DEFINE_LOCALEITEM(lcl_setsent)
|
||||
DEFINE_LOCALEITEM(lcl_status)
|
||||
DEFINE_LOCALEITEM(lcl_status_details)
|
||||
DEFINE_LOCALEITEM(lcl_submit)
|
||||
|
||||
491
MLD/MLD_PAC.SRC
491
MLD/MLD_PAC.SRC
@@ -25,9 +25,11 @@ CREATE OR REPLACE PACKAGE mld AS
|
||||
PROCEDURE notifyprio (pmeldingkey IN NUMBER, prio IN NUMBER, pperslid_key IN NUMBER, pdisc_level IN NUMBER DEFAULT 1);
|
||||
PROCEDURE notifyopdrgoedkeurders (popdrkey IN NUMBER);
|
||||
PROCEDURE notifyopdrbedrijven (popdrkey NUMBER,
|
||||
ptrackingkey NUMBER);
|
||||
ptrackingkey NUMBER,
|
||||
pnotidelay NUMBER DEFAULT NULL);
|
||||
PROCEDURE notifymeldingbedrijven (pmldkey NUMBER,
|
||||
ptrackingkey NUMBER);
|
||||
ptrackingkey NUMBER,
|
||||
pnotidelay NUMBER DEFAULT NULL);
|
||||
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)
|
||||
@@ -60,6 +62,15 @@ CREATE OR REPLACE PACKAGE mld AS
|
||||
eenheid IN VARCHAR2 DEFAULT NULL
|
||||
) RETURN MLD_T_UITVOERTIJD;
|
||||
FUNCTION getactualuitvoer (p_melding_key IN NUMBER) RETURN MLD_T_UITVOERTIJD;
|
||||
FUNCTION getactualaccept (startdate IN DATE,
|
||||
enddate IN DATE,
|
||||
stdm_key IN NUMBER,
|
||||
prio IN NUMBER,
|
||||
alg_key IN NUMBER,
|
||||
ins_key IN NUMBER,
|
||||
eenheid IN VARCHAR2 DEFAULT NULL
|
||||
) RETURN MLD_T_UITVOERTIJD;
|
||||
FUNCTION getactualaccept (p_melding_key IN NUMBER) RETURN MLD_T_UITVOERTIJD;
|
||||
FUNCTION getstduitvoer (stdm_key IN NUMBER,
|
||||
prio IN NUMBER,
|
||||
alg_key IN NUMBER,
|
||||
@@ -71,6 +82,7 @@ CREATE OR REPLACE PACKAGE mld AS
|
||||
ins_key IN NUMBER,
|
||||
v_mld_stdmelding_regime OUT NUMBER,
|
||||
v_uitvoertijd_object OUT MLD_T_UITVOERTIJD,
|
||||
v_accepttijd OUT MLD_T_UITVOERTIJD,
|
||||
v_beginuur OUT NUMBER,
|
||||
v_einduur OUT NUMBER,
|
||||
v_werkdagen OUT NUMBER
|
||||
@@ -250,7 +262,7 @@ CREATE OR REPLACE PACKAGE BODY mld AS
|
||||
END IF;
|
||||
WHEN 1 -- Afgewezen
|
||||
THEN
|
||||
IF currentstatus IS NULL OR currentstatus = 0 OR currentstatus = 2
|
||||
IF currentstatus IS NULL OR currentstatus = 0 OR currentstatus = 2 OR currentstatus = 4
|
||||
THEN
|
||||
newstatus := pstatus;
|
||||
eventcode := 'MLDREJ';
|
||||
@@ -326,6 +338,11 @@ CREATE OR REPLACE PACKAGE BODY mld AS
|
||||
THEN
|
||||
behandelaar2_key := NULL;
|
||||
END IF;
|
||||
-- Van actiecode bit 128 wissen indien gezet.
|
||||
IF BITAND(actiecode, 128) = 128
|
||||
THEN
|
||||
actiecode := actiecode - 128;
|
||||
END IF;
|
||||
END IF;
|
||||
WHEN 6 -- Verwerkt
|
||||
THEN
|
||||
@@ -526,9 +543,9 @@ CREATE OR REPLACE PACKAGE BODY mld AS
|
||||
THEN
|
||||
newstatus := pstatus;
|
||||
eventcode := 'ORDNEW';
|
||||
IF teverzenden IS NULL OR teverzenden = 1 -- gebruiker heeft aangegeven 'niet versturen'
|
||||
IF l_notificeren = 1 AND (teverzenden IS NULL OR teverzenden = 0) -- gebruiker heeft aangegeven 'niet versturen'
|
||||
THEN
|
||||
l_notificeren := 0;
|
||||
l_notificeren := 2; -- alleen niet naar technisch adres
|
||||
END IF;
|
||||
END IF;
|
||||
WHEN 6 -- Proces Technisch voltooid (TV) (Afgemeld)
|
||||
@@ -601,6 +618,10 @@ CREATE OR REPLACE PACKAGE BODY mld AS
|
||||
THEN
|
||||
eventcode := '#' || eventcode;
|
||||
END IF;
|
||||
IF l_notificeren = 2 AND eventcode IS NOT NULL
|
||||
THEN
|
||||
eventcode := '@' || eventcode; -- Niet naar technisch adres, wel naar personen
|
||||
END IF;
|
||||
fac.trackaction (eventcode, popdrachtkey, puserkey, NULL, NULL, new_fac_tracking_key);
|
||||
IF popdr_note_key IS NOT NULL
|
||||
THEN
|
||||
@@ -1426,7 +1447,8 @@ CREATE OR REPLACE PACKAGE BODY mld AS
|
||||
-- in het bijzonder de uitvoerende maar het mag ook een
|
||||
-- ander 'subscribed' bedrijf zijn (bedrijfadres_type 'G').
|
||||
PROCEDURE notifyopdrbedrijven (popdrkey NUMBER,
|
||||
ptrackingkey NUMBER)
|
||||
ptrackingkey NUMBER,
|
||||
pnotidelay NUMBER DEFAULT NULL)
|
||||
AS
|
||||
BEGIN
|
||||
FOR bedrijfrec
|
||||
@@ -1468,13 +1490,16 @@ CREATE OR REPLACE PACKAGE BODY mld AS
|
||||
preference => bedrijfrec.reference,
|
||||
ptypeopdr_key => bedrijfrec.mld_typeopdr_key,
|
||||
plocatie_key => bedrijfrec.alg_locatie_key,
|
||||
pdisc_key => bedrijfrec.mld_opdr_discipline_key,
|
||||
psender => bedrijfrec.alg_locatie_email);
|
||||
pdiscipline_key => bedrijfrec.mld_opdr_discipline_key,
|
||||
psender => bedrijfrec.alg_locatie_email,
|
||||
pbedrijf_key2 => bedrijfrec.persoon_bedrijf_key,
|
||||
pnotidelay => pnotidelay);
|
||||
END LOOP;
|
||||
END;
|
||||
|
||||
PROCEDURE notifymeldingbedrijven (pmldkey NUMBER,
|
||||
ptrackingkey NUMBER)
|
||||
ptrackingkey NUMBER,
|
||||
pnotidelay NUMBER DEFAULT NULL)
|
||||
AS
|
||||
BEGIN
|
||||
FOR bedrijfrec
|
||||
@@ -1512,8 +1537,10 @@ CREATE OR REPLACE PACKAGE BODY mld AS
|
||||
ptrackingkey => ptrackingkey,
|
||||
preference => bedrijfrec.reference,
|
||||
plocatie_key => bedrijfrec.alg_locatie_key,
|
||||
pdisc_key => bedrijfrec.mld_ins_discipline_key,
|
||||
psender => bedrijfrec.alg_locatie_email);
|
||||
pdiscipline_key => bedrijfrec.mld_ins_discipline_key,
|
||||
psender => bedrijfrec.alg_locatie_email,
|
||||
pbedrijf_key2 => bedrijfrec.persoon_bedrijf_key,
|
||||
pnotidelay => pnotidelay);
|
||||
END LOOP;
|
||||
END;
|
||||
|
||||
@@ -1773,8 +1800,10 @@ CREATE OR REPLACE PACKAGE BODY mld AS
|
||||
l_alg_gebouw_key alg_v_allonrgoed_gegevens.alg_gebouw_key%TYPE;
|
||||
l_alg_verdieping_key alg_v_allonrgoed_gegevens.alg_verdieping_key %TYPE;
|
||||
l_alg_ruimte_key alg_v_allonrgoed_gegevens.alg_ruimte_key%TYPE;
|
||||
l_alg_type alg_v_allonrgoed_gegevens.alg_type%TYPE;
|
||||
l_prs_dienst_key NUMBER;
|
||||
l_prs_bedrijf_key prs_v_aanwezigbedrijf.prs_bedrijf_key%TYPE;
|
||||
l_cnt_contract_key cnt_contract.cnt_contract_key%TYPE;
|
||||
l_aantal NUMBER;
|
||||
l_bdl_tijdsduur prs_bedrijfdienstlocatie.prs_bdl_t_uitvoertijd.tijdsduur%TYPE;
|
||||
l_bdl_eenheid prs_bedrijfdienstlocatie.prs_bdl_t_uitvoertijd.eenheid%TYPE;
|
||||
@@ -1878,9 +1907,9 @@ CREATE OR REPLACE PACKAGE BODY mld AS
|
||||
, mto.mld_typeopdr_fvs
|
||||
, mto.mld_typeopdr_gvs
|
||||
, mto.mld_typeopdr_isofferte
|
||||
, mld_typeopdr_kosten
|
||||
, mld_typeopdr_kosten_verplicht
|
||||
, mld_typeopdr_slamode
|
||||
, mto.mld_typeopdr_kosten
|
||||
, mto.mld_typeopdr_kosten_verplicht
|
||||
, mto.mld_typeopdr_slamode
|
||||
INTO l_mld_typeopdr_key
|
||||
, l_mld_typeopdr_fvs
|
||||
, l_mld_typeopdr_gvs
|
||||
@@ -2022,9 +2051,11 @@ CREATE OR REPLACE PACKAGE BODY mld AS
|
||||
SELECT g.alg_gebouw_key
|
||||
, g.alg_verdieping_key
|
||||
, g.alg_ruimte_key
|
||||
, g.alg_type
|
||||
INTO l_alg_gebouw_key
|
||||
, l_alg_verdieping_key
|
||||
, l_alg_ruimte_key
|
||||
, l_alg_type
|
||||
FROM alg_v_allonrgoed_gegevens g
|
||||
WHERE g.alg_onroerendgoed_keys = l_mld_alg_onroerendgoed_keys;
|
||||
END IF;
|
||||
@@ -2045,7 +2076,7 @@ CREATE OR REPLACE PACKAGE BODY mld AS
|
||||
|
||||
IF l_prs_dienst_key IS NOT NULL
|
||||
THEN
|
||||
-- Controleer of er <20><>n bedrijf is dat deze dienst levert (op deze locatie/dit gebouw)
|
||||
-- Controleer of er <20><>n bedrijf is dat deze dienst levert (op deze locatie/dit gebouw) via prs_bedrijfdienstlocatie
|
||||
IF l_alg_gebouw_key IS NOT NULL
|
||||
THEN
|
||||
SELECT MIN(bdl.prs_bedrijf_key) prs_bedrijf_key
|
||||
@@ -2060,10 +2091,13 @@ CREATE OR REPLACE PACKAGE BODY mld AS
|
||||
, prs_v_aanwezigbedrijf b
|
||||
WHERE bdl.prs_bedrijf_key = b.prs_bedrijf_key
|
||||
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.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;
|
||||
ELSIF l_mld_alg_locatie_key IS NOT NULL
|
||||
THEN
|
||||
@@ -2079,8 +2113,9 @@ CREATE OR REPLACE PACKAGE BODY mld AS
|
||||
, prs_v_aanwezigbedrijf b
|
||||
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.alg_locatie_key = l_mld_alg_locatie_key
|
||||
OR bdl.alg_locatie_key IS NULL
|
||||
)
|
||||
AND bdl.mld_autoorder = 1;
|
||||
ELSE
|
||||
SELECT MIN(bdl.prs_bedrijf_key) prs_bedrijf_key
|
||||
@@ -2105,6 +2140,56 @@ CREATE OR REPLACE PACKAGE BODY mld AS
|
||||
THEN
|
||||
l_prs_bedrijf_key := NULL;
|
||||
END IF;
|
||||
--
|
||||
-- Controleer of er <20><>n bedrijf is dat deze dienst levert (op deze locatie/dit gebouw) via cnt_contract_plaats
|
||||
IF l_aantal <> 1
|
||||
THEN
|
||||
IF l_mld_alg_onroerendgoed_keys IS NOT NULL
|
||||
THEN
|
||||
SELECT MIN(c.cnt_prs_bedrijf_key) cnt_prs_bedrijf_key
|
||||
, MIN(cp.cnt_contract_key) cnt_contract_key
|
||||
, COUNT(DISTINCT c.cnt_prs_bedrijf_key) aantal
|
||||
INTO l_prs_bedrijf_key
|
||||
, l_cnt_contract_key
|
||||
, l_aantal
|
||||
FROM cnt_contract c
|
||||
, cnt_contract_plaats cp
|
||||
, cnt_disc_params cd
|
||||
WHERE cp.cnt_contract_key = c.cnt_contract_key
|
||||
AND cd.cnt_ins_discipline_key = c.ins_discipline_key
|
||||
AND SYSDATE BETWEEN c.cnt_contract_looptijd_van
|
||||
AND c.cnt_contract_looptijd_tot
|
||||
AND c.cnt_contract_verwijder IS NULL
|
||||
AND cd.cnt_srtcontract_type IN (3,5)
|
||||
AND cp.cnt_alg_plaats_key = l_mld_alg_onroerendgoed_keys
|
||||
AND cp.cnt_alg_plaats_code = l_alg_type
|
||||
AND c.prs_dienst_key = l_prs_dienst_key;
|
||||
ELSE
|
||||
SELECT MIN(c.cnt_prs_bedrijf_key) cnt_prs_bedrijf_key
|
||||
, MIN(cp.cnt_contract_key) cnt_contract_key
|
||||
, COUNT(DISTINCT c.cnt_prs_bedrijf_key) aantal
|
||||
INTO l_prs_bedrijf_key
|
||||
, l_cnt_contract_key
|
||||
, l_aantal
|
||||
FROM cnt_contract c
|
||||
, cnt_contract_plaats cp
|
||||
, cnt_disc_params cd
|
||||
WHERE cp.cnt_contract_key = c.cnt_contract_key
|
||||
AND cd.cnt_ins_discipline_key = c.ins_discipline_key
|
||||
AND SYSDATE BETWEEN c.cnt_contract_looptijd_van
|
||||
AND c.cnt_contract_looptijd_tot
|
||||
AND c.cnt_contract_verwijder IS NULL
|
||||
AND cd.cnt_srtcontract_type IN (3,5)
|
||||
AND cp.cnt_alg_plaats_key = l_mld_alg_locatie_key
|
||||
AND cp.cnt_alg_plaats_code = 'L'
|
||||
AND c.prs_dienst_key = l_prs_dienst_key;
|
||||
END IF;
|
||||
IF l_aantal <> 1
|
||||
THEN
|
||||
l_prs_bedrijf_key := NULL;
|
||||
l_cnt_contract_key := NULL;
|
||||
END IF;
|
||||
END IF;
|
||||
END IF;
|
||||
IF l_prs_bedrijf_key IS NULL
|
||||
THEN
|
||||
@@ -2231,6 +2316,7 @@ CREATE OR REPLACE PACKAGE BODY mld AS
|
||||
mld_opdr_bedrijfopdr_volgnr,
|
||||
mld_typeopdr_key,
|
||||
mld_uitvoerende_keys,
|
||||
cnt_contract_key,
|
||||
prs_perslid_key,
|
||||
prs_kostenplaats_key,
|
||||
prs_kostensoort_key,
|
||||
@@ -2246,6 +2332,7 @@ CREATE OR REPLACE PACKAGE BODY mld AS
|
||||
mld.bepaalopdrmeldingvolgnr(p_melding_key),
|
||||
l_mld_typeopdr_key,
|
||||
l_prs_bedrijf_key,
|
||||
l_cnt_contract_key,
|
||||
CASE
|
||||
WHEN l_haswrite = 1
|
||||
THEN l_prs_perslid_key
|
||||
@@ -2330,8 +2417,7 @@ CREATE OR REPLACE PACKAGE BODY mld AS
|
||||
AND k.mld_srtkenmerk_key = t.mld_srtkenmerk_key
|
||||
AND t.mld_srtkenmerk_verwijder IS NULL
|
||||
AND t.mld_srtkenmerk_kenmerktype <> 'M'
|
||||
AND (k.mld_kenmerk_volgnummer <= 100
|
||||
OR k.mld_kenmerk_volgnummer >= 900) -- Alleen bij of na afmelden mogen afmeld-kenmerken tussen de 100..900
|
||||
AND BITAND(k.mld_kenmerk_rolcode, 5) > 0 -- Alleen bij of na afmelden mogen afmeld-kenmerken (x0x of x1x)
|
||||
AND COALESCE((SELECT v.mld_kenmerkmelding_waarde
|
||||
FROM mld_kenmerkmelding v
|
||||
, mld_kenmerk vk
|
||||
@@ -2401,8 +2487,7 @@ CREATE OR REPLACE PACKAGE BODY mld AS
|
||||
AND k.mld_srtkenmerk_key = t.mld_srtkenmerk_key
|
||||
AND t.mld_srtkenmerk_verwijder IS NULL
|
||||
AND t.mld_srtkenmerk_kenmerktype <> 'M'
|
||||
AND (k.mld_kenmerk_volgnummer <= 100
|
||||
OR k.mld_kenmerk_volgnummer >= 900) -- Alleen bij of na afmelden mogen afmeld-kenmerken tussen de 100..900
|
||||
AND BITAND(k.mld_kenmerk_rolcode, 5) > 0 -- Alleen bij of na afmelden mogen afmeld-kenmerken (x0x of x1x)
|
||||
AND COALESCE((SELECT MIN(v.mld_kenmerkmelding_waarde)
|
||||
FROM mld_kenmerkmelding v
|
||||
, mld_kenmerk vk
|
||||
@@ -2426,6 +2511,7 @@ CREATE OR REPLACE PACKAGE BODY mld AS
|
||||
UPDATE mld_opdr
|
||||
SET mld_opdr_teverzenden = 1
|
||||
WHERE mld_opdr_key = l_new_opdr_key;
|
||||
fac.notifytrackingbedrijven ('ORDNEW', l_new_opdr_key);
|
||||
ELSE
|
||||
-- Alleen in geval van een uitvoerder, de opdracht door putorders laten oppikken.
|
||||
BEGIN
|
||||
@@ -2448,6 +2534,7 @@ CREATE OR REPLACE PACKAGE BODY mld AS
|
||||
UPDATE mld_opdr
|
||||
SET mld_opdr_teverzenden = 1
|
||||
WHERE mld_opdr_key = l_new_opdr_key;
|
||||
fac.notifytrackingbedrijven ('ORDNEW', l_new_opdr_key);
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN NULL;
|
||||
@@ -2679,7 +2766,7 @@ CREATE OR REPLACE PACKAGE BODY mld AS
|
||||
-- and the flexprops of p_melding_key if these match the mld_srtkenmerk_key
|
||||
LOOP
|
||||
|
||||
DBMS_OUTPUT.put_line( 'startkey:'
|
||||
DBMS_OUTPUT.put_line ( 'startkey:'
|
||||
|| l_melding_start_key
|
||||
|| ' step key:'
|
||||
|| r_nextsteps.mld_workflowstep_key);
|
||||
@@ -2690,78 +2777,79 @@ CREATE OR REPLACE PACKAGE BODY mld AS
|
||||
WHERE wr1.mld_workflowstep_key = ws1.mld_workflowstep_key
|
||||
AND wr1.mld_workflowstep_next_key = r_nextsteps.mld_workflowstep_key;
|
||||
|
||||
DBMS_OUTPUT.put_line (
|
||||
'total nr of possible predecessors for next step: ' || l_nrofpossiblepredecessors);
|
||||
DBMS_OUTPUT.put_line ('total nr of possible predecessors for next step: ' || l_nrofpossiblepredecessors);
|
||||
|
||||
SELECT COUNT ( * )
|
||||
INTO l_nrofactualpredecessors -- disregard status
|
||||
FROM mld_melding m
|
||||
WHERE m.mld_workflowstep_key IN
|
||||
(SELECT wr1.mld_workflowstep_key
|
||||
FROM mld_workflowrule wr1, mld_workflowstep ws1
|
||||
WHERE wr1.mld_workflowstep_key = ws1.mld_workflowstep_key
|
||||
AND wr1.mld_workflowstep_next_key =
|
||||
r_nextsteps.mld_workflowstep_key)
|
||||
SELECT COUNT ( * )
|
||||
INTO l_nrofactualpredecessors -- disregard status
|
||||
FROM mld_melding m
|
||||
WHERE m.mld_workflowstep_key IN
|
||||
(SELECT wr1.mld_workflowstep_key
|
||||
FROM mld_workflowrule wr1, mld_workflowstep ws1
|
||||
WHERE wr1.mld_workflowstep_key = ws1.mld_workflowstep_key
|
||||
AND wr1.mld_workflowstep_next_key = r_nextsteps.mld_workflowstep_key
|
||||
)
|
||||
-- the step to be continued
|
||||
AND mld_melding_start_key = l_melding_start_key; -- for this thread
|
||||
AND m.mld_melding_start_key = l_melding_start_key; -- for this thread
|
||||
|
||||
DBMS_OUTPUT.put_line('total nr of actual predecessors for next step: '
|
||||
|| l_nrofactualpredecessors);
|
||||
DBMS_OUTPUT.put_line ('total nr of actual predecessors for next step: '
|
||||
|| l_nrofactualpredecessors);
|
||||
|
||||
l_nrofrequiredpredecessors := l_nrofactualpredecessors;
|
||||
l_nrofrequiredpredecessors := l_nrofactualpredecessors;
|
||||
|
||||
-- If there is a difference between l_nrofpossiblepredecessors and l_nrofactualpredecessors there are
|
||||
-- a few possibilities:
|
||||
-- a. an actual predecessor has not been started yet (workflow branches are unequal length)
|
||||
-- b. an actual predecessor has not been started and will not start due to a condition
|
||||
-- In case a. the predecessor will start eventually and then trigger the next step.
|
||||
-- Then l_nrofreadypredecessors = l_nrofpossiblepredecessors
|
||||
-- In case b. the l_nrofreadypredecessors will never reach l_nrofpossiblepredecessors, the
|
||||
-- next step will be triggered when l_nrofreadypredecessors = l_nrofactualpredecessors
|
||||
-- The question is: how do we distinguish a and b?
|
||||
--
|
||||
-- Suggestion: backtracking the workflow for the step that is not (yet) there?
|
||||
IF l_nrofpossiblepredecessors > l_nrofactualpredecessors
|
||||
THEN
|
||||
BEGIN
|
||||
SELECT wr1.mld_workflowstep_key
|
||||
INTO l_common_ancestor
|
||||
FROM mld_workflowrule wr1, mld_workflowstep ws1
|
||||
WHERE wr1.mld_workflowstep_key = ws1.mld_workflowstep_key
|
||||
AND wr1.mld_workflowstep_next_key IN
|
||||
(SELECT wr1.mld_workflowstep_key
|
||||
FROM mld_workflowrule wr1, mld_workflowstep ws1
|
||||
WHERE wr1.mld_workflowstep_key = ws1.mld_workflowstep_key
|
||||
AND wr1.mld_workflowstep_next_key = r_nextsteps.mld_workflowstep_key)
|
||||
GROUP BY wr1.mld_workflowstep_key;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND OR TOO_MANY_ROWS
|
||||
THEN
|
||||
-- If there is a difference between l_nrofpossiblepredecessors and l_nrofactualpredecessors there are
|
||||
-- a few possibilities:
|
||||
-- a. an actual predecessor has not been started yet (workflow branches are unequal length)
|
||||
-- b. an actual predecessor has not been started and will not start due to a condition
|
||||
-- In case a. the predecessor will start eventually and then trigger the next step.
|
||||
-- Then l_nrofreadypredecessors = l_nrofpossiblepredecessors
|
||||
-- In case b. the l_nrofreadypredecessors will never reach l_nrofpossiblepredecessors, the
|
||||
-- next step will be triggered when l_nrofreadypredecessors = l_nrofactualpredecessors
|
||||
-- The question is: how do we distinguish a and b?
|
||||
--
|
||||
-- Suggestion: backtracking the workflow for the step that is not (yet) there?
|
||||
IF l_nrofpossiblepredecessors > l_nrofactualpredecessors
|
||||
THEN
|
||||
BEGIN
|
||||
SELECT wr1.mld_workflowstep_key
|
||||
INTO l_common_ancestor
|
||||
FROM mld_workflowrule wr1, mld_workflowstep ws1
|
||||
WHERE wr1.mld_workflowstep_key = ws1.mld_workflowstep_key
|
||||
AND wr1.mld_workflowstep_next_key IN
|
||||
(SELECT wr1.mld_workflowstep_key
|
||||
FROM mld_workflowrule wr1, mld_workflowstep ws1
|
||||
WHERE wr1.mld_workflowstep_key = ws1.mld_workflowstep_key
|
||||
AND wr1.mld_workflowstep_next_key = r_nextsteps.mld_workflowstep_key
|
||||
)
|
||||
GROUP BY wr1.mld_workflowstep_key;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND OR TOO_MANY_ROWS
|
||||
THEN
|
||||
l_common_ancestor := -1;
|
||||
END;
|
||||
END;
|
||||
|
||||
IF l_common_ancestor <> -1
|
||||
THEN
|
||||
IF l_common_ancestor <> -1
|
||||
THEN
|
||||
DBMS_OUTPUT.put_line ('Common ancestor detected for all previous workflowsteps, so a condition not met (case b)');
|
||||
l_nrofrequiredpredecessors := l_nrofactualpredecessors;
|
||||
ELSE
|
||||
ELSE
|
||||
-- determine case a or case b
|
||||
FOR missingsteps
|
||||
IN (SELECT wr1.mld_workflowstep_key
|
||||
FROM mld_workflowrule wr1, mld_workflowstep ws1
|
||||
WHERE wr1.mld_workflowstep_key = ws1.mld_workflowstep_key
|
||||
AND wr1.mld_workflowstep_next_key =
|
||||
r_nextsteps.mld_workflowstep_key
|
||||
AND wr1.mld_workflowstep_next_key = r_nextsteps.mld_workflowstep_key
|
||||
MINUS
|
||||
SELECT mld_workflowstep_key
|
||||
FROM mld_melding m
|
||||
WHERE m.mld_workflowstep_key IN
|
||||
(SELECT wr1.mld_workflowstep_key
|
||||
FROM mld_workflowrule wr1, mld_workflowstep ws1
|
||||
WHERE wr1.mld_workflowstep_key = ws1.mld_workflowstep_key
|
||||
AND wr1.mld_workflowstep_next_key =
|
||||
r_nextsteps.mld_workflowstep_key)
|
||||
AND mld_melding_start_key = l_melding_start_key) LOOP
|
||||
(SELECT wr1.mld_workflowstep_key
|
||||
FROM mld_workflowrule wr1, mld_workflowstep ws1
|
||||
WHERE wr1.mld_workflowstep_key = ws1.mld_workflowstep_key
|
||||
AND wr1.mld_workflowstep_next_key = r_nextsteps.mld_workflowstep_key
|
||||
)
|
||||
AND mld_melding_start_key = l_melding_start_key
|
||||
)
|
||||
LOOP
|
||||
-- This predecessing step missingsteps.mld_workflowstep_key is possible but not actual. How come?
|
||||
-- Are some of its predecessor(s) not being the root actual in this workflow?
|
||||
-- NOTE THAT THIS NEEDS ATTENTION IF WE NEED TO SUPPORT LONGER, UNBALANCED, CONDITIONAL WORKFLOWS
|
||||
@@ -2770,18 +2858,18 @@ CREATE OR REPLACE PACKAGE BODY mld AS
|
||||
INTO l_prepredecessors
|
||||
FROM mld_melding m
|
||||
WHERE m.mld_workflowstep_key IN
|
||||
(SELECT wr1.mld_workflowstep_key
|
||||
FROM mld_workflowrule wr1, mld_workflowstep ws1
|
||||
WHERE wr1.mld_workflowstep_key = ws1.mld_workflowstep_key
|
||||
AND wr1.mld_workflowstep_next_key =
|
||||
missingsteps.mld_workflowstep_key)
|
||||
AND mld_melding_key <> l_melding_start_key
|
||||
AND mld_melding_start_key = l_melding_start_key;
|
||||
(SELECT wr1.mld_workflowstep_key
|
||||
FROM mld_workflowrule wr1, mld_workflowstep ws1
|
||||
WHERE wr1.mld_workflowstep_key = ws1.mld_workflowstep_key
|
||||
AND wr1.mld_workflowstep_next_key = missingsteps.mld_workflowstep_key
|
||||
)
|
||||
AND mld_melding_key <> l_melding_start_key
|
||||
AND mld_melding_start_key = l_melding_start_key;
|
||||
|
||||
DBMS_OUTPUT.put_line('Complex case! Total nr of actual prepredecessors for predecessor-step '
|
||||
|| missingsteps.mld_workflowstep_key
|
||||
|| ': '
|
||||
|| l_prepredecessors);
|
||||
DBMS_OUTPUT.put_line ('Complex case! Total nr of actual prepredecessors for predecessor-step '
|
||||
|| missingsteps.mld_workflowstep_key
|
||||
|| ': '
|
||||
|| l_prepredecessors);
|
||||
|
||||
IF l_prepredecessors = 0
|
||||
THEN
|
||||
@@ -2800,30 +2888,30 @@ CREATE OR REPLACE PACKAGE BODY mld AS
|
||||
THEN
|
||||
l_nrofrequiredpredecessors := l_nrofactualpredecessors + nrcase_a; --l_nrofpossiblepredecessors;
|
||||
END IF;
|
||||
END IF;
|
||||
ELSE
|
||||
-- both are the same, just pick one to test against later
|
||||
l_nrofrequiredpredecessors := l_nrofactualpredecessors;
|
||||
END IF;
|
||||
END IF;
|
||||
ELSE
|
||||
-- both are the same, just pick one to test against later
|
||||
l_nrofrequiredpredecessors := l_nrofactualpredecessors;
|
||||
END IF;
|
||||
|
||||
DBMS_OUTPUT.put_line('total nr of required predecessors for next step: '
|
||||
|| l_nrofrequiredpredecessors);
|
||||
DBMS_OUTPUT.put_line ('total nr of required predecessors for next step: '
|
||||
|| l_nrofrequiredpredecessors);
|
||||
|
||||
SELECT COUNT ( * )
|
||||
INTO l_nrofreadypredecessors
|
||||
FROM mld_melding m
|
||||
WHERE m.mld_workflowstep_key IN
|
||||
(SELECT wr1.mld_workflowstep_key
|
||||
FROM mld_workflowrule wr1, mld_workflowstep ws1
|
||||
WHERE wr1.mld_workflowstep_key = ws1.mld_workflowstep_key
|
||||
AND wr1.mld_workflowstep_next_key =
|
||||
r_nextsteps.mld_workflowstep_key)
|
||||
-- the step to be continued
|
||||
AND mld_melding_status IN (1, 5, 6) -- predecessor has been handled, no matter how
|
||||
AND mld_melding_start_key = l_melding_start_key; -- for this thread
|
||||
SELECT COUNT ( * )
|
||||
INTO l_nrofreadypredecessors
|
||||
FROM mld_melding m
|
||||
WHERE m.mld_workflowstep_key IN
|
||||
(SELECT wr1.mld_workflowstep_key
|
||||
FROM mld_workflowrule wr1, mld_workflowstep ws1
|
||||
WHERE wr1.mld_workflowstep_key = ws1.mld_workflowstep_key
|
||||
AND wr1.mld_workflowstep_next_key = r_nextsteps.mld_workflowstep_key
|
||||
)
|
||||
-- the step to be continued
|
||||
AND mld_melding_status IN (1, 5, 6) -- predecessor has been handled, no matter how
|
||||
AND mld_melding_start_key = l_melding_start_key; -- for this thread
|
||||
|
||||
DBMS_OUTPUT.put_line (
|
||||
'total nr of READY predecessors for next step: ' || l_nrofreadypredecessors);
|
||||
DBMS_OUTPUT.put_line ('total nr of READY predecessors for next step: '
|
||||
|| l_nrofreadypredecessors);
|
||||
createthisnextstep := FALSE;
|
||||
|
||||
-- What we do next depends on the jointype. We are one predecessor ourselves. Options are:
|
||||
@@ -2843,12 +2931,11 @@ CREATE OR REPLACE PACKAGE BODY mld AS
|
||||
CASE r_nextsteps.mld_workflowstep_jointype
|
||||
WHEN 0
|
||||
THEN -- AND
|
||||
createthisnextstep :=
|
||||
l_nrofreadypredecessors >= l_nrofrequiredpredecessors OR p_success = -1;
|
||||
createthisnextstep := l_nrofreadypredecessors >= l_nrofrequiredpredecessors OR p_success = -1;
|
||||
WHEN 1
|
||||
THEN -- OR
|
||||
createthisnextstep := l_nrofreadypredecessors = 1;
|
||||
-- if l_nrofreadypredecessors > 1 the creation has already taken place :-)
|
||||
createthisnextstep := l_nrofreadypredecessors = 1 OR p_success = -1;
|
||||
-- if l_nrofreadypredecessors > 1 the creation has already taken place :-)
|
||||
WHEN 2
|
||||
THEN -- SYNC
|
||||
-- Wel nog een beetje raar in onze <20>naar mijn groeiende overtuiging slimmere- implementatie:
|
||||
@@ -2859,8 +2946,7 @@ CREATE OR REPLACE PACKAGE BODY mld AS
|
||||
|
||||
IF createthisnextstep
|
||||
THEN
|
||||
DBMS_OUTPUT.put_line (
|
||||
'We GO for the next step ' || r_nextsteps.mld_workflowstep_key);
|
||||
DBMS_OUTPUT.put_line ('We GO for the next step ' || r_nextsteps.mld_workflowstep_key);
|
||||
|
||||
IF evaluatecondition (p_melding_key, r_nextsteps.mld_workflowrule_condition)
|
||||
THEN
|
||||
@@ -2876,8 +2962,7 @@ CREATE OR REPLACE PACKAGE BODY mld AS
|
||||
rootregistered := TRUE;
|
||||
END IF;
|
||||
|
||||
DBMS_OUTPUT.put_line (
|
||||
'We actually start the next step ' || r_nextsteps.mld_workflowstep_key);
|
||||
DBMS_OUTPUT.put_line ('We actually start the next step ' || r_nextsteps.mld_workflowstep_key);
|
||||
l_nrstepsevaluatedtrue := l_nrstepsevaluatedtrue + 1;
|
||||
|
||||
IF r_nextsteps.mld_directklaar = 2
|
||||
@@ -3319,6 +3404,7 @@ CREATE OR REPLACE PACKAGE BODY mld AS
|
||||
RETURN MLD_T_UITVOERTIJD
|
||||
AS
|
||||
v_actual_uitvoertijd_object mld_stdmelding.mld_stdmelding_t_uitvoertijd%TYPE := MLD_T_UITVOERTIJD(NULL, NULL); -- constructor initialisatie;
|
||||
v_actual_accepttijd mld_stdmelding.mld_stdmelding_t_accepttijd%TYPE := MLD_T_UITVOERTIJD(NULL, NULL); -- constructor initialisatie;
|
||||
v_uitvoertijdtype VARCHAR2(5);
|
||||
v_mld_stdmelding_regime mld_stdmelding.mld_stdmelding_regime%TYPE;
|
||||
v_beginuur alg_gebouw.alg_gebouw_beginuur%TYPE;
|
||||
@@ -3326,7 +3412,7 @@ CREATE OR REPLACE PACKAGE BODY mld AS
|
||||
v_werkdagen alg_gebouw.alg_gebouw_werkdagen%TYPE;
|
||||
BEGIN
|
||||
getSLAparams(stdm_key, prio, alg_key, ins_key,
|
||||
v_mld_stdmelding_regime, v_actual_uitvoertijd_object, v_beginuur, v_einduur, v_werkdagen);
|
||||
v_mld_stdmelding_regime, v_actual_uitvoertijd_object, v_actual_accepttijd, v_beginuur, v_einduur, v_werkdagen);
|
||||
|
||||
IF COALESCE(eenheid, v_actual_uitvoertijd_object.eenheid) = 'D'
|
||||
THEN
|
||||
@@ -3369,6 +3455,89 @@ CREATE OR REPLACE PACKAGE BODY mld AS
|
||||
RETURN v_actual_uitvoertijd_object;
|
||||
END;
|
||||
|
||||
-- Dit is de tijd waarop afgerekend gaat worden.
|
||||
FUNCTION getactualaccept (p_melding_key IN NUMBER)
|
||||
RETURN MLD_T_UITVOERTIJD
|
||||
AS
|
||||
v_actual_accepttijd mld_stdmelding.mld_stdmelding_t_accepttijd%TYPE := MLD_T_UITVOERTIJD(NULL, NULL); -- constructor initialisatie;
|
||||
BEGIN
|
||||
-- Objecten hebben geen acceptatietijd.
|
||||
SELECT mld.getactualaccept(m.mld_melding_datum,
|
||||
COALESCE(fac.gettrackingdate('MLDACP', m.mld_melding_key), fac.gettrackingdate('MLDAFM', m.mld_melding_key), fac.gettrackingdate('MLDREJ', m.mld_melding_key), SYSDATE),
|
||||
m.mld_stdmelding_key,
|
||||
m.mld_melding_spoed,
|
||||
m.mld_alg_onroerendgoed_keys,
|
||||
NULL, -- ins_key (Objecten hebben geen acceptatietijd).
|
||||
m.mld_melding_t_accepttijd.eenheid
|
||||
)
|
||||
INTO v_actual_accepttijd
|
||||
FROM mld_melding m
|
||||
WHERE mld_melding_key = p_melding_key;
|
||||
RETURN v_actual_accepttijd;
|
||||
END;
|
||||
|
||||
FUNCTION getactualaccept (startdate IN DATE,
|
||||
enddate IN DATE,
|
||||
stdm_key IN NUMBER,
|
||||
prio IN NUMBER,
|
||||
alg_key IN NUMBER, -- Altijd gebouw of hoger, locatie niet ondersteund
|
||||
ins_key IN NUMBER, -- Object met de laagste uitvoertijd
|
||||
eenheid IN VARCHAR2 DEFAULT NULL
|
||||
)
|
||||
RETURN MLD_T_UITVOERTIJD
|
||||
AS
|
||||
v_actual_uitvoertijd_object mld_stdmelding.mld_stdmelding_t_uitvoertijd%TYPE := MLD_T_UITVOERTIJD(NULL, NULL); -- constructor initialisatie;
|
||||
v_actual_accepttijd mld_stdmelding.mld_stdmelding_t_accepttijd%TYPE := MLD_T_UITVOERTIJD(NULL, NULL); -- constructor initialisatie;
|
||||
v_uitvoertijdtype VARCHAR2(5);
|
||||
v_mld_stdmelding_regime mld_stdmelding.mld_stdmelding_regime%TYPE;
|
||||
v_beginuur alg_gebouw.alg_gebouw_beginuur%TYPE;
|
||||
v_einduur alg_gebouw.alg_gebouw_einduur%TYPE;
|
||||
v_werkdagen alg_gebouw.alg_gebouw_werkdagen%TYPE;
|
||||
BEGIN
|
||||
getSLAparams(stdm_key, prio, alg_key, ins_key,
|
||||
v_mld_stdmelding_regime, v_actual_uitvoertijd_object, v_actual_accepttijd, v_beginuur, v_einduur, v_werkdagen);
|
||||
|
||||
IF COALESCE(eenheid, v_actual_accepttijd.eenheid) = 'D'
|
||||
THEN
|
||||
v_uitvoertijdtype := 'DAGEN';
|
||||
ELSE
|
||||
v_uitvoertijdtype := 'UREN';
|
||||
END IF;
|
||||
|
||||
-- Als bij Openingstijden geen ruimte/gebouwopeningstijden zijn gevonden dan terugvallen op Kantoortijden.
|
||||
IF v_mld_stdmelding_regime = 1 OR (v_mld_stdmelding_regime = 2 AND (v_beginuur = -1 OR v_einduur = -1)) -- Kantoortijden: als in 5.1.2
|
||||
THEN
|
||||
v_actual_accepttijd :=
|
||||
FAC.datumtijdnaaruitvoertijd (startdate, enddate, v_uitvoertijdtype);
|
||||
ELSIF v_mld_stdmelding_regime = 2 -- Openingstijden: gebruik ruimte/gebouwopeningstijden
|
||||
THEN
|
||||
v_actual_accepttijd :=
|
||||
FAC.datumtijdnaaruitvoertijd (startdate,
|
||||
enddate,
|
||||
v_uitvoertijdtype,
|
||||
v_beginuur,
|
||||
v_einduur,
|
||||
v_werkdagen); -- Mode=0/1 resp. alle dagen/alleen werkdagen!
|
||||
ELSIF v_mld_stdmelding_regime = 3 -- 24/7: negeert weekenden of vrije dagen
|
||||
THEN
|
||||
v_actual_accepttijd :=
|
||||
FAC.datumtijdnaaruitvoertijd (startdate,
|
||||
enddate,
|
||||
v_uitvoertijdtype,
|
||||
NULL, -- Don't care
|
||||
NULL, -- Don't care
|
||||
2); -- Mode=2 => 24/7
|
||||
END IF;
|
||||
|
||||
-- Een negatieve actuele uitvoertijd niet toestaan. Minimale waarde is 0.
|
||||
IF v_actual_accepttijd.tijdsduur < 0
|
||||
THEN
|
||||
v_actual_accepttijd.tijdsduur := 0;
|
||||
END IF;
|
||||
|
||||
RETURN v_actual_accepttijd;
|
||||
END;
|
||||
|
||||
FUNCTION uitvoertijd_to_char (uitvoertijd IN MLD_T_UITVOERTIJD)
|
||||
RETURN VARCHAR
|
||||
AS BEGIN
|
||||
@@ -3410,13 +3579,14 @@ CREATE OR REPLACE PACKAGE BODY mld AS
|
||||
v_einddatum DATE;
|
||||
v_mld_stdmelding_regime mld_stdmelding.mld_stdmelding_regime%TYPE;
|
||||
v_uitvoertijd_object mld_stdmelding.mld_stdmelding_t_uitvoertijd%TYPE := MLD_T_UITVOERTIJD(NULL, NULL); -- contructor initialisatie;
|
||||
v_accepttijd mld_stdmelding.mld_stdmelding_t_accepttijd%TYPE := MLD_T_UITVOERTIJD(NULL, NULL); -- contructor initialisatie;
|
||||
v_uitvoertijdtype VARCHAR2(5);
|
||||
v_beginuur alg_gebouw.alg_gebouw_beginuur%TYPE;
|
||||
v_einduur alg_gebouw.alg_gebouw_einduur%TYPE;
|
||||
v_werkdagen NUMBER;
|
||||
BEGIN
|
||||
getSLAparams(stdm_key, prio, alg_key, ins_key,
|
||||
v_mld_stdmelding_regime, v_uitvoertijd_object, v_beginuur, v_einduur, v_werkdagen);
|
||||
v_mld_stdmelding_regime, v_uitvoertijd_object, v_accepttijd, v_beginuur, v_einduur, v_werkdagen);
|
||||
|
||||
IF uitvoertijd_object.eenheid IS NOT NULL
|
||||
THEN
|
||||
@@ -3496,13 +3666,14 @@ CREATE OR REPLACE PACKAGE BODY mld AS
|
||||
RETURN MLD_T_UITVOERTIJD
|
||||
AS
|
||||
v_uitvoertijd_object mld_stdmelding.mld_stdmelding_t_uitvoertijd%TYPE := MLD_T_UITVOERTIJD(NULL, NULL); -- contructor initialisatie
|
||||
v_accepttijd mld_stdmelding.mld_stdmelding_t_accepttijd%TYPE := MLD_T_UITVOERTIJD(NULL, NULL); -- contructor initialisatie
|
||||
v_mld_stdmelding_regime mld_stdmelding.mld_stdmelding_regime%TYPE;
|
||||
v_beginuur alg_gebouw.alg_gebouw_beginuur%TYPE;
|
||||
v_einduur alg_gebouw.alg_gebouw_einduur%TYPE;
|
||||
v_werkdagen NUMBER;
|
||||
BEGIN
|
||||
getSLAparams(stdm_key, prio, alg_key, ins_key,
|
||||
v_mld_stdmelding_regime, v_uitvoertijd_object, v_beginuur, v_einduur, v_werkdagen);
|
||||
v_mld_stdmelding_regime, v_uitvoertijd_object, v_accepttijd, v_beginuur, v_einduur, v_werkdagen);
|
||||
RETURN v_uitvoertijd_object;
|
||||
END;
|
||||
|
||||
@@ -3534,12 +3705,14 @@ CREATE OR REPLACE PACKAGE BODY mld AS
|
||||
ins_key IN NUMBER, -- Object met de laagste uitvoertijd
|
||||
v_mld_stdmelding_regime OUT NUMBER,
|
||||
v_uitvoertijd_object OUT MLD_T_UITVOERTIJD,
|
||||
v_accepttijd OUT MLD_T_UITVOERTIJD,
|
||||
v_beginuur OUT NUMBER,
|
||||
v_einduur OUT NUMBER,
|
||||
v_werkdagen OUT NUMBER
|
||||
)
|
||||
AS
|
||||
v_uitvoertijd_object_s mld_stdmelding.mld_stdmelding_t_uitvoertijd%TYPE := MLD_T_UITVOERTIJD(NULL, NULL); -- contructor initialisatie
|
||||
v_accepttijd_s mld_stdmelding.mld_stdmelding_t_accepttijd%TYPE := MLD_T_UITVOERTIJD(NULL, NULL); -- contructor initialisatie
|
||||
v_mld_stdmelding_afhankelijk mld_stdmelding.mld_stdmelding_afhankelijk%TYPE;
|
||||
l_alg_type VARCHAR2(1);
|
||||
l_terreinsector_key alg_terreinsector.alg_terreinsector_key%TYPE;
|
||||
@@ -3552,6 +3725,9 @@ CREATE OR REPLACE PACKAGE BODY mld AS
|
||||
l_mldsrtruimte_uitvtijd_object mld_stdmsrtruimte.mld_stdmsrtruimte_t_uitvtijd%TYPE := MLD_T_UITVOERTIJD(NULL, NULL); -- contructor initialisatie
|
||||
l_mldsrtgebouw_uitvtijd_object mld_stdmsrtgebouw.mld_stdmsrtgebouw_t_uitvtijd%TYPE := MLD_T_UITVOERTIJD(NULL, NULL); -- contructor initialisatie
|
||||
l_mldsrtterrein_uitvtijd_object mld_stdmsrtterrein.mld_stdmsrtterrein_t_uitvtijd%TYPE := MLD_T_UITVOERTIJD(NULL, NULL); -- contructor initialisatie
|
||||
l_mldsrtterrein_acctijd mld_stdmsrtterrein.mld_stdmsrtterrein_t_acctijd%TYPE := MLD_T_UITVOERTIJD(NULL, NULL); -- contructor initialisatie
|
||||
l_mldsrtgebouw_accepttijd mld_stdmsrtgebouw.mld_stdmsrtgebouw_t_accepttijd%TYPE := MLD_T_UITVOERTIJD(NULL, NULL); -- contructor initialisatie
|
||||
l_mldsrtruimte_accepttijd mld_stdmsrtruimte.mld_stdmsrtruimte_t_accepttijd%TYPE := MLD_T_UITVOERTIJD(NULL, NULL); -- contructor initialisatie
|
||||
BEGIN
|
||||
SELECT mld_stdmelding_regime,
|
||||
CASE prio
|
||||
@@ -3561,10 +3737,19 @@ CREATE OR REPLACE PACKAGE BODY mld AS
|
||||
ELSE mld_stdmelding_t_uitvoertijd
|
||||
END, -- gegarandeerd gevuld
|
||||
mld_stdmelding_t_uitvoertijd, -- standaard uitvoertijd
|
||||
CASE prio
|
||||
WHEN 1 THEN mld_stdmelding_t_accept_pr1
|
||||
WHEN 2 THEN mld_stdmelding_t_accept_pr2
|
||||
WHEN 4 THEN mld_stdmelding_t_accept_pr4
|
||||
ELSE mld_stdmelding_t_accepttijd
|
||||
END, -- gegarandeerd gevuld
|
||||
mld_stdmelding_t_accepttijd, -- standaard acceptatietijd
|
||||
mld_stdmelding_afhankelijk
|
||||
INTO v_mld_stdmelding_regime,
|
||||
v_uitvoertijd_object,
|
||||
v_uitvoertijd_object_s,
|
||||
v_accepttijd,
|
||||
v_accepttijd_s,
|
||||
v_mld_stdmelding_afhankelijk
|
||||
FROM mld_stdmelding msm
|
||||
WHERE msm.mld_stdmelding_key = stdm_key;
|
||||
@@ -3576,6 +3761,14 @@ CREATE OR REPLACE PACKAGE BODY mld AS
|
||||
v_uitvoertijd_object := v_uitvoertijd_object_s;
|
||||
END IF;
|
||||
|
||||
-- Als je geen afwijkende acceptatietijd voor de prio hebt, dan is het die van Normaal
|
||||
-- Dit is een vangnet, die prio had eigenlijk niet voor kunnen komen.
|
||||
IF prio <> 3 AND v_accepttijd.tijdsduur IS NULL
|
||||
THEN
|
||||
v_accepttijd := v_accepttijd_s;
|
||||
END IF;
|
||||
|
||||
-- Acceptatietijd kent itt uitvoertijd geen objectafhankelijkheid.
|
||||
IF v_mld_stdmelding_afhankelijk = 1 AND ins_key IS NOT NULL
|
||||
THEN
|
||||
-- is er een objectafhankelijke SLA? Dan geldt die ongeacht de prio
|
||||
@@ -3625,10 +3818,16 @@ CREATE OR REPLACE PACKAGE BODY mld AS
|
||||
2, sst.mld_stdmsrtterrein_t_uitv_pr2,
|
||||
3, sst.mld_stdmsrtterrein_t_uitvtijd,
|
||||
4, sst.mld_stdmsrtterrein_t_uitv_pr4),
|
||||
COALESCE(sst.mld_stdmsrtterrein_regime, v_mld_stdmelding_regime) regime -- geen srtterreinsector-afhankelijk afwijkend regime.
|
||||
COALESCE(sst.mld_stdmsrtterrein_regime, v_mld_stdmelding_regime) regime, -- geen srtterreinsector-afhankelijk afwijkend regime.
|
||||
DECODE (prio,
|
||||
1, sst.mld_stdmsrtterrein_t_acc_pr1,
|
||||
2, sst.mld_stdmsrtterrein_t_acc_pr2,
|
||||
3, sst.mld_stdmsrtterrein_t_acctijd,
|
||||
4, sst.mld_stdmsrtterrein_t_acc_pr4)
|
||||
INTO l_srtterrein_uitvoertijd_object,
|
||||
l_mldsrtterrein_uitvtijd_object,
|
||||
v_mld_stdmelding_regime
|
||||
v_mld_stdmelding_regime,
|
||||
l_mldsrtterrein_acctijd
|
||||
FROM alg_terreinsector t,
|
||||
alg_srtterreinsector st,
|
||||
mld_stdmsrtterrein sst
|
||||
@@ -3652,10 +3851,16 @@ CREATE OR REPLACE PACKAGE BODY mld AS
|
||||
2, ssg.mld_stdmsrtgebouw_t_uitv_pr2,
|
||||
3, ssg.mld_stdmsrtgebouw_t_uitvtijd,
|
||||
4, ssg.mld_stdmsrtgebouw_t_uitv_pr4),
|
||||
COALESCE(ssg.mld_stdmsrtgebouw_regime, v_mld_stdmelding_regime) regime -- geen srtgebouw-afhankelijk afwijkend regime.
|
||||
COALESCE(ssg.mld_stdmsrtgebouw_regime, v_mld_stdmelding_regime) regime, -- geen srtgebouw-afhankelijk afwijkend regime.
|
||||
DECODE (prio,
|
||||
1, ssg.mld_stdmsrtgebouw_t_accept_pr1,
|
||||
2, ssg.mld_stdmsrtgebouw_t_accept_pr2,
|
||||
3, ssg.mld_stdmsrtgebouw_t_accepttijd,
|
||||
4, ssg.mld_stdmsrtgebouw_t_accept_pr4)
|
||||
INTO l_srtgebouw_uitvoertijd_object,
|
||||
l_mldsrtgebouw_uitvtijd_object,
|
||||
v_mld_stdmelding_regime
|
||||
v_mld_stdmelding_regime,
|
||||
l_mldsrtgebouw_accepttijd
|
||||
FROM alg_gebouw g,
|
||||
alg_srtgebouw sg,
|
||||
mld_stdmsrtgebouw ssg
|
||||
@@ -3681,10 +3886,16 @@ CREATE OR REPLACE PACKAGE BODY mld AS
|
||||
2, ssr.mld_stdmsrtruimte_t_uitv_pr2,
|
||||
3, ssr.mld_stdmsrtruimte_t_uitvtijd,
|
||||
4, ssr.mld_stdmsrtruimte_t_uitv_pr4),
|
||||
COALESCE(ssr.mld_stdmsrtruimte_regime, v_mld_stdmelding_regime) -- geen srtruimte-afhankelijk afwijkend regime.
|
||||
COALESCE(ssr.mld_stdmsrtruimte_regime, v_mld_stdmelding_regime), -- geen srtruimte-afhankelijk afwijkend regime.
|
||||
DECODE (prio,
|
||||
1, ssr.mld_stdmsrtruimte_t_accept_pr1,
|
||||
2, ssr.mld_stdmsrtruimte_t_accept_pr2,
|
||||
3, ssr.mld_stdmsrtruimte_t_accepttijd,
|
||||
4, ssr.mld_stdmsrtruimte_t_accept_pr4)
|
||||
INTO l_srtruimte_uitvoertijd_object,
|
||||
l_mldsrtruimte_uitvtijd_object,
|
||||
v_mld_stdmelding_regime
|
||||
v_mld_stdmelding_regime,
|
||||
l_mldsrtruimte_accepttijd
|
||||
FROM alg_ruimte r,
|
||||
alg_srtruimte sr,
|
||||
mld_stdmsrtruimte ssr
|
||||
@@ -3724,6 +3935,26 @@ CREATE OR REPLACE PACKAGE BODY mld AS
|
||||
ELSE
|
||||
v_uitvoertijd_object.eenheid := v_uitvoertijd_object.eenheid;
|
||||
END IF;
|
||||
|
||||
-- Acceptatietijd van de mld_stdmsrtruimte, mld_stdmsrtgebouw of mld_stdmsrtterrein nemen.
|
||||
-- Als mld_stdmsrtruimte_t_accepttijd, mld_stdmsrtgebouw_t_accepttijd en mld_stdmsrtterrein_t_acctijd geen waarden hebben, dan terugvallen op standaard uitvoertijd die altijd een waarde heeft.
|
||||
IF l_alg_type = 'T'
|
||||
THEN
|
||||
v_accepttijd.tijdsduur := COALESCE(l_mldsrtterrein_acctijd.tijdsduur, v_accepttijd.tijdsduur);
|
||||
ELSE
|
||||
v_accepttijd.tijdsduur := COALESCE(l_mldsrtruimte_accepttijd.tijdsduur, -- eerst ruimte
|
||||
l_mldsrtgebouw_accepttijd.tijdsduur, -- dan gebouw
|
||||
v_accepttijd.tijdsduur); -- dan standaard.
|
||||
END IF;
|
||||
IF l_mldsrtruimte_accepttijd.tijdsduur IS NOT NULL
|
||||
THEN
|
||||
v_accepttijd.eenheid := l_mldsrtruimte_accepttijd.eenheid;
|
||||
ELSIF l_mldsrtgebouw_accepttijd.tijdsduur IS NOT NULL
|
||||
THEN
|
||||
v_accepttijd.eenheid := l_mldsrtgebouw_accepttijd.eenheid;
|
||||
ELSE
|
||||
v_accepttijd.eenheid := v_accepttijd.eenheid;
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
IF alg_key IS NULL AND v_mld_stdmelding_regime = 2
|
||||
@@ -4603,7 +4834,7 @@ IS
|
||||
BEGIN
|
||||
UPDATE mld_melding m
|
||||
SET m.mld_melding_actiecode = m.mld_melding_actiecode - BITAND (m.mld_melding_actiecode, p_actiecode)
|
||||
WHERE m.mld_melding_status = 6 -- afgemeld
|
||||
WHERE m.mld_melding_status = 5 -- afgemeld
|
||||
AND BITAND (m.mld_melding_actiecode, p_actiecode) > 0
|
||||
AND fac.gettrackingdate ('MLDAFM', m.mld_melding_key) < (SYSDATE - p_days);
|
||||
|
||||
|
||||
@@ -388,8 +388,12 @@ CREATE_TABLE(mld_melding_tag,0) /* generieke opzet voor mld_releases of mld_rel
|
||||
CONSTRAINT mld_r_mld_stdmeldinggroep_key2 REFERENCES mld_stdmeldinggroep(mld_stdmeldinggroep_key),
|
||||
mld_melding_tag_datum_van /* lijkt logisch, maar definieren waarom */
|
||||
DATE,
|
||||
mld_melding_tag_datum_acc /* de acceptatiereleasedatum */
|
||||
DATE,
|
||||
mld_melding_tag_datum_tot /* de releasedatum */
|
||||
DATE NOT NULL,
|
||||
mld_melding_tag_actief /* om te kunnen laten vervallen */
|
||||
NUMBER(2) DEFAULT 1 NOT NULL,
|
||||
prs_perslid_key /* aanmaker of verantwoordelijke */
|
||||
NUMBER(10)
|
||||
CONSTRAINT mld_r_prs_perslid_key15 REFERENCES prs_perslid(prs_perslid_key),
|
||||
@@ -590,6 +594,10 @@ CREATE_TABLE(mld_stdmelding,0)
|
||||
NUMBER(1)
|
||||
DEFAULT 0
|
||||
NOT NULL,
|
||||
mld_stdmelding_objects_allowed
|
||||
NUMBER(1)
|
||||
DEFAULT(2)
|
||||
NOT NULL,
|
||||
CONSTRAINT mld_u_mld_stdmelding UNIQUE(mld_ins_discipline_key, mld_stdmelding_omschrijving, mld_stdmelding_verwijder)
|
||||
);
|
||||
|
||||
@@ -603,6 +611,11 @@ 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 fac_email_setting ADD
|
||||
(
|
||||
mld_stdmelding_key
|
||||
NUMBER(10) REFERENCES mld_stdmelding(mld_stdmelding_key) ON DELETE CASCADE
|
||||
);
|
||||
ALTER TABLE ins_srtdeel ADD
|
||||
(
|
||||
mld_stdmelding_key
|
||||
@@ -851,11 +864,11 @@ CREATE_TABLE(mld_discipline_discipline, 0) -- Kruistabel
|
||||
(
|
||||
mld_discipline_discipline_key
|
||||
NUMBER (10) PRIMARY KEY NOT NULL,
|
||||
mld_discipline_key1
|
||||
mld_discipline_key1 -- Vakgroep
|
||||
NUMBER(10)
|
||||
CONSTRAINT mld_k_mld_disc_disc_key1
|
||||
REFERENCES ins_tab_discipline(ins_discipline_key) NOT NULL,
|
||||
mld_discipline_key2
|
||||
mld_discipline_key2 -- Behandelteam
|
||||
NUMBER(10)
|
||||
CONSTRAINT mld_r_mld_disc_disc_key2
|
||||
REFERENCES ins_tab_discipline(ins_discipline_key) NOT NULL
|
||||
@@ -1200,6 +1213,10 @@ COMMENT ON COLUMN mld_workflowrule.mld_workflowrule_result IS '0 is failure/reje
|
||||
COMMENT ON COLUMN mld_melding.mld_workflowstep_key IS 'references the workflow step that this melding corresponds to';
|
||||
COMMENT ON COLUMN mld_melding.mld_melding_start_key IS 'references the initiating mld_melding if this is a workflow step';
|
||||
|
||||
ALTER TABLE fac_nieuws ADD
|
||||
mld_melding_key
|
||||
NUMBER(10) CONSTRAINT mld_r_mld_melding_key8 REFERENCES mld_melding(mld_melding_key) ON DELETE SET NULL;
|
||||
|
||||
|
||||
CREATE_TABLE(mld_opdr,0)
|
||||
(
|
||||
@@ -1461,7 +1478,7 @@ CREATE_TABLE(mld_kenmerk, 0)
|
||||
VARCHAR2(60)
|
||||
, mld_kenmerk_verplicht
|
||||
NUMBER(1)
|
||||
, mld_kenmerk_groep
|
||||
, mld_kenmerk_groep /* voor groepsverplichting als mld_kenmerk_verplicht=2 */
|
||||
NUMBER(1)
|
||||
DEFAULT 0 NOT NULL
|
||||
, mld_kenmerk_toonbaar
|
||||
@@ -1472,6 +1489,10 @@ CREATE_TABLE(mld_kenmerk, 0)
|
||||
, mld_kenmerk_volgnummer
|
||||
NUMBER(3)
|
||||
NOT NULL
|
||||
, mld_kenmerk_rolcode /* voor welke rol(len) is dit kenmerk */
|
||||
NUMBER(4)
|
||||
DEFAULT 7 /* default alles */
|
||||
NOT NULL
|
||||
, mld_kenmerk_uniek
|
||||
NUMBER(1)
|
||||
, mld_kenmerk_regexp
|
||||
|
||||
@@ -430,7 +430,7 @@ BEGIN
|
||||
NULL; -- stond hij al in de queue
|
||||
ELSIF :NEW.mld_opdr_teverzenden = 2 AND :NEW.mld_opdr_verzonden IS NULL
|
||||
THEN -- Zou hij vroeger in de fac_v_orderqueue herverschijnen
|
||||
-- ORDUPD tracking/notificatie
|
||||
-- ORDSND tracking/notificatie
|
||||
--mld.notifyopdrbedrijven (:new.mld_opdr_key, ptrackingkey => NULL); geeft trigger mutating
|
||||
FOR bedrijfrec
|
||||
IN (SELECT b.prs_bedrijf_key,
|
||||
@@ -454,7 +454,7 @@ BEGIN
|
||||
AND m.mld_alg_locatie_key = l2.alg_locatie_key(+)
|
||||
AND d.prs_afdeling_key = p.prs_afdeling_key
|
||||
AND p.prs_perslid_key = m.prs_perslid_key
|
||||
AND fac_srtnotificatie_code = 'ORDUPD') -- hardcoded ORDUPD, het gaat uiteindelijk vooral om de XMLnode 'opdracht' in putorders
|
||||
AND fac_srtnotificatie_code = 'ORDSND') -- hardcoded ORDSND, het gaat uiteindelijk vooral om de XMLnode 'opdracht' in putorders
|
||||
LOOP
|
||||
fac.notifybedrijf (pbedrijf_key => bedrijfrec.prs_bedrijf_key,
|
||||
pbedrijfadres_type => 'O',
|
||||
@@ -464,7 +464,8 @@ BEGIN
|
||||
preference => bedrijfrec.reference,
|
||||
ptypeopdr_key => :NEW.mld_typeopdr_key,
|
||||
plocatie_key => bedrijfrec.alg_locatie_key,
|
||||
pdisc_key => :NEW.mld_opdr_discipline_key,
|
||||
pdiscipline_key => :NEW.mld_opdr_discipline_key,
|
||||
pbedrijf_key2 => bedrijfrec.persoon_bedrijf_key,
|
||||
psender => bedrijfrec.alg_locatie_email);
|
||||
END LOOP;
|
||||
END IF;
|
||||
@@ -486,7 +487,7 @@ FOR EACH ROW
|
||||
BEGIN
|
||||
UPDATE_PRIMARY_KEY(mld_vrije_dagen_key, mld_s_mld_vrije_dagen_key);
|
||||
/* Haal het tijdgedeelte van de ingevoerde datum af. */
|
||||
:new.mld_vrije_dagen_datum := TRUNC_DATE(:new.mld_vrije_dagen_datum);
|
||||
:new.mld_vrije_dagen_datum := TRUNC(:new.mld_vrije_dagen_datum);
|
||||
END;
|
||||
/
|
||||
|
||||
@@ -1063,6 +1064,14 @@ BEGIN
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE_TRIGGER(mld_t_mld_discipline_discipline_B_I)
|
||||
BEFORE INSERT ON mld_discipline_discipline
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
UPDATE_PRIMARY_KEY(mld_discipline_discipline_key, mld_s_mld_disc_disc_key);
|
||||
END;
|
||||
/
|
||||
|
||||
REGISTERRUN('$Id$')
|
||||
|
||||
#endif // MLD
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
*/
|
||||
|
||||
/* uitvoertijd, duur en eenheid in uren (U) of dagen (D) */
|
||||
CREATE_TYPE (MLD_T_UITVOERTIJD)
|
||||
CREATE TYPE MLD_T_UITVOERTIJD
|
||||
AS
|
||||
OBJECT (tijdsduur NUMBER(12,5), eenheid VARCHAR2(1));
|
||||
/
|
||||
|
||||
@@ -850,6 +850,8 @@ CREATE_VIEW(mld_v_udr_melding, 1)
|
||||
accept_sla_optijd,
|
||||
uitvoering_sla_optijd,
|
||||
afspraak_sla_optijd,
|
||||
acceptatietijd_werkdgn,
|
||||
acceptatietijd_werkuren,
|
||||
selfservice,
|
||||
melding_tag,
|
||||
melding_tag_datum
|
||||
@@ -1010,6 +1012,10 @@ AS
|
||||
lcl.l ('lcl_no')
|
||||
END
|
||||
afspraak_sla_optijd,
|
||||
DECODE (x.t_acceptatietijd.eenheid, 'D', x.t_acceptatietijd.tijdsduur, NULL)
|
||||
acceptatietijd_werkdgn,
|
||||
DECODE (x.t_acceptatietijd.eenheid, 'U', x.t_acceptatietijd.tijdsduur, NULL)
|
||||
acceptatietijd_werkuren,
|
||||
DECODE(invoerder, melder, lcl.l ('lcl_yes'), lcl.l ('lcl_no')) selfservice,
|
||||
mld_melding_tag_naam,
|
||||
mld_melding_tag_datum_tot
|
||||
@@ -1162,6 +1168,7 @@ AS
|
||||
mld.getmeldingstatusdate (m.mld_melding_key, 1))
|
||||
accepted,
|
||||
mld.getactualuitvoer (m.mld_melding_key) t_doorlooptijd,
|
||||
mld.getactualaccept(m.mld_melding_key) t_acceptatietijd,
|
||||
m.mld_melding_onderwerp onderwerp,
|
||||
m.mld_melding_omschrijving omschrijving,
|
||||
m.mld_melding_opmerking opmerking,
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
CREATE_TABLE(prj_scenario, 0)
|
||||
(
|
||||
prj_scenario_key
|
||||
NUMBER(10) _IDENTITY(10000000,1)
|
||||
NUMBER(10)
|
||||
CONSTRAINT prj_k_prj_scenario_key PRIMARY KEY,
|
||||
prj_scenario_omschrijving
|
||||
VARCHAR2(30),
|
||||
@@ -42,7 +42,7 @@ CREATE_TABLE(prj_scenario, 0)
|
||||
CREATE_TABLE(prj_ruimte, 0)
|
||||
(
|
||||
prj_ruimte_key
|
||||
NUMBER(10) _IDENTITY(10000000,1)
|
||||
NUMBER(10)
|
||||
CONSTRAINT prj_k_prj_ruimte_key PRIMARY KEY,
|
||||
prj_scenario_key
|
||||
NUMBER(10)
|
||||
@@ -246,7 +246,7 @@ CREATE_TABLE(prj_deel, 0)
|
||||
CREATE_TABLE(prj_selectie, 0)
|
||||
(
|
||||
prj_selectie_key
|
||||
NUMBER(10) _IDENTITY(10000000,1)
|
||||
NUMBER(10)
|
||||
CONSTRAINT prj_k_prj_selectie_key PRIMARY KEY,
|
||||
prj_scenario_key
|
||||
NUMBER(10)
|
||||
@@ -270,7 +270,7 @@ CREATE_TABLE(prj_selectie, 0)
|
||||
CREATE_TABLE(prj_scenario_note, 0)
|
||||
(
|
||||
prj_scenario_note_key
|
||||
NUMBER(10) _IDENTITY(10000000,1)
|
||||
NUMBER(10)
|
||||
CONSTRAINT prj_k_prj_scenario_reamrk_key PRIMARY KEY,
|
||||
prj_scenario_key
|
||||
NUMBER(10)
|
||||
|
||||
@@ -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, ins_discipline_key, alg_locatie_key, alg_district_key, prs_bedrijf_key2, prs_bedrijfadres_startdatum);
|
||||
|
||||
CREATE INDEX prs_i_prs_perslid1 ON prs_perslid(prs_srtperslid_key);
|
||||
CREATE INDEX prs_i_prs_perslid2 ON prs_perslid(prs_afdeling_key);
|
||||
@@ -20,6 +20,7 @@ CREATE INDEX prs_i_prs_perslid6 ON prs_perslid(prs_perslid_nr);
|
||||
CREATE UNIQUE INDEX prs_i_prs_perslid7 ON prs_perslid(prs_perslid_apikey);
|
||||
CREATE INDEX prs_i_prs_perslid8 ON prs_perslid(prs_perslid_externid);
|
||||
CREATE UNIQUE INDEX prs_i_prs_bedrijfbedrijf1 ON prs_bedrijf_bedrijf(prs_bedrijf_key1, prs_bedrijf_key2);
|
||||
CREATE UNIQUE INDEX prs_i_prs_bedrijfadres_srtnoti1 ON prs_bedrijfadres_srtnoti(prs_bedrijfadres_key, fac_srtnotificatie_key);
|
||||
|
||||
CREATE INDEX prs_i_prscontactpersoon1 ON prs_contactpersoon(prs_bedrijf_key);
|
||||
CREATE INDEX prs_i_prscontactpersoon2 ON prs_contactpersoon(prs_perslid_key);
|
||||
|
||||
@@ -95,9 +95,6 @@ AS
|
||||
|
||||
PROCEDURE setpassword(pperslidkey IN NUMBER, pwachtwoord IN VARCHAR2);
|
||||
|
||||
FUNCTION testpassword(pperslidkey IN NUMBER, pwachtwoord IN VARCHAR2)
|
||||
RETURN NUMBER;
|
||||
|
||||
PROCEDURE upsertkenmerk (p_kenmerk_key IN NUMBER, p_prs_key IN NUMBER, p_waarde IN VARCHAR2);
|
||||
|
||||
PROCEDURE movetoruimte (p_prs_key IN NUMBER, p_ruimte_key IN NUMBER, p_alg_type IN VARCHAR2, p_virtual IN NUMBER DEFAULT 0);
|
||||
@@ -554,6 +551,8 @@ AS
|
||||
RETURN lnextfiatteur;
|
||||
END;
|
||||
|
||||
// Let op: Als pwachtwoord IS NULL wordt het wachtwoord gewist
|
||||
// Als pwachtwoord IS NOT NULL wordt een random(!!) wachtwoord ingesteld zodat de gebruik zelf 'wachtwoord vergeten' kan gaan doen
|
||||
PROCEDURE setpassword(pperslidkey IN NUMBER, pwachtwoord IN VARCHAR2)
|
||||
IS
|
||||
BEGIN
|
||||
@@ -570,37 +569,12 @@ AS
|
||||
SET prs_perslid_salt = DBMS_RANDOM.string ('a', 32)
|
||||
WHERE prs_perslid_key = pperslidkey;
|
||||
UPDATE prs_perslid
|
||||
SET prs_perslid_wachtwoord_hash = fac.makehash(prs_perslid_salt || pwachtwoord),
|
||||
prs_perslid_wachtwoord_exp = CASE WHEN fac.getsetting ('prs_password_expiration') > 0
|
||||
THEN SYSDATE + fac.getsetting ('prs_password_expiration')
|
||||
ELSE NULL
|
||||
END
|
||||
SET prs_perslid_wachtwoord_hash = DBMS_RANDOM.string ('a', 32), -- zodat wachtwoord vergeten mogelijk wordt
|
||||
prs_perslid_wachtwoord_exp = SYSDATE -- direct verlopen
|
||||
WHERE prs_perslid_key = pperslidkey;
|
||||
END IF;
|
||||
END;
|
||||
|
||||
FUNCTION testpassword(pperslidkey IN NUMBER, pwachtwoord IN VARCHAR2)
|
||||
RETURN NUMBER
|
||||
IS
|
||||
perslid_key prs_perslid.prs_perslid_key%TYPE;
|
||||
BEGIN
|
||||
IF pwachtwoord IS NULL
|
||||
THEN
|
||||
RETURN 0;
|
||||
END IF;
|
||||
BEGIN
|
||||
SELECT prs_perslid_key
|
||||
INTO perslid_key
|
||||
FROM prs_perslid
|
||||
WHERE fac.testhash(prs_perslid_wachtwoord_hash, prs_perslid_salt || pwachtwoord) = 1
|
||||
AND prs_perslid_key = pperslidkey;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN RETURN 0;
|
||||
END;
|
||||
RETURN 1;
|
||||
END;
|
||||
|
||||
-- Er wordt nu niet getrackt (wat eigenlijk niet zo goed is)
|
||||
PROCEDURE upsertkenmerk (p_kenmerk_key IN NUMBER,
|
||||
p_prs_key IN NUMBER,
|
||||
@@ -2404,10 +2378,10 @@ AS
|
||||
prs_perslid_apikey = recPersLid.prs_perslid_apikey
|
||||
WHERE prs_perslid_key = v_perslid_key;
|
||||
|
||||
IF recPersLid.prs_perslid_wachtwoord IS NOT NULL
|
||||
THEN
|
||||
IF recPersLid.prs_perslid_wachtwoord IS NOT NULL
|
||||
THEN
|
||||
prs.setpassword(v_perslid_key, recPersLid.prs_perslid_wachtwoord);
|
||||
END IF;
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
-- Voor CUST-postprocessing (van de kenmerken) is het handig te onthouden:
|
||||
|
||||
@@ -60,7 +60,7 @@ CREATE_TABLE(prs_bedrijf,0)
|
||||
prs_bedrijf_contact_fax
|
||||
VARCHAR2(20),
|
||||
prs_bedrijf_opmerking
|
||||
VARCHAR2(1000),
|
||||
VARCHAR2(4000),
|
||||
prs_bedrijf_opmerking2
|
||||
VARCHAR2(1000),
|
||||
prs_bedrijf_uurloon
|
||||
@@ -113,7 +113,9 @@ CREATE_TABLE(prs_bedrijf,0)
|
||||
CONSTRAINT prs_c_prs_bedrijf_contract CHECK(prs_bedrijf_contract IS NULL
|
||||
OR prs_bedrijf_contract = 1 ),
|
||||
prs_bedrijf_intern /* NULL=extern, 1=onderdeel van de eigen organisatie, 2=pseudo(systeem)bedrijf voor bedrijfadressen */
|
||||
NUMBER(1),
|
||||
NUMBER(1)
|
||||
CONSTRAINT prs_c_prs_bedrijf_intern CHECK(prs_bedrijf_intern IS NULL
|
||||
OR prs_bedrijf_intern IN (1,2)),
|
||||
prs_bedrijf_huurder /* is huurder */
|
||||
NUMBER(1)
|
||||
CONSTRAINT prs_c_prs_bedrijf_huurder CHECK(prs_bedrijf_huurder IS NULL
|
||||
@@ -232,6 +234,10 @@ CREATE_TABLE(prs_bedrijfadres, 0) (
|
||||
prs_bedrijfadres_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT prs_k_prs_bedrijfadres_key PRIMARY KEY,
|
||||
prs_bedrijfadres_template
|
||||
VARCHAR(128)
|
||||
DEFAULT 'generic'
|
||||
NOT NULL,
|
||||
prs_bedrijf_key -- opdrachtnemer
|
||||
NUMBER(10)
|
||||
CONSTRAINT prs_r_prs_bedrijf_key6 REFERENCES prs_bedrijf(prs_bedrijf_key) ON DELETE CASCADE,
|
||||
@@ -758,6 +764,10 @@ CREATE_TABLE(prs_perslid,0)
|
||||
NUMBER(1)
|
||||
DEFAULT 0
|
||||
NOT NULL,
|
||||
prs_perslid_errorhandling -- 0=200 on API1 error, 1=400 on error
|
||||
NUMBER (10)
|
||||
DEFAULT 1
|
||||
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),
|
||||
@@ -1138,6 +1148,9 @@ CREATE_TABLE(prs_kenmerk,0)
|
||||
,prs_kenmerk_volgnr
|
||||
NUMBER(3)
|
||||
NOT NULL
|
||||
,prs_kenmerk_rolcode
|
||||
NUMBER(4)
|
||||
DEFAULT 7 NOT NULL
|
||||
,prs_kenmerk_omschrijving
|
||||
VARCHAR2(50)
|
||||
,prs_kenmerk_upper
|
||||
|
||||
@@ -500,6 +500,45 @@ BEGIN
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE_TRIGGER(prs_t_prs_bedrijfadres_A_I)
|
||||
AFTER INSERT ON prs_bedrijfadres
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
CASE :new.prs_bedrijfadres_type
|
||||
WHEN 'C' THEN
|
||||
INSERT INTO prs_bedrijfadres_srtnoti
|
||||
(prs_bedrijfadres_key, fac_srtnotificatie_key)
|
||||
SELECT :new.prs_bedrijfadres_key,
|
||||
fac_srtnotificatie_key
|
||||
FROM fac_srtnotificatie
|
||||
WHERE fac_srtnotificatie_code = 'CNTNEW';
|
||||
WHEN 'O' THEN
|
||||
INSERT INTO prs_bedrijfadres_srtnoti
|
||||
(prs_bedrijfadres_key, fac_srtnotificatie_key)
|
||||
SELECT :new.prs_bedrijfadres_key,
|
||||
fac_srtnotificatie_key
|
||||
FROM fac_srtnotificatie
|
||||
WHERE fac_srtnotificatie_code IN ('ORDNEW', 'ORDSND');
|
||||
WHEN 'B' THEN
|
||||
INSERT INTO prs_bedrijfadres_srtnoti
|
||||
(prs_bedrijfadres_key, fac_srtnotificatie_key)
|
||||
SELECT :new.prs_bedrijfadres_key,
|
||||
fac_srtnotificatie_key
|
||||
FROM fac_srtnotificatie
|
||||
WHERE fac_srtnotificatie_code = 'BES2NE';
|
||||
WHEN 'R' THEN
|
||||
INSERT INTO prs_bedrijfadres_srtnoti
|
||||
(prs_bedrijfadres_key, fac_srtnotificatie_key)
|
||||
SELECT :new.prs_bedrijfadres_key,
|
||||
fac_srtnotificatie_key
|
||||
FROM fac_srtnotificatie
|
||||
WHERE fac_srtnotificatie_code = 'RESSND';
|
||||
ELSE -- V=Voorraadinfo, N=Notificatie, E=ERP (Mareon)
|
||||
NULL;
|
||||
END CASE;
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE_TRIGGER(prs_t_prs_bedrijfadres_srtnoti_B_I)
|
||||
BEFORE INSERT ON prs_bedrijfadres_srtnoti
|
||||
FOR EACH ROW
|
||||
|
||||
169
RES/RES_PAC.SRC
169
RES/RES_PAC.SRC
@@ -42,7 +42,7 @@ CREATE OR REPLACE PACKAGE res AS
|
||||
FUNCTION notifypool (pbez_bezoeker_key IN NUMBER, pcode IN VARCHAR2) RETURN NUMBER;
|
||||
PROCEDURE notifybackoffice (prsvkey IN NUMBER, pcode IN VARCHAR2, ptype IN VARCHAR2 DEFAULT NULL, pkey IN NUMBER DEFAULT NULL);
|
||||
PROCEDURE remove(p_rsv_ruimte_key IN NUMBER);
|
||||
PROCEDURE notifyreserveringbedrijven (prsvkey NUMBER, ptrackingkey NUMBER);
|
||||
PROCEDURE notifyreserveringbedrijven (prsvkey NUMBER, ptrackingkey NUMBER, pnotidelay NUMBER DEFAULT NULL);
|
||||
|
||||
END res;
|
||||
/
|
||||
@@ -209,6 +209,7 @@ AS
|
||||
new_ruimte_van DATE;
|
||||
new_ruimte_tot DATE;
|
||||
bez_parkingdiscipline_key NUMBER;
|
||||
min_res_rsv_artikel_key res_rsv_artikel.res_rsv_artikel_key%TYPE;
|
||||
BEGIN
|
||||
SELECT *
|
||||
INTO rsv_from
|
||||
@@ -361,8 +362,8 @@ AS
|
||||
prsv_ruimte_key_to,
|
||||
ra.res_rsv_deel_prijs,
|
||||
2, -- ingevoerd
|
||||
TRUNC (rsv_to.res_rsv_ruimte_van) + (ra.res_rsv_deel_van - TRUNC (rsv_from.res_rsv_ruimte_van)),
|
||||
TRUNC (rsv_to.res_rsv_ruimte_van) + (ra.res_rsv_deel_tot - TRUNC (rsv_from.res_rsv_ruimte_tot))
|
||||
TRUNC (rsv_to.res_rsv_ruimte_van) + (ra.res_rsv_deel_van - TRUNC (rsv_from.res_rsv_ruimte_van)), -- reservering van rsv_deel kan afwijken van rsv_ruimte
|
||||
TRUNC (rsv_to.res_rsv_ruimte_tot) + (ra.res_rsv_deel_tot - TRUNC (rsv_from.res_rsv_ruimte_tot))
|
||||
FROM res_rsv_deel ra, res_deel rd
|
||||
WHERE ra.res_rsv_ruimte_key = prsv_ruimte_key_from
|
||||
AND ra.res_deel_key = rd.res_deel_key
|
||||
@@ -434,63 +435,86 @@ AS
|
||||
-- Artikel is al toegevoegd indien catering is aangevinkt.
|
||||
-- De kenmerken van de oude en nieuwe reserveringen zijn exact hetzelfde met dezelfde kenmerk keys enz.
|
||||
-- De kenmerken van de oude en nieuwe reservering in dezelfde volgorde zetten en dan de waarden overnemen.
|
||||
INSERT INTO res_kenmerkartikel (res_rsv_artikel_key,
|
||||
res_kenmerk_key,
|
||||
res_kenmerkartikel_waarde)
|
||||
SELECT newkenmerk.res_rsv_artikel_key,
|
||||
newkenmerk.res_kenmerk_key,
|
||||
oldkenmerk.res_kenmerkartikel_waarde
|
||||
FROM (SELECT ka.res_rsv_artikel_key,
|
||||
ka.res_kenmerk_key,
|
||||
ka.res_kenmerkartikel_waarde,
|
||||
ra.res_artikel_key,
|
||||
ROW_NUMBER()
|
||||
OVER(ORDER BY
|
||||
rra.res_rsv_artikel_key,
|
||||
k.res_kenmerk_key)
|
||||
AS RN
|
||||
FROM res_kenmerkartikel ka,
|
||||
res_kenmerk k,
|
||||
res_srtkenmerk sk,
|
||||
res_rsv_ruimte rr,
|
||||
res_rsv_artikel rra,
|
||||
res_artikel ra
|
||||
WHERE ka.res_kenmerk_key = k.res_kenmerk_key
|
||||
AND k.res_srtkenmerk_key = sk.res_srtkenmerk_key
|
||||
AND (k.res_artikel_key = rra.res_artikel_key
|
||||
OR k.res_discipline_key = ra.res_discipline_key)
|
||||
AND ra.res_artikel_key = rra.res_artikel_key
|
||||
AND ka.res_rsv_artikel_key = rra.res_rsv_artikel_key
|
||||
AND rra.res_rsv_ruimte_key = rr.res_rsv_ruimte_key
|
||||
--AND k.res_activiteit_key IS NULL -- Niet nodig: Als res_activiteit_key gevuld is dan is res_kenmerk_niveau 'A'.
|
||||
AND k.res_kenmerk_niveau IN ('C', 'D')
|
||||
AND k.res_kenmerk_volgnummer < 900
|
||||
AND k.res_kenmerk_verwijder IS NULL
|
||||
AND ka.res_kenmerkartikel_verwijder IS NULL
|
||||
AND sk.res_srtkenmerk_kenmerktype NOT IN ('F', 'M', 'E')
|
||||
AND rr.res_rsv_ruimte_key = prsv_ruimte_key_from) oldkenmerk,
|
||||
(SELECT rra.res_rsv_artikel_key,
|
||||
k.res_kenmerk_key,
|
||||
ra.res_artikel_key,
|
||||
ROW_NUMBER()
|
||||
OVER(ORDER BY
|
||||
rra.res_rsv_artikel_key,
|
||||
k.res_kenmerk_key)
|
||||
AS rn
|
||||
FROM res_rsv_ruimte rr,
|
||||
res_rsv_artikel rra,
|
||||
res_artikel ra,
|
||||
res_kenmerk k
|
||||
WHERE rra.res_rsv_ruimte_key = rr.res_rsv_ruimte_key
|
||||
AND (k.res_artikel_key = rra.res_artikel_key
|
||||
OR k.res_discipline_key = ra.res_discipline_key)
|
||||
AND ra.res_artikel_key = rra.res_artikel_key
|
||||
AND rr.res_rsv_ruimte_key = prsv_ruimte_key_to) newkenmerk
|
||||
WHERE oldkenmerk.rn = newkenmerk.rn
|
||||
AND oldkenmerk.res_kenmerk_key = newkenmerk.res_kenmerk_key
|
||||
AND oldkenmerk.res_artikel_key = newkenmerk.res_artikel_key
|
||||
ORDER BY newkenmerk.res_rsv_artikel_key,
|
||||
newkenmerk.res_kenmerk_key;
|
||||
|
||||
-- Een artikel kan vaker voorkomen met een andere waarde van zijn kenmerk.
|
||||
-- In dat geval kunnen de kenmerken niet rechtstreeks gematched worden. Een "oud" res_rsv_artikel_key kan dan gematched worden aan meerdere "nieuwe" res_rsv_artikel_key's.
|
||||
-- We doorlopen dan elk "oud" res_rsv_artikel_key met zijn kenmerk afzonderlijk en kiezen dan <20><>n van de vrije "nieuwe" res_rsv_artikel_key's (MIN).
|
||||
-- Aan het eind zijn dan alle "oud" res_rsv_artikel_key's gebonden aan een nieuw res_rsv_artikel_key. Met een query kan het niet in <20><>n keer opgelost worden.
|
||||
FOR kenmerkartikelrec
|
||||
IN
|
||||
(SELECT oldkenmerk.res_rsv_artikel_key,
|
||||
newkenmerk.res_kenmerk_key,
|
||||
oldkenmerk.res_kenmerkartikel_waarde,
|
||||
oldkenmerk.res_artikel_key
|
||||
FROM (SELECT ka.res_rsv_artikel_key,
|
||||
ka.res_kenmerk_key,
|
||||
ka.res_kenmerkartikel_waarde,
|
||||
ra.res_artikel_key,
|
||||
k.res_srtkenmerk_key
|
||||
FROM res_kenmerkartikel ka,
|
||||
res_kenmerk k,
|
||||
res_srtkenmerk sk,
|
||||
res_rsv_ruimte rr,
|
||||
res_rsv_artikel rra,
|
||||
res_artikel ra
|
||||
WHERE ka.res_kenmerk_key = k.res_kenmerk_key
|
||||
AND k.res_srtkenmerk_key = sk.res_srtkenmerk_key
|
||||
AND (k.res_artikel_key = rra.res_artikel_key
|
||||
OR k.res_discipline_key = ra.res_discipline_key)
|
||||
AND ra.res_artikel_key = rra.res_artikel_key
|
||||
AND ka.res_rsv_artikel_key = rra.res_rsv_artikel_key
|
||||
AND rra.res_rsv_ruimte_key = rr.res_rsv_ruimte_key
|
||||
--AND k.res_activiteit_key IS NULL -- Niet nodig: Als res_activiteit_key gevuld is dan is res_kenmerk_niveau 'A'.
|
||||
AND k.res_kenmerk_niveau IN ('C', 'D')
|
||||
AND BITAND(k.res_kenmerk_rolcode, 7) <> 4 -- Backofficekenmerken niet (100)
|
||||
AND k.res_kenmerk_verwijder IS NULL
|
||||
AND ka.res_kenmerkartikel_verwijder IS NULL
|
||||
AND sk.res_srtkenmerk_kenmerktype NOT IN ('F', 'M', 'E')
|
||||
AND rr.res_rsv_ruimte_key = prsv_ruimte_key_from) oldkenmerk,
|
||||
(SELECT rra.res_rsv_artikel_key,
|
||||
k.res_kenmerk_key,
|
||||
ra.res_artikel_key,
|
||||
k.res_srtkenmerk_key
|
||||
FROM res_rsv_ruimte rr,
|
||||
res_rsv_artikel rra,
|
||||
res_artikel ra,
|
||||
res_kenmerk k
|
||||
WHERE rra.res_rsv_ruimte_key = rr.res_rsv_ruimte_key
|
||||
AND (k.res_artikel_key = rra.res_artikel_key
|
||||
OR k.res_discipline_key = ra.res_discipline_key)
|
||||
AND ra.res_artikel_key = rra.res_artikel_key
|
||||
AND rr.res_rsv_ruimte_key = prsv_ruimte_key_to) newkenmerk
|
||||
WHERE oldkenmerk.res_kenmerk_key = newkenmerk.res_kenmerk_key
|
||||
AND oldkenmerk.res_srtkenmerk_key = newkenmerk.res_srtkenmerk_key
|
||||
AND oldkenmerk.res_artikel_key = newkenmerk.res_artikel_key
|
||||
GROUP BY oldkenmerk.res_rsv_artikel_key,
|
||||
newkenmerk.res_kenmerk_key,
|
||||
oldkenmerk.res_kenmerkartikel_waarde,
|
||||
oldkenmerk.res_artikel_key
|
||||
ORDER BY oldkenmerk.res_rsv_artikel_key,
|
||||
newkenmerk.res_kenmerk_key)
|
||||
LOOP
|
||||
SELECT MIN(rra.res_rsv_artikel_key)
|
||||
INTO min_res_rsv_artikel_key
|
||||
FROM res_rsv_artikel rra,
|
||||
res_rsv_ruimte rr
|
||||
WHERE rra.res_rsv_ruimte_key = rr.res_rsv_ruimte_key
|
||||
AND rr.res_rsv_ruimte_key = prsv_ruimte_key_to
|
||||
AND res_artikel_key = kenmerkartikelrec.res_artikel_key
|
||||
-- De res_rsv_artikel_key's die bezet zijn uitsluiten. Welke res_kenmerkartikel_waarde is ingevuld maakt niets uit.
|
||||
AND NOT EXISTS
|
||||
(SELECT res_kenmerkartikel_key
|
||||
FROM res_kenmerkartikel
|
||||
WHERE res_rsv_artikel_key = rra.res_rsv_artikel_key
|
||||
AND res_kenmerk_key = kenmerkartikelrec.res_kenmerk_key);
|
||||
|
||||
INSERT INTO res_kenmerkartikel (res_rsv_artikel_key,
|
||||
res_kenmerk_key,
|
||||
res_kenmerkartikel_waarde)
|
||||
VALUES (min_res_rsv_artikel_key,
|
||||
kenmerkartikelrec.res_kenmerk_key,
|
||||
kenmerkartikelrec.res_kenmerkartikel_waarde);
|
||||
END LOOP;
|
||||
END IF;
|
||||
END IF;
|
||||
-- 512 Bezoekers
|
||||
@@ -546,7 +570,7 @@ AS
|
||||
) waarde_from
|
||||
WHERE k.res_activiteit_key = r.res_activiteit_key
|
||||
AND k.res_kenmerk_niveau = 'A'
|
||||
AND k.res_kenmerk_volgnummer < 900
|
||||
AND BITAND(k.res_kenmerk_rolcode, 7) <> 4 -- Backofficekenmerken niet
|
||||
AND k.res_kenmerk_verwijder IS NULL
|
||||
AND s.res_srtkenmerk_verwijder IS NULL
|
||||
AND k.res_srtkenmerk_key = s.res_srtkenmerk_key
|
||||
@@ -1196,6 +1220,8 @@ AS
|
||||
AND rr.res_rsv_ruimte_key = ra.res_rsv_ruimte_key
|
||||
AND ra.res_artikel_key = a.res_artikel_key
|
||||
AND sao.res_srtartikel_og_verwijder IS NULL
|
||||
AND ra.res_rsv_artikel_levering BETWEEN COALESCE(sao.res_srtartikel_og_ingangsdatum, a.res_artikel_ingangsdatum, TRUNC(ra.res_rsv_artikel_levering))
|
||||
AND COALESCE(sao.res_srtartikel_og_vervaldatum, a.res_artikel_vervaldatum, TRUNC(ra.res_rsv_artikel_levering)+1)
|
||||
AND rg.alg_ruimte_key IS NOT NULL
|
||||
AND rar.res_alg_ruimte_verwijder IS NULL -- Het kan ook een koppelruimte zijn die uit meerdere ruimten bestaat
|
||||
AND ra.res_rsv_artikel_key = pres_rsv_artikel_key
|
||||
@@ -2552,18 +2578,25 @@ AS
|
||||
END;
|
||||
|
||||
PROCEDURE notifyreserveringbedrijven (prsvkey NUMBER,
|
||||
ptrackingkey NUMBER)
|
||||
ptrackingkey NUMBER,
|
||||
pnotidelay NUMBER DEFAULT NULL)
|
||||
AS
|
||||
BEGIN
|
||||
FOR bedrijfrec
|
||||
-- JGL: Vooralsnog geen ondersteuning van technische adressen per discipline
|
||||
-- Dat wordt te ingewikkeld omdat onderstaande loop dan per discipline fac.notifybedrijf
|
||||
-- gaat aanroepen waardoor je altijd een notificatie per catalogus krijgt wat je misschien helemaal niet wilt
|
||||
IN (SELECT b.prs_bedrijf_key,
|
||||
l.alg_locatie_key,
|
||||
CASE WHEN b.prs_bedrijf_key = resbedrijf.prs_bedrijf_key THEN 'R' ELSE 'G' END bedrijfadres_type,
|
||||
rrr.res_reservering_key || '/' || rrr.res_rsv_ruimte_volgnr reference
|
||||
rrr.res_reservering_key || '/' || rrr.res_rsv_ruimte_volgnr reference,
|
||||
d.prs_bedrijf_key persoon_bedrijf_key -- van de melder, niet de uitvoerende
|
||||
FROM prs_bedrijf b,
|
||||
res_rsv_ruimte rrr,
|
||||
alg_locatie l,
|
||||
alg_v_ruimte_gegevens_all ruimte_geg,
|
||||
prs_perslid p,
|
||||
prs_v_afdeling d,
|
||||
( SELECT res_ruimte_opstel_key,
|
||||
rr.res_ruimte_key,
|
||||
MIN (alg_ruimte_key) alg_ruimte_key
|
||||
@@ -2578,11 +2611,13 @@ AS
|
||||
AND rra.res_artikel_key = ra.res_artikel_key
|
||||
GROUP BY res_rsv_ruimte_key) resbedrijf
|
||||
WHERE rrr.res_rsv_ruimte_key = prsvkey
|
||||
AND resbedrijf.res_rsv_ruimte_key = prsvkey
|
||||
AND resbedrijf.res_rsv_ruimte_key(+) = rrr.res_rsv_ruimte_key -- outer join voor 'G'enerieke notificaties zonder catering
|
||||
AND rrr.res_ruimte_opstel_key = opstelalg.res_ruimte_opstel_key(+)
|
||||
AND ruimte_geg.alg_ruimte_key = COALESCE (rrr.alg_ruimte_key, opstelalg.alg_ruimte_key)
|
||||
AND ruimte_geg.alg_locatie_key = l.alg_locatie_key
|
||||
AND ( b.prs_bedrijf_key = resbedrijf.prs_bedrijf_key -- type 'R'
|
||||
AND d.prs_afdeling_key = p.prs_afdeling_key
|
||||
AND p.prs_perslid_key = rrr.res_rsv_ruimte_host_key
|
||||
AND ( b.prs_bedrijf_key = resbedrijf.prs_bedrijf_key -- type 'R', alleen als er catering bij zit
|
||||
OR EXISTS
|
||||
(SELECT 1
|
||||
FROM prs_bedrijfadres ba
|
||||
@@ -2595,7 +2630,9 @@ AS
|
||||
prefkey => prsvkey,
|
||||
ptrackingkey => ptrackingkey,
|
||||
preference => bedrijfrec.reference,
|
||||
plocatie_key => bedrijfrec.alg_locatie_key);
|
||||
plocatie_key => bedrijfrec.alg_locatie_key,
|
||||
pbedrijf_key2 => bedrijfrec.persoon_bedrijf_key,
|
||||
pnotidelay => pnotidelay);
|
||||
END LOOP;
|
||||
END;
|
||||
END res;
|
||||
|
||||
@@ -141,6 +141,8 @@ CREATE_TABLE(res_ruimte,0)
|
||||
DEFAULT 0
|
||||
NOT NULL
|
||||
CONSTRAINT res_c_res_ruimte_cv CHECK(res_ruimte_cv IN (0,1)),
|
||||
res_ruimte_limiet /* Optional overrule of Setting res_reservering_limiet (days) */
|
||||
NUMBER(3),
|
||||
CONSTRAINT res_u_res_ruimte_upper UNIQUE(res_ruimte_upper, res_ruimte_verwijder)
|
||||
);
|
||||
|
||||
@@ -867,6 +869,9 @@ CREATE_TABLE(res_kenmerk, 0)
|
||||
, res_kenmerk_volgnummer
|
||||
NUMBER(3)
|
||||
NOT NULL
|
||||
, res_kenmerk_rolcode
|
||||
NUMBER(4)
|
||||
DEFAULT 7 NOT NULL
|
||||
, res_kenmerk_default
|
||||
VARCHAR2(4000)
|
||||
, res_kenmerk_show_expr
|
||||
@@ -958,6 +963,10 @@ CREATE_TABLE(res_srtartikel_onrgoed, 0)
|
||||
, res_srtartikel_og_verwijder
|
||||
DATE
|
||||
DEFAULT NULLDATUM
|
||||
, res_srtartikel_og_ingangsdatum
|
||||
DATE
|
||||
, res_srtartikel_og_vervaldatum
|
||||
DATE
|
||||
, CONSTRAINT res_c_alg_onrgoed_key UNIQUE(alg_onrgoed_key, alg_onrgoed_niveau, res_discipline_key, res_srtartikel_og_verwijder)
|
||||
);
|
||||
|
||||
|
||||
@@ -31,6 +31,21 @@ AUDIT_VALUE(res_ruimte, res_ruimte_intprijs_dag)
|
||||
AUDIT_VALUE(res_ruimte, res_ruimte_vervaldatum)
|
||||
AUDIT_END()
|
||||
|
||||
AUDIT_BEGIN(res_artikel)
|
||||
AUDIT_VALUE(res_artikel, res_discipline_key)
|
||||
AUDIT_VALUE(res_artikel, res_artikel_prijs)
|
||||
AUDIT_VALUE(res_artikel, res_artikel_prijs_vast)
|
||||
AUDIT_VALUE(res_artikel, res_artikel_inkoopprijs)
|
||||
AUDIT_VALUE(res_artikel, res_artikel_kostenpersoneel)
|
||||
AUDIT_VALUE(res_artikel, res_artikel_kostenalgemeen)
|
||||
AUDIT_VALUE(res_artikel, res_artikel_btw)
|
||||
AUDIT_END()
|
||||
|
||||
AUDIT_BEGIN(res_deel)
|
||||
AUDIT_VALUE(res_deel, res_discipline_key)
|
||||
AUDIT_VALUE(res_deel, res_deel_prijs)
|
||||
AUDIT_VALUE(res_deel, res_deel_prijs_vast)
|
||||
AUDIT_END()
|
||||
|
||||
CREATE_TRIGGER(res_t_res_disc_params_b_iu)
|
||||
BEFORE INSERT OR UPDATE ON res_disc_params
|
||||
|
||||
454
RES/RES_VIE.SRC
454
RES/RES_VIE.SRC
@@ -369,8 +369,12 @@ AND ins_discipline_min_level IN (1,2,3,4);
|
||||
CREATE_VIEW(res_v_srtartikel_onrgoed, 0)
|
||||
( alg_ruimte_key,
|
||||
res_discipline_key,
|
||||
alg_onrgoed_niveau) AS
|
||||
SELECT ra.alg_ruimte_key, res_discipline_key, alg_onrgoed_niveau
|
||||
alg_onrgoed_niveau,
|
||||
alg_onrgoed_ingangsdatum,
|
||||
alg_onrgoed_vervaldatum
|
||||
) AS
|
||||
SELECT ra.alg_ruimte_key, og.res_discipline_key, og.alg_onrgoed_niveau
|
||||
, og.res_srtartikel_og_ingangsdatum, og.res_srtartikel_og_vervaldatum
|
||||
FROM res_srtartikel_onrgoed og,
|
||||
alg_ruimte ra,
|
||||
alg_verdieping rv,
|
||||
@@ -379,23 +383,110 @@ CREATE_VIEW(res_v_srtartikel_onrgoed, 0)
|
||||
AND ra.alg_verdieping_key = rv.alg_verdieping_key
|
||||
AND rv.alg_gebouw_key = rg.alg_gebouw_key
|
||||
AND og.alg_onrgoed_niveau = 'L'
|
||||
AND res_srtartikel_og_verwijder IS NULL
|
||||
AND alg_ruimte_key IS NOT NULL
|
||||
AND og.res_srtartikel_og_verwijder IS NULL
|
||||
AND ra.alg_ruimte_key IS NOT NULL
|
||||
UNION
|
||||
SELECT ra.alg_ruimte_key, res_discipline_key, alg_onrgoed_niveau
|
||||
SELECT ra.alg_ruimte_key, og.res_discipline_key, og.alg_onrgoed_niveau
|
||||
, og.res_srtartikel_og_ingangsdatum, og.res_srtartikel_og_vervaldatum
|
||||
FROM res_srtartikel_onrgoed og, alg_ruimte ra, alg_verdieping rv
|
||||
WHERE og.alg_onrgoed_key = rv.alg_gebouw_key
|
||||
AND ra.alg_verdieping_key = rv.alg_verdieping_key
|
||||
AND og.alg_onrgoed_niveau = 'G'
|
||||
AND res_srtartikel_og_verwijder IS NULL
|
||||
AND alg_ruimte_key IS NOT NULL
|
||||
AND og.res_srtartikel_og_verwijder IS NULL
|
||||
AND ra.alg_ruimte_key IS NOT NULL
|
||||
UNION
|
||||
SELECT ra.alg_ruimte_key, res_discipline_key, alg_onrgoed_niveau
|
||||
SELECT ra.alg_ruimte_key, og.res_discipline_key, og.alg_onrgoed_niveau
|
||||
, og.res_srtartikel_og_ingangsdatum, og.res_srtartikel_og_vervaldatum
|
||||
FROM res_srtartikel_onrgoed og, alg_ruimte ra
|
||||
WHERE og.alg_onrgoed_key = ra.alg_ruimte_key
|
||||
AND og.alg_onrgoed_niveau = 'R'
|
||||
AND res_srtartikel_og_verwijder IS NULL
|
||||
AND alg_ruimte_key IS NOT NULL;
|
||||
AND og.res_srtartikel_og_verwijder IS NULL
|
||||
AND ra.alg_ruimte_key IS NOT NULL;
|
||||
|
||||
CREATE_VIEW(res_v_srtartikel_onrgoed_scope, 0)
|
||||
AS
|
||||
WITH onrgoed AS
|
||||
(SELECT alg_onroerendgoed_keys
|
||||
, alg_ruimte_key
|
||||
, alg_verdieping_key
|
||||
, alg_gebouw_key
|
||||
, alg_locatie_key
|
||||
FROM alg_v_allonroerendgoed
|
||||
WHERE alg_type = 'R'
|
||||
)
|
||||
, scope AS
|
||||
(SELECT ar.alg_onroerendgoed_keys
|
||||
, so.res_discipline_key
|
||||
, 'R' alg_onrgoed_niveau
|
||||
, ar.alg_ruimte_key AS alg_onrgoed_key
|
||||
, so.res_srtartikel_og_ingangsdatum
|
||||
, so.res_srtartikel_og_vervaldatum
|
||||
, so.res_srtartikel_og_verwijder
|
||||
FROM onrgoed ar
|
||||
, res_srtartikel_onrgoed so
|
||||
WHERE so.alg_onrgoed_niveau = 'R'
|
||||
AND so.alg_onrgoed_key = ar.alg_ruimte_key
|
||||
UNION ALL
|
||||
SELECT ar.alg_onroerendgoed_keys
|
||||
, so.res_discipline_key
|
||||
, 'V'
|
||||
, ar.alg_verdieping_key
|
||||
, so.res_srtartikel_og_ingangsdatum
|
||||
, so.res_srtartikel_og_vervaldatum
|
||||
, so.res_srtartikel_og_verwijder
|
||||
FROM onrgoed ar
|
||||
, res_srtartikel_onrgoed so
|
||||
WHERE so.alg_onrgoed_niveau = 'V'
|
||||
AND so.alg_onrgoed_key = ar.alg_verdieping_key
|
||||
UNION ALL
|
||||
SELECT ar.alg_onroerendgoed_keys
|
||||
, so.res_discipline_key
|
||||
, 'G'
|
||||
, ar.alg_gebouw_key
|
||||
, so.res_srtartikel_og_ingangsdatum
|
||||
, so.res_srtartikel_og_vervaldatum
|
||||
, so.res_srtartikel_og_verwijder
|
||||
FROM onrgoed ar
|
||||
, res_srtartikel_onrgoed so
|
||||
WHERE so.alg_onrgoed_niveau = 'G'
|
||||
AND so.alg_onrgoed_key = ar.alg_gebouw_key
|
||||
UNION ALL
|
||||
SELECT ar.alg_onroerendgoed_keys
|
||||
, so.res_discipline_key
|
||||
, 'L'
|
||||
, ar.alg_locatie_key
|
||||
, so.res_srtartikel_og_ingangsdatum
|
||||
, so.res_srtartikel_og_vervaldatum
|
||||
, so.res_srtartikel_og_verwijder
|
||||
FROM onrgoed ar
|
||||
, res_srtartikel_onrgoed so
|
||||
WHERE so.alg_onrgoed_niveau = 'L'
|
||||
AND so.alg_onrgoed_key = ar.alg_locatie_key
|
||||
)
|
||||
, ranked AS
|
||||
(SELECT scope.*
|
||||
, ROW_NUMBER() OVER
|
||||
(PARTITION BY scope.alg_onroerendgoed_keys
|
||||
, scope.res_discipline_key
|
||||
ORDER BY CASE scope.alg_onrgoed_niveau
|
||||
WHEN 'R' THEN 1
|
||||
WHEN 'V' THEN 2
|
||||
WHEN 'G' THEN 3
|
||||
WHEN 'L' THEN 4
|
||||
END
|
||||
) AS rank_nr
|
||||
FROM scope
|
||||
)
|
||||
SELECT alg_onroerendgoed_keys
|
||||
, res_discipline_key
|
||||
, alg_onrgoed_niveau
|
||||
, alg_onrgoed_key
|
||||
, res_srtartikel_og_ingangsdatum
|
||||
, res_srtartikel_og_vervaldatum
|
||||
, res_srtartikel_og_verwijder
|
||||
FROM ranked
|
||||
WHERE rank_nr = 1;
|
||||
|
||||
|
||||
CREATE_VIEW(fac_v_my_res_rooms, 0) AS
|
||||
SELECT res_ruimte_key,
|
||||
@@ -672,6 +763,8 @@ CREATE_VIEW(res_v_udr_reservering, 1)
|
||||
bezoekers,
|
||||
van,
|
||||
tot,
|
||||
localized_van,
|
||||
localized_tot,
|
||||
duur,
|
||||
status,
|
||||
bostatus,
|
||||
@@ -681,8 +774,7 @@ CREATE_VIEW(res_v_udr_reservering, 1)
|
||||
opmerking,
|
||||
visibility,
|
||||
ruimte_prijs,
|
||||
ruimte_korting,
|
||||
ruimte_totaal
|
||||
ruimte_korting
|
||||
)
|
||||
AS
|
||||
SELECT rrr.res_rsv_ruimte_key,
|
||||
@@ -746,79 +838,15 @@ AS
|
||||
a.prs_afdeling_key,
|
||||
a.prs_afdeling_naam,
|
||||
a.prs_afdeling_omschrijving,
|
||||
(SELECT rg.alg_regio_omschrijving
|
||||
FROM alg_regio rg,
|
||||
alg_district d,
|
||||
alg_locatie l,
|
||||
alg_gebouw g,
|
||||
alg_verdieping v,
|
||||
alg_ruimte r
|
||||
WHERE rg.alg_regio_key = d.alg_regio_key
|
||||
AND d.alg_district_key = l.alg_district_key
|
||||
AND 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_ruimte_key = r2a.alg_ruimte_key),
|
||||
(SELECT d.alg_district_omschrijving
|
||||
FROM alg_district d,
|
||||
alg_locatie l,
|
||||
alg_gebouw g,
|
||||
alg_verdieping v,
|
||||
alg_ruimte r
|
||||
WHERE d.alg_district_key = l.alg_district_key
|
||||
AND 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_ruimte_key = r2a.alg_ruimte_key),
|
||||
(SELECT l.alg_locatie_key
|
||||
FROM alg_locatie l,
|
||||
alg_gebouw g,
|
||||
alg_verdieping v,
|
||||
alg_ruimte r
|
||||
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_ruimte_key = r2a.alg_ruimte_key),
|
||||
(SELECT alg_locatie_code
|
||||
FROM alg_locatie l,
|
||||
alg_gebouw g,
|
||||
alg_verdieping v,
|
||||
alg_ruimte r
|
||||
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_ruimte_key = r2a.alg_ruimte_key),
|
||||
(SELECT alg_locatie_omschrijving
|
||||
FROM alg_locatie l,
|
||||
alg_gebouw g,
|
||||
alg_verdieping v,
|
||||
alg_ruimte r
|
||||
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_ruimte_key = r2a.alg_ruimte_key),
|
||||
(SELECT alg_locatie_plaats
|
||||
FROM alg_locatie l,
|
||||
alg_gebouw g,
|
||||
alg_verdieping v,
|
||||
alg_ruimte r
|
||||
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_ruimte_key = r2a.alg_ruimte_key),
|
||||
(SELECT alg_gebouw_code
|
||||
FROM alg_gebouw g, alg_verdieping v, alg_ruimte r
|
||||
WHERE g.alg_gebouw_key = v.alg_gebouw_key
|
||||
AND v.alg_verdieping_key = r.alg_verdieping_key
|
||||
AND r.alg_ruimte_key = r2a.alg_ruimte_key),
|
||||
(SELECT v.alg_gebouw_key
|
||||
FROM alg_verdieping v, alg_ruimte r
|
||||
WHERE v.alg_verdieping_key = r.alg_verdieping_key
|
||||
AND r.alg_ruimte_key = r2a.alg_ruimte_key),
|
||||
(SELECT alg_verdieping_code
|
||||
FROM alg_verdieping v, alg_ruimte r
|
||||
WHERE v.alg_verdieping_key = r.alg_verdieping_key
|
||||
AND r.alg_ruimte_key = r2a.alg_ruimte_key),
|
||||
rg.alg_regio_omschrijving,
|
||||
d.alg_district_omschrijving,
|
||||
l.alg_locatie_key,
|
||||
l.alg_locatie_code,
|
||||
l.alg_locatie_omschrijving,
|
||||
l.alg_locatie_plaats,
|
||||
g.alg_gebouw_code,
|
||||
g.alg_gebouw_key,
|
||||
v.alg_verdieping_code,
|
||||
r2a.ruimte_nr,
|
||||
r2a.opstelling,
|
||||
r2a.capaciteit,
|
||||
@@ -847,6 +875,20 @@ AS
|
||||
rrr.res_rsv_ruimte_bezoekers,
|
||||
rrr.res_rsv_ruimte_van,
|
||||
rrr.res_rsv_ruimte_tot,
|
||||
(SELECT CAST (
|
||||
FROM_TZ (CAST (rrr.res_rsv_ruimte_van AS TIMESTAMP),
|
||||
fac.getsetting ('fac_server_timezone'))
|
||||
AT TIME ZONE COALESCE (l.alg_locatie_timezone,
|
||||
fac.getsetting ('fac_server_timezone'))
|
||||
AS DATE)
|
||||
FROM DUAL),
|
||||
(SELECT CAST (
|
||||
FROM_TZ (CAST (rrr.res_rsv_ruimte_tot AS TIMESTAMP),
|
||||
fac.getsetting ('fac_server_timezone'))
|
||||
AT TIME ZONE COALESCE (l.alg_locatie_timezone,
|
||||
fac.getsetting ('fac_server_timezone'))
|
||||
AS DATE)
|
||||
FROM DUAL),
|
||||
COALESCE ( (rrr.res_rsv_ruimte_tot - rrr.res_rsv_ruimte_van) * 24, 0),
|
||||
(SELECT res_status_fo_omschrijving
|
||||
FROM res_status_fo rs
|
||||
@@ -859,9 +901,8 @@ AS
|
||||
rsa.res_srtactiviteit_omschrijving,
|
||||
rrr.res_rsv_ruimte_opmerking,
|
||||
rrr.res_rsv_ruimte_visibility,
|
||||
rrr.res_rsv_ruimte_prijs,
|
||||
rrr.res_rsv_ruimte_korting,
|
||||
rrr.res_rsv_ruimte_totaal
|
||||
res.getruimteprijs(rrr.res_rsv_ruimte_key),
|
||||
rrr.res_rsv_ruimte_korting
|
||||
FROM res_v_aanwezigrsv_ruimte rrr,
|
||||
res_activiteit ra,
|
||||
res_srtactiviteit rsa,
|
||||
@@ -894,9 +935,21 @@ AS
|
||||
rrr.alg_ruimte_key,
|
||||
r.alg_ruimte_nr
|
||||
FROM res_rsv_ruimte rrr, alg_ruimte r
|
||||
WHERE rrr.alg_ruimte_key IS NOT NULL AND r.alg_ruimte_key = rrr.alg_ruimte_key) r2a
|
||||
WHERE rrr.alg_ruimte_key IS NOT NULL AND r.alg_ruimte_key = rrr.alg_ruimte_key) r2a,
|
||||
alg_ruimte r,
|
||||
alg_verdieping v,
|
||||
alg_gebouw g,
|
||||
alg_locatie l,
|
||||
alg_district d,
|
||||
alg_regio rg
|
||||
WHERE rrr.res_reservering_key = res.res_reservering_key
|
||||
AND rrr.res_rsv_ruimte_key = r2a.res_rsv_ruimte_key(+)
|
||||
AND r2a.alg_ruimte_key = r.alg_ruimte_key(+)
|
||||
AND r.alg_verdieping_key = v.alg_verdieping_key(+)
|
||||
AND v.alg_gebouw_key = g.alg_gebouw_key(+)
|
||||
AND g.alg_locatie_key = l.alg_locatie_key(+)
|
||||
AND l.alg_district_key = d.alg_district_key(+)
|
||||
AND d.alg_regio_key = rg.alg_regio_key(+)
|
||||
AND rrr.prs_kostenplaats_key = k.prs_kostenplaats_key(+)
|
||||
AND rrr.res_activiteit_key = ra.res_activiteit_key
|
||||
AND ra.res_srtactiviteit_key = rsa.res_srtactiviteit_key
|
||||
@@ -952,6 +1005,8 @@ CREATE_VIEW(res_v_udr_reserveringincl, 1)
|
||||
bezoekers,
|
||||
van,
|
||||
tot,
|
||||
localized_van,
|
||||
localized_tot,
|
||||
duur,
|
||||
status,
|
||||
bostatus,
|
||||
@@ -1044,75 +1099,14 @@ AS
|
||||
a.prs_afdeling_key,
|
||||
a.prs_afdeling_naam,
|
||||
a.prs_afdeling_omschrijving,
|
||||
(SELECT rg.alg_regio_omschrijving
|
||||
FROM alg_regio rg,
|
||||
alg_district d,
|
||||
alg_locatie l,
|
||||
alg_gebouw g,
|
||||
alg_verdieping v,
|
||||
alg_ruimte r
|
||||
WHERE rg.alg_regio_key = d.alg_regio_key
|
||||
AND d.alg_district_key = l.alg_district_key
|
||||
AND 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_ruimte_key = r2a.alg_ruimte_key),
|
||||
(SELECT d.alg_district_omschrijving
|
||||
FROM alg_district d,
|
||||
alg_locatie l,
|
||||
alg_gebouw g,
|
||||
alg_verdieping v,
|
||||
alg_ruimte r
|
||||
WHERE d.alg_district_key = l.alg_district_key
|
||||
AND 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_ruimte_key = r2a.alg_ruimte_key),
|
||||
(SELECT l.alg_locatie_key
|
||||
FROM alg_locatie l,
|
||||
alg_gebouw g,
|
||||
alg_verdieping v,
|
||||
alg_ruimte r
|
||||
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_ruimte_key = r2a.alg_ruimte_key),
|
||||
(SELECT alg_locatie_code
|
||||
FROM alg_locatie l,
|
||||
alg_gebouw g,
|
||||
alg_verdieping v,
|
||||
alg_ruimte r
|
||||
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_ruimte_key = r2a.alg_ruimte_key),
|
||||
(SELECT alg_locatie_omschrijving
|
||||
FROM alg_locatie l,
|
||||
alg_gebouw g,
|
||||
alg_verdieping v,
|
||||
alg_ruimte r
|
||||
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_ruimte_key = r2a.alg_ruimte_key),
|
||||
(SELECT alg_locatie_plaats
|
||||
FROM alg_locatie l,
|
||||
alg_gebouw g,
|
||||
alg_verdieping v,
|
||||
alg_ruimte r
|
||||
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_ruimte_key = r2a.alg_ruimte_key),
|
||||
(SELECT alg_gebouw_code
|
||||
FROM alg_gebouw g, alg_verdieping v, alg_ruimte r
|
||||
WHERE g.alg_gebouw_key = v.alg_gebouw_key
|
||||
AND v.alg_verdieping_key = r.alg_verdieping_key
|
||||
AND r.alg_ruimte_key = r2a.alg_ruimte_key),
|
||||
(SELECT alg_verdieping_code
|
||||
FROM alg_verdieping v, alg_ruimte r
|
||||
WHERE v.alg_verdieping_key = r.alg_verdieping_key
|
||||
AND r.alg_ruimte_key = r2a.alg_ruimte_key),
|
||||
rg.alg_regio_omschrijving,
|
||||
d.alg_district_omschrijving,
|
||||
l.alg_locatie_key,
|
||||
l.alg_locatie_code,
|
||||
l.alg_locatie_omschrijving,
|
||||
l.alg_locatie_plaats,
|
||||
g.alg_gebouw_code,
|
||||
v.alg_verdieping_code,
|
||||
r2a.ruimte_nr,
|
||||
r2a.opstelling,
|
||||
r2a.capaciteit,
|
||||
@@ -1143,6 +1137,20 @@ AS
|
||||
rrr.res_rsv_ruimte_bezoekers,
|
||||
rrr.res_rsv_ruimte_van,
|
||||
rrr.res_rsv_ruimte_tot,
|
||||
(SELECT CAST (
|
||||
FROM_TZ (CAST (rrr.res_rsv_ruimte_van AS TIMESTAMP),
|
||||
fac.getsetting ('fac_server_timezone'))
|
||||
AT TIME ZONE COALESCE (l.alg_locatie_timezone,
|
||||
fac.getsetting ('fac_server_timezone'))
|
||||
AS DATE)
|
||||
FROM DUAL),
|
||||
(SELECT CAST (
|
||||
FROM_TZ (CAST (rrr.res_rsv_ruimte_tot AS TIMESTAMP),
|
||||
fac.getsetting ('fac_server_timezone'))
|
||||
AT TIME ZONE COALESCE (l.alg_locatie_timezone,
|
||||
fac.getsetting ('fac_server_timezone'))
|
||||
AS DATE)
|
||||
FROM DUAL),
|
||||
COALESCE ( (rrr.res_rsv_ruimte_tot - rrr.res_rsv_ruimte_van) * 24, 0),
|
||||
(SELECT res_status_fo_omschrijving
|
||||
FROM res_status_fo rs
|
||||
@@ -1245,9 +1253,21 @@ AS
|
||||
'consumable' vtype
|
||||
FROM res_v_aanwezigrsv_artikel rra, res_artikel ra, ins_tab_discipline c
|
||||
WHERE rra.res_artikel_key = ra.res_artikel_key
|
||||
AND ra.res_discipline_key = c.ins_discipline_key) voorz
|
||||
AND ra.res_discipline_key = c.ins_discipline_key) voorz,
|
||||
alg_ruimte r,
|
||||
alg_verdieping v,
|
||||
alg_gebouw g,
|
||||
alg_locatie l,
|
||||
alg_district d,
|
||||
alg_regio rg
|
||||
WHERE rrr.res_reservering_key = res.res_reservering_key
|
||||
AND rrr.res_rsv_ruimte_key = r2a.res_rsv_ruimte_key(+)
|
||||
AND r2a.alg_ruimte_key = r.alg_ruimte_key(+)
|
||||
AND r.alg_verdieping_key = v.alg_verdieping_key(+)
|
||||
AND v.alg_gebouw_key = g.alg_gebouw_key(+)
|
||||
AND g.alg_locatie_key = l.alg_locatie_key(+)
|
||||
AND l.alg_district_key = d.alg_district_key(+)
|
||||
AND d.alg_regio_key = rg.alg_regio_key(+)
|
||||
AND rrr.prs_kostenplaats_key = k.prs_kostenplaats_key(+)
|
||||
AND rrr.res_rsv_ruimte_key = voorz.res_rsv_ruimte_key(+)
|
||||
AND rrr.res_activiteit_key = ra.res_activiteit_key
|
||||
@@ -1259,5 +1279,121 @@ AS
|
||||
AND (rrr.res_ruimte_opstel_key IS NOT NULL OR voorz.res_rsv_ruimte_key IS NOT NULL)
|
||||
AND rrr.res_rsv_ruimte_van >= TO_DATE ('01-01-2010', 'DD-MM-YYYY');
|
||||
|
||||
-- Om een goede bezettingsgraad te kunnen leveren zijn onderstaande views gegenereerd
|
||||
-- Deze houdt rekening met werkplekreserveringen in een ruimte, en telt dan het aantal bezettingen
|
||||
-- Alles op basis van reserveringen. BIj INS gebeurt iets vergelijkbaars obv sensorinfo.
|
||||
-- De performance is een risico omdat er per ruimte/werkplek (max, als 24x7) 13.000 halfuurbuckets
|
||||
-- worden bepaald. We moeten dus nog gaan zien of we deze standaard gaan tonen, wellicht na een vinkje.
|
||||
-- Maar dan zijn ze als voorbeeld (en toets/beloning op inrichting cf. richtlijnen) beschikbaar.
|
||||
/*
|
||||
-- Desk-reserveringen (werkplekken) via 30-minuut-buckets:
|
||||
-- 1) res_v_desk_reservation_buckets:
|
||||
-- Genereer alle 30-min-buckets voor sysdate-90 tot sysdate binnen kantoortijden
|
||||
-- (ma-vr, geen feestdagen). Breek alle werkplekreserveringen op in deze buckets.
|
||||
-- OUTPUT: alg_ruimte_key, bucket_start, reserved_count (aantal werkplekken gereserveerd).
|
||||
--
|
||||
-- 2) res_v_desk_reservation_stats:
|
||||
-- Toon per bucket en ruimte het aantal werkplekreserveringen.
|
||||
--
|
||||
-- 3) res_v_desk_reservation_kpis:
|
||||
-- KPI<50>s per ruimte:
|
||||
-- total_reserved_hours_desk = som(reserved_count <20> 0.5u)
|
||||
-- avg_reserved_count = gem. aantal gelijktijdige desk-reserveringen
|
||||
-- peak_reserved_count = max gelijktijdige desk-reserveringen
|
||||
*/
|
||||
|
||||
CREATE_VIEW(res_v_desk_reservation_buckets, 0)
|
||||
AS
|
||||
WITH
|
||||
intervals
|
||||
AS
|
||||
( SELECT TRUNC (SYSDATE - 90) + NUMTODSINTERVAL ((ROWNUM - 1) * 30, 'MINUTE') AS bucket_start
|
||||
FROM DUAL
|
||||
CONNECT BY ROWNUM <= ((SYSDATE - (SYSDATE - 90)) * 24 * 60 / 30)),
|
||||
valid_buckets
|
||||
AS
|
||||
(SELECT bucket_start
|
||||
FROM intervals
|
||||
WHERE (TO_NUMBER (TO_CHAR (bucket_start, 'HH24')) + TO_NUMBER (TO_CHAR (bucket_start, 'MI')) / 60) BETWEEN fac.getsetting ('fac_t_startofworkday')
|
||||
AND fac.getsetting ('fac_t_endofworkday')
|
||||
AND TO_CHAR (bucket_start, 'DY', 'NLS_DATE_LANGUAGE=ENGLISH') NOT IN ('SAT', 'SUN')
|
||||
AND TRUNC (bucket_start) NOT IN (SELECT mld_vrije_dagen_datum FROM mld_vrije_dagen)),
|
||||
desk_res
|
||||
AS
|
||||
(SELECT r.alg_ruimte_key AS alg_ruimte_key, rd.res_rsv_deel_van AS start_dt, rd.res_rsv_deel_tot AS end_dt
|
||||
FROM res_rsv_ruimte r
|
||||
JOIN res_rsv_deel rd ON rd.res_rsv_ruimte_key = r.res_rsv_ruimte_key
|
||||
JOIN res_deel d ON d.res_deel_key = rd.res_deel_key
|
||||
JOIN res_discipline dis ON dis.ins_discipline_key = d.res_discipline_key
|
||||
WHERE r.res_rsv_ruimte_dirtlevel = 0
|
||||
AND r.res_status_fo_key IN (1, 2)
|
||||
AND r.res_ruimte_opstel_key IS NULL
|
||||
AND r.res_rsv_ruimte_verwijder IS NULL
|
||||
AND dis.ins_discipline_min_level = 5
|
||||
AND rd.res_rsv_deel_van < SYSDATE
|
||||
AND rd.res_rsv_deel_tot > SYSDATE - 90),
|
||||
bucket_assign
|
||||
AS
|
||||
(SELECT vb.bucket_start, dr.alg_ruimte_key
|
||||
FROM valid_buckets vb JOIN desk_res dr ON dr.start_dt < vb.bucket_start + INTERVAL '30' MINUTE AND dr.end_dt > vb.bucket_start)
|
||||
SELECT alg_ruimte_key, bucket_start, COUNT (*) AS reserved_count
|
||||
FROM bucket_assign
|
||||
GROUP BY alg_ruimte_key, bucket_start;
|
||||
|
||||
CREATE_VIEW(res_v_desk_reservation_stats, 0)
|
||||
AS
|
||||
SELECT rdb.alg_ruimte_key, rdb.bucket_start, rdb.reserved_count
|
||||
FROM res_v_desk_reservation_buckets rdb;
|
||||
|
||||
CREATE_VIEW(res_v_desk_reservation_kpis, 0)
|
||||
AS
|
||||
SELECT alg_ruimte_key
|
||||
, SUM (reserved_count * 0.5) AS total_reserved_hours_desk
|
||||
, ROUND (AVG (reserved_count), 1) AS avg_reserved_count_desk
|
||||
, MAX (reserved_count) AS peak_reserved_count_desk
|
||||
FROM res_v_desk_reservation_stats
|
||||
GROUP BY alg_ruimte_key;
|
||||
|
||||
/*
|
||||
-- Kamerreserveringen (ruimtes) via eenvoudige KPI-berekening:
|
||||
-- 4) res_v_room_simple_kpis:
|
||||
-- Direct berekening per ruimte:<br>-- total_reserved_hours_room = som uren binnen kantoortijden</br>
|
||||
-- avg_reservation_duration_hours (uren, 1 decimaal)
|
||||
-- max_reservation_duration_hours
|
||||
-- Hierbij worden reserveringstijden per record afgeknipt met GREATEST/LEAST
|
||||
*/
|
||||
|
||||
CREATE_VIEW(res_v_room_simple_kpis, 0)
|
||||
AS
|
||||
SELECT rar.alg_ruimte_key
|
||||
AS alg_ruimte_key
|
||||
, SUM (
|
||||
LEAST (r.res_rsv_ruimte_tot, TRUNC (r.res_rsv_ruimte_van) + NUMTODSINTERVAL (fac.getsetting ('fac_t_endofworkday'), 'HOUR'))
|
||||
- GREATEST (r.res_rsv_ruimte_van, TRUNC (r.res_rsv_ruimte_van) + NUMTODSINTERVAL (fac.getsetting ('fac_t_startofworkday'), 'HOUR')))
|
||||
* 24
|
||||
AS total_reserved_hours_room
|
||||
, -- gemiddelde reserveringsduur in uren (1 decimaal)
|
||||
ROUND (
|
||||
AVG (
|
||||
( LEAST (r.res_rsv_ruimte_tot, TRUNC (r.res_rsv_ruimte_van) + NUMTODSINTERVAL (fac.getsetting ('fac_t_endofworkday'), 'HOUR'))
|
||||
- GREATEST (r.res_rsv_ruimte_van, TRUNC (r.res_rsv_ruimte_van) + NUMTODSINTERVAL (fac.getsetting ('fac_t_startofworkday'), 'HOUR')))
|
||||
* 24)
|
||||
, 1)
|
||||
AS avg_reservation_duration_hours
|
||||
, -- gemiddelde aantal personen per reservering
|
||||
ROUND (AVG (COALESCE (r.res_rsv_ruimte_bezoekers_shown, r.res_rsv_ruimte_bezoekers)), 1)
|
||||
AS avg_persons_per_reservation
|
||||
FROM res_rsv_ruimte r
|
||||
JOIN res_ruimte_opstelling ro ON ro.res_ruimte_opstel_key = r.res_ruimte_opstel_key
|
||||
JOIN res_ruimte ru ON ru.res_ruimte_key = ro.res_ruimte_key
|
||||
JOIN res_alg_ruimte rar ON rar.res_ruimte_key = ru.res_ruimte_key
|
||||
WHERE r.res_rsv_ruimte_dirtlevel = 0
|
||||
AND r.res_status_fo_key IN (1, 2)
|
||||
AND r.res_rsv_ruimte_verwijder IS NULL
|
||||
AND r.res_rsv_ruimte_van < SYSDATE
|
||||
AND r.res_rsv_ruimte_tot > SYSDATE - 90
|
||||
GROUP BY rar.alg_ruimte_key;
|
||||
|
||||
|
||||
REGISTERRUN('$Id$')
|
||||
#endif // RES
|
||||
|
||||
@@ -23,9 +23,9 @@ CREATE_TABLE(web_user_messages, 0)
|
||||
VARCHAR2(512)
|
||||
CONSTRAINT web_c_web_mes_dsc NOT NULL,
|
||||
web_user_mess_action_soort
|
||||
CHAR(1),
|
||||
VARCHAR2(1),
|
||||
web_user_mess_action_status
|
||||
CHAR(1),
|
||||
VARCHAR2(1),
|
||||
web_user_mess_action_params
|
||||
VARCHAR2(255),
|
||||
web_user_mess_prioriteit
|
||||
|
||||
@@ -71,6 +71,14 @@ ALTER TABLE prs_bedrijfadres
|
||||
|
||||
ALTER TABLE prs_bedrijf DROP CONSTRAINT prs_c_prs_bedrijf_intern; // mag ook 2 zijn
|
||||
|
||||
ALTER PACKAGE fac COMPILE; // anders (mogelijk nog) invalid en lukt het volgende niet
|
||||
ALTER PACKAGE fac COMPILE BODY;
|
||||
|
||||
UPDATE prs_bedrijf
|
||||
SET prs_bedrijf_intern = 2, // is nu logischer
|
||||
prs_bedrijf_uitvoerende = NULL
|
||||
WHERE prs_bedrijf_naam = 'Aareon Facilitor Mobile app';
|
||||
|
||||
ALTER TABLE prs_contactpersoon
|
||||
ADD prs_contactpersoon_systeem
|
||||
NUMBER(1) DEFAULT 0 NOT NULL;
|
||||
@@ -109,6 +117,10 @@ DEF_FAC_SRTNOT('RESSND', 1, 'lcl_noti_RESSND', 'res/res_reservering.asp?rsv_ruim
|
||||
|
||||
DEF_MENUITEM(2, 'lcl_menu_prs_bedrijf_system' , '', 'FAC', 'appl/prs/prs_bedrijf_search.asp?intern=2', 0, 0, 'WEB_PRSSYS', 'W', '1', '');
|
||||
MENU_INS_AFTER('lcl_menu_prs_bedrijf_system', 'lcl_menu_fac_eigen_tabellen', 1);
|
||||
|
||||
DEF_MENUITEM(2, 'lcl_menu_system_adresses' , '', 'FAC', 'appl/mgt/prs_bedrijfadres.asp', 0, 0, 'WEB_PRSSYS', 'W', '1', '');
|
||||
MENU_INS_AFTER('lcl_menu_system_adresses', 'lcl_menu_prs_bedrijf_system', 1);
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#80469
|
||||
|
||||
|
||||
@@ -316,6 +328,12 @@ ALTER TABLE mld_typeopdr
|
||||
NUMBER(1)
|
||||
DEFAULT 0;
|
||||
|
||||
ALTER PACKAGE fac COMPILE; // anders (mogelijk nog) invalid en lukt het volgende niet
|
||||
ALTER PACKAGE fac COMPILE BODY;
|
||||
|
||||
UPDATE mld_typeopdr
|
||||
SET mld_typeopdr_confirm_for_send = fac.getsetting('mld_opdr_confirm_for_send');
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////// CARG#85437
|
||||
ALTER TABLE bes_disc_params
|
||||
ADD bes_disc_params_autodeliverdays
|
||||
@@ -337,6 +355,9 @@ UPDATE fac_setting
|
||||
ALTER TABLE prs_bedrijf DROP CONSTRAINT prs_u_prs_bedrijf_naam_upper DROP INDEX;
|
||||
ALTER TABLE prs_bedrijf ADD CONSTRAINT prs_u_prs_bedrijf_naam_upper UNIQUE(prs_bedrijf_naam_upper, prs_bedrijf_intern, prs_bedrijf_verwijder);
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////// WRTH#87857
|
||||
UPDATE fac_import_app SET fac_import_app_csv = 1 WHERE fac_import_app_code = 'CNT';
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#00000
|
||||
REGISTERONCE('$Id$')
|
||||
|
||||
|
||||
414
_UP/DB50to51.src
Normal file
414
_UP/DB50to51.src
Normal file
@@ -0,0 +1,414 @@
|
||||
/*
|
||||
* Update script van FACILITOR schema
|
||||
* $Revision$
|
||||
* $Id$
|
||||
*/
|
||||
#include "prologue.inc"
|
||||
|
||||
COMMIT;
|
||||
SET DEFINE OFF
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////// WRTH#87857
|
||||
UPDATE fac_import_app SET fac_import_app_csv = 1 WHERE fac_import_app_code = 'CNT';
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////// PCHX#86497
|
||||
ALTER TABLE cnt_disc_params /* Kostensoort verplicht {0=niet verplicht (default), 1=verplicht} */
|
||||
ADD cnt_disc_params_ksverplicht
|
||||
NUMBER(1)
|
||||
DEFAULT 0
|
||||
NOT NULL;
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////// SCHG#88197
|
||||
ALTER TABLE fac_imp_cnt
|
||||
DROP COLUMN scope;
|
||||
ALTER TABLE fac_imp_cnt
|
||||
DROP COLUMN gebouwcode;
|
||||
ALTER TABLE fac_imp_cnt
|
||||
ADD ( locatiecode VARCHAR2 (10)
|
||||
, terreincode VARCHAR2 (12)
|
||||
, gebouwcode VARCHAR2 (12)
|
||||
, verdiepingcode NUMBER (3)
|
||||
, ruimtecode VARCHAR2 (20)
|
||||
);
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////// BAMG#85636
|
||||
CREATE TABLE cnt_verlengschema
|
||||
(
|
||||
cnt_verlengschema_key
|
||||
NUMBER(10)
|
||||
PRIMARY KEY,
|
||||
cnt_contract_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT cnt_r_cnt_contract_key2 REFERENCES cnt_contract(cnt_contract_key),
|
||||
cnt_verlengschema_volgnr
|
||||
NUMBER(2),
|
||||
cnt_verlengschema_verlengtermijn
|
||||
NUMBER(10)
|
||||
CONSTRAINT cnt_r_cnt_termijn_key6 REFERENCES cnt_termijn(cnt_termijn_key)
|
||||
);
|
||||
CREATE SEQUENCE cnt_s_cnt_verlengschema_key MINVALUE 1;
|
||||
CREATE INDEX cnt_i_cnt_verlengschema ON cnt_verlengschema(cnt_contract_key);
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////// YASK#88648
|
||||
UPDATE fac_message
|
||||
SET fac_message_text = 'Het veld ''Code'' is niet uniek.'
|
||||
WHERE fac_message_code = 'PRS_U_PRS_AFDELING_UPPER';
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#84467
|
||||
ALTER TABLE mld_kenmerk ADD mld_kenmerk_rolcode NUMBER(4) DEFAULT 7 NOT NULL;
|
||||
UPDATE mld_kenmerk k
|
||||
SET mld_kenmerk_rolcode = 0;
|
||||
UPDATE mld_kenmerk k
|
||||
SET mld_kenmerk_rolcode = mld_kenmerk_rolcode + 1
|
||||
WHERE mld_kenmerk_volgnummer <= 800
|
||||
AND mld_kenmerk_niveau IN ('T', 'D', 'S', 'A');
|
||||
UPDATE mld_kenmerk k
|
||||
SET mld_kenmerk_rolcode = mld_kenmerk_rolcode + 2
|
||||
WHERE mld_kenmerk_volgnummer <= 900 -- ja ook die <=800
|
||||
AND mld_kenmerk_niveau IN ('T', 'D', 'S', 'A');
|
||||
UPDATE mld_kenmerk k
|
||||
SET mld_kenmerk_rolcode = mld_kenmerk_rolcode + 4 -- anders ziet BO de normale km niet
|
||||
WHERE mld_kenmerk_volgnummer <= 800 OR mld_kenmerk_volgnummer >= 900
|
||||
AND mld_kenmerk_niveau IN ('T', 'D', 'S', 'A');
|
||||
|
||||
UPDATE mld_kenmerk k
|
||||
SET mld_kenmerk_rolcode = mld_kenmerk_rolcode + 1
|
||||
WHERE mld_kenmerk_volgnummer <= 100
|
||||
AND mld_kenmerk_niveau IN ('O', 'P');
|
||||
UPDATE mld_kenmerk k
|
||||
SET mld_kenmerk_rolcode = mld_kenmerk_rolcode + 2
|
||||
WHERE mld_kenmerk_volgnummer <= 900
|
||||
AND mld_kenmerk_volgnummer >= 100
|
||||
AND mld_kenmerk_niveau IN ('O', 'P');
|
||||
UPDATE mld_kenmerk k
|
||||
SET mld_kenmerk_rolcode = mld_kenmerk_rolcode + 4
|
||||
WHERE mld_kenmerk_volgnummer >= 900
|
||||
AND mld_kenmerk_niveau IN ('O', 'P');
|
||||
|
||||
ALTER TABLE bes_kenmerk ADD bes_kenmerk_rolcode NUMBER(4) DEFAULT 7 NOT NULL;
|
||||
UPDATE bes_kenmerk k
|
||||
SET bes_kenmerk_rolcode = 0;
|
||||
UPDATE bes_kenmerk k
|
||||
SET bes_kenmerk_rolcode = bes_kenmerk_rolcode + 1
|
||||
WHERE bes_kenmerk_volgnummer <= 100
|
||||
AND bes_kenmerk_type IN ('B', 'I');
|
||||
UPDATE bes_kenmerk k
|
||||
SET bes_kenmerk_rolcode = bes_kenmerk_rolcode + 4
|
||||
WHERE bes_kenmerk_volgnummer >= 900
|
||||
AND bes_kenmerk_type IN ('B', 'I');
|
||||
|
||||
ALTER TABLE cnt_kenmerk ADD cnt_kenmerk_rolcode NUMBER(4) DEFAULT 7 NOT NULL;
|
||||
UPDATE cnt_kenmerk k
|
||||
SET cnt_kenmerk_rolcode = 0;
|
||||
UPDATE cnt_kenmerk k
|
||||
SET cnt_kenmerk_rolcode = 1
|
||||
WHERE cnt_kenmerk_volgnummer <= 100;
|
||||
UPDATE cnt_kenmerk k
|
||||
SET cnt_kenmerk_rolcode = cnt_kenmerk_rolcode + 2
|
||||
WHERE cnt_kenmerk_volgnummer >= 100;
|
||||
|
||||
ALTER TABLE ins_kenmerk ADD ins_kenmerk_rolcode NUMBER(4) DEFAULT 7 NOT NULL;
|
||||
UPDATE ins_kenmerk k
|
||||
SET ins_kenmerk_rolcode = 0;
|
||||
UPDATE ins_kenmerk k
|
||||
SET ins_kenmerk_rolcode = 1
|
||||
WHERE ins_kenmerk_volgnummer <= 100
|
||||
AND ins_kenmerk_niveau IN ('D', 'G', 'S');
|
||||
UPDATE ins_kenmerk k
|
||||
SET ins_kenmerk_rolcode = ins_kenmerk_rolcode + 2
|
||||
WHERE ins_kenmerk_volgnummer >= 100
|
||||
AND ins_kenmerk_volgnummer <= 900
|
||||
AND ins_kenmerk_niveau IN ('D', 'G', 'S');
|
||||
UPDATE ins_kenmerk k
|
||||
SET ins_kenmerk_rolcode = ins_kenmerk_rolcode + 4
|
||||
WHERE ins_kenmerk_volgnummer >= 900
|
||||
AND ins_kenmerk_niveau IN ('D', 'G', 'S');
|
||||
UPDATE ins_kenmerk k
|
||||
SET ins_kenmerk_rolcode = 1
|
||||
WHERE ins_kenmerk_volgnummer <= 100
|
||||
AND ins_kenmerk_niveau IN ('T', 'C', 'E');
|
||||
|
||||
ALTER TABLE res_kenmerk ADD res_kenmerk_rolcode NUMBER(4) DEFAULT 7 NOT NULL;
|
||||
UPDATE res_kenmerk k
|
||||
SET res_kenmerk_rolcode = 0;
|
||||
UPDATE res_kenmerk k
|
||||
SET res_kenmerk_rolcode = 1
|
||||
WHERE res_kenmerk_volgnummer <= 800;
|
||||
UPDATE res_kenmerk k
|
||||
SET res_kenmerk_rolcode = res_kenmerk_rolcode + 2
|
||||
WHERE res_kenmerk_volgnummer <= 900;
|
||||
UPDATE res_kenmerk k
|
||||
SET res_kenmerk_rolcode = res_kenmerk_rolcode + 4
|
||||
WHERE res_kenmerk_volgnummer <= 800
|
||||
OR res_kenmerk_volgnummer >= 900;
|
||||
|
||||
// Deze varianten hebben kenmerk_volgnr ipv kenmerk_volgnummer
|
||||
// (en tegelijkertijd geen verwijzing naar een kenmerksoort)
|
||||
ALTER TABLE alg_kenmerk ADD alg_kenmerk_rolcode NUMBER(4) DEFAULT 7 NOT NULL;
|
||||
UPDATE alg_kenmerk k
|
||||
SET alg_kenmerk_rolcode = 0;
|
||||
UPDATE alg_kenmerk k
|
||||
SET alg_kenmerk_rolcode = 1
|
||||
WHERE alg_kenmerk_volgnr <= 100;
|
||||
UPDATE alg_kenmerk k
|
||||
SET alg_kenmerk_rolcode = alg_kenmerk_rolcode + 2
|
||||
WHERE alg_kenmerk_volgnr >= 100;
|
||||
|
||||
ALTER TABLE bez_kenmerk ADD bez_kenmerk_rolcode NUMBER(4) DEFAULT 7 NOT NULL;
|
||||
UPDATE bez_kenmerk k
|
||||
SET bez_kenmerk_rolcode = 0;
|
||||
UPDATE bez_kenmerk k
|
||||
SET bez_kenmerk_rolcode = 3
|
||||
WHERE bez_kenmerk_volgnr <= 900;
|
||||
UPDATE bez_kenmerk k
|
||||
SET bez_kenmerk_rolcode = bez_kenmerk_rolcode + 4
|
||||
WHERE bez_kenmerk_volgnr >= 900;
|
||||
|
||||
ALTER TABLE fin_kenmerk ADD fin_kenmerk_rolcode NUMBER(4) DEFAULT 7 NOT NULL;
|
||||
UPDATE fin_kenmerk k
|
||||
SET fin_kenmerk_rolcode = 1;
|
||||
|
||||
ALTER TABLE faq_kenmerk ADD faq_kenmerk_rolcode NUMBER(4) DEFAULT 7 NOT NULL;
|
||||
UPDATE faq_kenmerk k
|
||||
SET faq_kenmerk_rolcode = 1;
|
||||
|
||||
ALTER TABLE prs_kenmerk ADD prs_kenmerk_rolcode NUMBER(4) DEFAULT 7 NOT NULL;
|
||||
UPDATE prs_kenmerk k
|
||||
SET prs_kenmerk_rolcode = 0;
|
||||
UPDATE prs_kenmerk k
|
||||
SET prs_kenmerk_rolcode = 1
|
||||
WHERE prs_kenmerk_volgnr <= 100;
|
||||
UPDATE prs_kenmerk k
|
||||
SET prs_kenmerk_rolcode = prs_kenmerk_rolcode + 2
|
||||
WHERE prs_kenmerk_volgnr >= 100;
|
||||
UPDATE prs_kenmerk k
|
||||
SET prs_kenmerk_rolcode = prs_kenmerk_rolcode + 4 -- Wijzigbaar met PROFIL
|
||||
WHERE prs_kenmerk_niveau <> 'C' AND prs_kenmerk_volgnr >= 800;
|
||||
UPDATE prs_kenmerk k
|
||||
SET prs_kenmerk_rolcode = prs_kenmerk_rolcode + 4 -- Wijzigbaar met EXTREL
|
||||
WHERE prs_kenmerk_niveau = 'C' AND BITAND (prs_kenmerk_rolcode, 4) = 0;
|
||||
UPDATE prs_kenmerk k
|
||||
SET prs_kenmerk_toonbaar = COALESCE (prs_kenmerk_toonbaar, 0) + 2 -- Zichtbaar in profiel
|
||||
WHERE prs_kenmerk_volgnr > 800
|
||||
AND prs_kenmerk_volgnr <= 900
|
||||
AND BITAND (COALESCE (prs_kenmerk_toonbaar, 0), 2) = 0;
|
||||
|
||||
ALTER TABLE fac_imp_flex ADD kenmerk_rolcode VARCHAR2(255);
|
||||
/*
|
||||
UPDATE ins_kenmerk k
|
||||
SET ins_kenmerk_omschrijving = (SELECT ins_srtkenmerk_omschrijving FROM ins_srtkenmerk sk WHERE sk.ins_srtkenmerk_key = k.ins_srtkenmerk_key)
|
||||
WHERE ins_kenmerk_omschrijving IS NULL;
|
||||
UPDATE mld_kenmerk k
|
||||
SET mld_kenmerk_omschrijving = (SELECT mld_srtkenmerk_omschrijving FROM mld_srtkenmerk sk WHERE sk.mld_srtkenmerk_key = k.mld_srtkenmerk_key)
|
||||
WHERE mld_kenmerk_omschrijving IS NULL;
|
||||
UPDATE res_kenmerk k
|
||||
SET res_kenmerk_omschrijving = (SELECT res_srtkenmerk_omschrijving FROM res_srtkenmerk sk WHERE sk.res_srtkenmerk_key = k.res_srtkenmerk_key)
|
||||
WHERE res_kenmerk_omschrijving IS NULL;
|
||||
UPDATE bes_kenmerk k
|
||||
SET bes_kenmerk_omschrijving = (SELECT bes_srtkenmerk_omschrijving FROM bes_srtkenmerk sk WHERE sk.bes_srtkenmerk_key = k.bes_srtkenmerk_key)
|
||||
WHERE bes_kenmerk_omschrijving IS NULL;
|
||||
UPDATE cnt_kenmerk k
|
||||
SET cnt_kenmerk_omschrijving = (SELECT cnt_srtkenmerk_omschrijving FROM cnt_srtkenmerk sk WHERE sk.cnt_srtkenmerk_key = k.cnt_srtkenmerk_key)
|
||||
WHERE cnt_kenmerk_omschrijving IS NULL;
|
||||
*/
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////// AAIT#87224
|
||||
ALTER TABLE prs_bedrijf MODIFY prs_bedrijf_opmerking VARCHAR2(4000);
|
||||
ALTER TABLE fac_imp_ext_bedrijf MODIFY prs_bedrijf_opmerking VARCHAR2(4000);
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#88353
|
||||
UPDATE prs_bedrijf SET prs_bedrijf_intern = NULL WHERE prs_bedrijf_intern = 0;
|
||||
ALTER TABLE prs_bedrijf
|
||||
ADD CONSTRAINT prs_c_prs_bedrijf_intern CHECK(prs_bedrijf_intern IS NULL OR prs_bedrijf_intern IN (1,2));
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////// LOGC#89125
|
||||
ALTER TABLE mld_melding_tag ADD mld_melding_tag_datum_acc DATE;
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#85585
|
||||
ALTER TABLE fac_email_setting
|
||||
ADD (mld_stdmelding_key NUMBER (10) REFERENCES mld_stdmelding (mld_stdmelding_key) ON DELETE CASCADE);
|
||||
ALTER TABLE fac_email_setting
|
||||
MODIFY fac_email_setting_attachpath VARCHAR2 (255) DEFAULT '*flexfilespath';
|
||||
ALTER TABLE fac_email_setting
|
||||
ADD fac_email_setting_text VARCHAR2 (320);
|
||||
|
||||
INSERT INTO fac_setting (fac_setting_module
|
||||
, fac_setting_flags
|
||||
, fac_functie_key
|
||||
, fac_setting_name
|
||||
, fac_setting_type
|
||||
, fac_setting_description)
|
||||
SELECT 'FAC'
|
||||
, 1
|
||||
, fac_functie_key
|
||||
, 'm2m_enabled'
|
||||
, 'number'
|
||||
, 'Is Facilitor Mail2Melding configured {0=disabled | 1=enabled}'
|
||||
FROM fac_functie
|
||||
WHERE fac_functie_code = 'WEB_FACFAC';
|
||||
-- Zet nieuwe setting m2m_enabled voor omgeving waar m2m in gebruik is
|
||||
DECLARE
|
||||
m2m NUMBER;
|
||||
BEGIN
|
||||
SELECT COUNT (*) INTO m2m FROM fac_email_setting;
|
||||
|
||||
IF m2m > 0
|
||||
THEN
|
||||
UPDATE fac_setting
|
||||
SET fac_setting_pvalue = '1'
|
||||
WHERE fac_setting_name = 'm2m_enabled';
|
||||
END IF;
|
||||
END;
|
||||
/
|
||||
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#88913
|
||||
DEF_FAC_SRTNOT('ORDSND', 0, 'lcl_noti_ORDSND', 'mld/mld_opdr.asp?opdr_key=', '0', 'opdracht', 60);
|
||||
|
||||
-- CNTNEW/ORDNEW/BES2NE aanmaken bij kanalen die nog naar geen enkele notificatie luisteren
|
||||
INSERT INTO prs_bedrijfadres_srtnoti (prs_bedrijfadres_key, fac_srtnotificatie_key)
|
||||
SELECT prs_bedrijfadres_key, fac_srtnotificatie_key
|
||||
FROM fac_srtnotificatie, prs_bedrijfadres ba
|
||||
WHERE fac_srtnotificatie_code = 'CNTNEW'
|
||||
AND prs_bedrijfadres_type = 'C'
|
||||
AND NOT EXISTS
|
||||
(SELECT 1
|
||||
FROM prs_bedrijfadres_srtnoti ba_srt
|
||||
WHERE ba_srt.prs_bedrijfadres_key = ba.prs_bedrijfadres_key);
|
||||
|
||||
INSERT INTO prs_bedrijfadres_srtnoti (prs_bedrijfadres_key, fac_srtnotificatie_key)
|
||||
SELECT prs_bedrijfadres_key, fac_srtnotificatie_key
|
||||
FROM fac_srtnotificatie, prs_bedrijfadres ba
|
||||
WHERE fac_srtnotificatie_code IN ('ORDNEW', 'ORDSND')
|
||||
AND prs_bedrijfadres_type = 'O'
|
||||
AND NOT EXISTS
|
||||
(SELECT 1
|
||||
FROM prs_bedrijfadres_srtnoti ba_srt
|
||||
WHERE ba_srt.prs_bedrijfadres_key = ba.prs_bedrijfadres_key);
|
||||
|
||||
INSERT INTO prs_bedrijfadres_srtnoti (prs_bedrijfadres_key, fac_srtnotificatie_key)
|
||||
SELECT prs_bedrijfadres_key, fac_srtnotificatie_key
|
||||
FROM fac_srtnotificatie, prs_bedrijfadres ba
|
||||
WHERE fac_srtnotificatie_code = 'BES2NE'
|
||||
AND prs_bedrijfadres_type = 'B'
|
||||
AND NOT EXISTS
|
||||
(SELECT 1
|
||||
FROM prs_bedrijfadres_srtnoti ba_srt
|
||||
WHERE ba_srt.prs_bedrijfadres_key = ba.prs_bedrijfadres_key);
|
||||
-- RESNEW luisterde al nooit automatisch
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#87091
|
||||
ALTER TABLE fac_nieuws ADD
|
||||
mld_melding_key
|
||||
NUMBER(10) CONSTRAINT mld_r_mld_melding_key8 REFERENCES mld_melding(mld_melding_key) ON DELETE SET NULL;
|
||||
|
||||
UPDATE fac_setting
|
||||
SET fac_setting_pvalue = fac_setting_pvalue || ',fa-megaphone'
|
||||
WHERE fac_setting_pvalue IS NOT NULL
|
||||
AND fac_setting_name = 'buttons_in_hamburger';
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#89182
|
||||
INSERT INTO fac_locale (fac_locale_lang,
|
||||
fac_locale_kolomkeyval,
|
||||
fac_locale_kolomnaam,
|
||||
fac_locale_tekst)
|
||||
SELECT 'EN',
|
||||
fac_usrrap_key,
|
||||
'FAC_USRRAP_OMSCHRIJVING',
|
||||
'UDR: Key management'
|
||||
FROM fac_usrrap
|
||||
WHERE fac_usrrap_view_name = 'ins_v_rap_sle_toegang'
|
||||
AND fac_usrrap_omschrijving = 'SLE: Sleuteloverzicht'
|
||||
AND fac_usrrap_info = 'Overzicht van sleutels en bezitters';
|
||||
|
||||
INSERT INTO fac_locale (fac_locale_lang,
|
||||
fac_locale_kolomkeyval,
|
||||
fac_locale_kolomnaam,
|
||||
fac_locale_tekst)
|
||||
SELECT 'EN',
|
||||
fac_usrrap_key,
|
||||
'FAC_USRRAP_INFO',
|
||||
'Basic report for key management'
|
||||
FROM fac_usrrap
|
||||
WHERE fac_usrrap_view_name = 'ins_v_rap_sle_toegang'
|
||||
AND fac_usrrap_omschrijving = 'SLE: Sleuteloverzicht'
|
||||
AND fac_usrrap_info = 'Overzicht van sleutels en bezitters';
|
||||
|
||||
UPDATE fac_usrrap
|
||||
SET fac_usrrap_omschrijving = 'UDR: Sleuteloverzicht',
|
||||
fac_usrrap_info = 'Basisrapport voor sleutels',
|
||||
fac_usrrap_groep = 'BASIS'
|
||||
WHERE fac_usrrap_view_name = 'ins_v_rap_sle_toegang'
|
||||
AND fac_usrrap_omschrijving = 'SLE: Sleuteloverzicht'
|
||||
AND fac_usrrap_info = 'Overzicht van sleutels en bezitters'
|
||||
AND fac_usrrap_groep IS NULL;
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////// FZKH#88777
|
||||
ALTER TABLE fac_activiteit DROP CONSTRAINT fac_c_fac_activiteit_eenheid;
|
||||
ALTER TABLE fac_activiteit
|
||||
ADD CONSTRAINT fac_c_fac_activiteit_eenheid CHECK (fac_activiteit_eenheid IN (1,2,3,4,5) OR fac_activiteit_eenheid IS NULL);
|
||||
|
||||
DEF_MENUITEM(1, 'lcl_menu_fac_jobs_templates_fo', '', 'MLD', 'appl/fac/job_search.asp?urole=fo&template=1', 0, 0, 'WEB_MLDFOF', 'W', '1', '');
|
||||
DEF_MENUITEM(2, 'lcl_menu_fac_jobs_templates', '', 'MLD', 'appl/fac/job_search.asp?template=1', 0, 0, 'WEB_MLDMGT', 'W', '1', '');
|
||||
MENU_INS_AFTER('lcl_menu_fac_jobs_templates', 'lcl_menu_mld_workflows', 1);
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////// FZKH#87243
|
||||
UPDATE mld_kenmerk k1
|
||||
SET k1.mld_kenmerk_inlijst = k1.mld_kenmerk_inlijst + 2
|
||||
WHERE k1.mld_kenmerk_key IN
|
||||
(SELECT k2.mld_kenmerk_key
|
||||
FROM mld_kenmerk k2, mld_srtkenmerk sk, fac_kenmerkdomein kd
|
||||
WHERE k2.mld_srtkenmerk_key = sk.mld_srtkenmerk_key
|
||||
AND sk.fac_kenmerkdomein_key = kd.fac_kenmerkdomein_key
|
||||
AND k2.mld_kenmerk_verwijder IS NULL
|
||||
AND sk.mld_srtkenmerk_verwijder IS NULL
|
||||
AND kd.fac_kenmerkdomein_verwijder IS NULL
|
||||
AND k2.mld_kenmerk_show_expr IS NULL
|
||||
AND k2.mld_kenmerk_toonbaar IS NULL
|
||||
AND k2.mld_kenmerk_niveau IN ('A',
|
||||
'T',
|
||||
'D',
|
||||
'S')
|
||||
AND sk.mld_srtkenmerk_kenmerktype IN ('r', 'R')
|
||||
AND NOT EXISTS
|
||||
(SELECT ''
|
||||
FROM fac_usrtab u1
|
||||
WHERE u1.fac_usrtab_parentkey IS NOT NULL
|
||||
AND u1.fac_usrtab_key = kd.fac_usrtab_key)
|
||||
AND NOT EXISTS
|
||||
(SELECT ''
|
||||
FROM fac_usrtab u1, fac_usrtab u2
|
||||
WHERE u2.fac_usrtab_parentkey =
|
||||
u1.fac_usrtab_key
|
||||
AND u1.fac_usrtab_key = kd.fac_usrtab_key));
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////// ALLR#80285
|
||||
ALTER TABLE res_ruimte
|
||||
ADD res_ruimte_limiet NUMBER (3);
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////// BLCC#88329
|
||||
ALTER TABLE cnt_disc_params
|
||||
ADD cnt_disc_params_approve_new NUMBER(1) DEFAULT 0 NOT NULL;
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////// VLKC#89252
|
||||
INSERT INTO fac_setting (fac_setting_module,
|
||||
fac_setting_name,
|
||||
fac_setting_type,
|
||||
fac_setting_description,
|
||||
fac_setting_default,
|
||||
fac_setting_pvalue)
|
||||
VALUES('MLD',
|
||||
'mld_pessismistisch_hergoedkeuren',
|
||||
'number',
|
||||
'Hergoedkeuren als de opdrachtkosten boven de bestellimiet, of boven de goedkeuringsvrijstelling komen {1=ja | 0=alleen als beiden waar zijn}',
|
||||
'0',
|
||||
(SELECT fac_setting_pvalue FROM fac_setting WHERE fac_setting_name = 'fac_reserved_number2'));
|
||||
|
||||
UPDATE fac_setting
|
||||
SET fac_setting_pvalue = ''
|
||||
WHERE fac_setting_name = 'fac_reserved_number2';
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#00000
|
||||
|
||||
|
||||
REGISTERONCE('$Id$')
|
||||
|
||||
#include "epilogue.inc"
|
||||
143
_UP/DB51to52.src
Normal file
143
_UP/DB51to52.src
Normal file
@@ -0,0 +1,143 @@
|
||||
/*
|
||||
* Update script van FACILITOR schema
|
||||
* $Revision$
|
||||
* $Id$
|
||||
*/
|
||||
#include "prologue.inc"
|
||||
|
||||
COMMIT;
|
||||
SET DEFINE OFF
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#89720
|
||||
BEGIN
|
||||
adm.trydrop('INDEX prs_i_prs_bedrijfadres2');
|
||||
END;
|
||||
/
|
||||
CREATE UNIQUE INDEX prs_i_prs_bedrijfadres2 ON prs_bedrijfadres(prs_bedrijf_key, prs_bedrijfadres_type, mld_typeopdr_key, ins_discipline_key, alg_locatie_key, alg_district_key, prs_bedrijf_key2, prs_bedrijfadres_startdatum);
|
||||
UPDATE fac_message
|
||||
SET fac_message_text = 'Combinatie bedrijf, discipline, locatie, opdrachttype, adrestype is niet uniek'
|
||||
WHERE fac_message_code = 'PRS_I_PRS_BEDRIJFADRES2';
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#90099
|
||||
BEGIN
|
||||
adm.tryalter('TABLE prs_bedrijf DROP CONSTRAINT prs_c_prs_bedrijf_intern');
|
||||
END;
|
||||
/
|
||||
UPDATE prs_bedrijf SET prs_bedrijf_intern = NULL WHERE prs_bedrijf_intern = 0;
|
||||
ALTER TABLE prs_bedrijf
|
||||
ADD CONSTRAINT prs_c_prs_bedrijf_intern CHECK(prs_bedrijf_intern IS NULL OR prs_bedrijf_intern IN (1,2));
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#89903
|
||||
CREATE UNIQUE INDEX prs_i_prs_bedrijfadres_srtnoti1 ON prs_bedrijfadres_srtnoti(prs_bedrijfadres_key, fac_srtnotificatie_key);
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#90097
|
||||
UPDATE alg_gebouw
|
||||
SET mld_vrije_dagen_id = NULL
|
||||
WHERE mld_vrije_dagen_id = '-1';
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////// MARX#90181
|
||||
ALTER TABLE prs_perslid
|
||||
ADD prs_perslid_errorhandling -- 0=200 on API1 error, 1=400 on error
|
||||
NUMBER (10)
|
||||
DEFAULT 1
|
||||
NOT NULL;
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#88579
|
||||
DECLARE
|
||||
altersql VARCHAR (4000);
|
||||
BEGIN
|
||||
FOR curs IN ( SELECT c.*
|
||||
FROM user_tab_columns c JOIN user_tables t ON t.table_name = c.table_name
|
||||
WHERE char_used = 'B'
|
||||
ORDER BY c.table_name, c.column_name)
|
||||
LOOP
|
||||
-- FAC_IMP_OPROGNOSE z<>n kolom ELEMENT is een enigszins reserved woord lijkt. Daarom quotes
|
||||
altersql :=
|
||||
'alter table ' || curs.table_name || ' MODIFY "' || curs.column_name || '" VARCHAR (' || curs.data_length || ' CHAR)';
|
||||
DBMS_OUTPUT.PUT_LINE (altersql);
|
||||
|
||||
EXECUTE IMMEDIATE altersql;
|
||||
END LOOP;
|
||||
END;
|
||||
/
|
||||
|
||||
DROP INDEX INS_I_INS_KENMERK_KENMERK2;
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#90179
|
||||
ALTER TABLE fac_groep MODIFY (fac_groep_omschrijving VARCHAR2(60), fac_groep_upper VARCHAR2(60));
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#89765
|
||||
ALTER PACKAGE fac COMPILE; // anders (mogelijk nog) invalid en lukt het volgende niet
|
||||
ALTER PACKAGE fac COMPILE BODY;
|
||||
|
||||
UPDATE mld_melding
|
||||
SET mld_melding_actiecode = mld_melding_actiecode - 128 -- bit 1, 2 en 256 toegestaan
|
||||
WHERE mld_melding_status = 5
|
||||
AND BITAND(mld_melding_actiecode, 128) = 128;
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////// SGGR#81078
|
||||
ALTER TABLE ins_srtdeel ADD ins_srtdeel_statestepsize NUMBER (6, 3);
|
||||
ALTER TABLE ins_srtdeel ADD ins_srtdeel_stateanchor NUMBER (6, 3);
|
||||
|
||||
ALTER TABLE ins_deel_state_history ADD ins_deel_state_value NUMBER(16,6);
|
||||
|
||||
CREATE VIEW ins_v_udr_sensordata AS SELECT * FROM DUAL;
|
||||
DEF_RAPPORT('BASIS', 'WEB_UDRMAN', 32, 'ins_v_udr_sensordata', 'UDR: Actuele Sensordata', 'Basisrapport voor actuele data van sensoren',
|
||||
'UDR: Actual Sensor data', 'Basic report current data from sensors')
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////// PROR#89199
|
||||
ALTER TABLE mld_stdmelding ADD mld_stdmelding_objects_allowed NUMBER(1) DEFAULT(2) NOT NULL;
|
||||
ALTER TABLE fac_imp_mld ADD mld_stdmelding_objects_allowed NUMBER(1);
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////// DLLG#90075
|
||||
ALTER TABLE alg_locatie ADD alg_locatie_timezone VARCHAR2(40);
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#88619
|
||||
-- cascadeert vanzelf door naar fac_menu
|
||||
DELETE FROM fac_menuitems
|
||||
WHERE fac_menuitems_label LIKE 'lcl_menu_____kenmerkdomeinen';
|
||||
|
||||
DEF_MENUITEM(2, 'lcl_menu_kenmerkdomeinen' , '', 'FAC', 'appl/fac/fac_kenmerkdomein_search.asp', 0, 0, 'WEB_PRSSYS', 'W', '1', '');
|
||||
MENU_INS_AFTER('lcl_menu_kenmerkdomeinen', 'lcl_menu_fac_eigen_tabellen', 1);
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////// LOGC#90445
|
||||
ALTER TABLE mld_melding_tag ADD mld_melding_tag_actief NUMBER(2) DEFAULT 1 NOT NULL;
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#79801
|
||||
ALTER TABLE fac_imp_onrgoed1
|
||||
ADD ( alg_gebouw_adres VARCHAR2(50)
|
||||
, alg_gebouw_postcode VARCHAR2(12)
|
||||
);
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////// MARX#89543
|
||||
DROP INDEX mld_i_mld_opdr_materiaal1 ;
|
||||
CREATE INDEX mld_i_mld_opdr_materiaal1 ON mld_opdr_materiaal(mld_opdr_key);
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////// UWVA#88793
|
||||
ALTER TABLE res_srtartikel_onrgoed ADD res_srtartikel_og_ingangsdatum DATE;
|
||||
ALTER TABLE res_srtartikel_onrgoed ADD res_srtartikel_og_vervaldatum DATE;
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#84701
|
||||
ALTER TABLE prs_bedrijfadres
|
||||
ADD prs_bedrijfadres_template VARCHAR(128)
|
||||
DEFAULT 'generic'
|
||||
NOT NULL;
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#55847
|
||||
ALTER TABLE fac_notificatie
|
||||
ADD fac_notificatie_email_cc VARCHAR(4000);
|
||||
ALTER TABLE fac_notificatie
|
||||
ADD fac_notificatie_email_bcc VARCHAR(4000);
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#87173
|
||||
ALTER TABLE fac_imp_inspectie ADD ctr_discipline_omschrijving VARCHAR2(60);
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////// MARX#90312
|
||||
ALTER TABLE fac_email_setting
|
||||
ADD fac_email_setting_ai_prompt VARCHAR2(4000);
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#00000
|
||||
|
||||
REGISTERONCE('$Id$')
|
||||
|
||||
#include "epilogue.inc"
|
||||
@@ -62,17 +62,17 @@ END;
|
||||
|
||||
DECLARE
|
||||
tekst VARCHAR2 (1000);
|
||||
charset VARCHAR2 (1000);
|
||||
BEGIN
|
||||
CASE ASCII('<27>')
|
||||
WHEN 191 THEN tekst :='WE8ISO8859P1';
|
||||
WHEN 128 THEN tekst :='WE8MSWIN1252'; -- De enige goede
|
||||
ELSE tekst :='UNKNOWN ';
|
||||
END CASE;
|
||||
IF tekst <> 'WE8MSWIN1252' THEN
|
||||
SELECT MIN(client_charset)
|
||||
INTO charset
|
||||
FROM v$session_connect_info
|
||||
WHERE sid = sys_context('USERENV','SID');
|
||||
IF charset <> 'WE8MSWIN1252' THEN
|
||||
tekst := '=================================================================' || CHR(10)
|
||||
|| 'Wrong clientside NLS_LANG ['|| TO_CHAR(ASCII('<27>')) ||'] for this Facilitor upgrade.' || CHR(10)
|
||||
|| 'WE8MSWIN1252 is required, we suspect '|| tekst || CHR(10)
|
||||
|| 'Please enter before you start SQL*Plus:' || CHR(10)
|
||||
|| 'Wrong clientside NLS_LANG for this Facilitor upgrade.' || CHR(10)
|
||||
|| 'WE8MSWIN1252 is required, we suspect '|| charset || CHR(10)
|
||||
|| 'Please enter this before you start SQL*Plus:' || CHR(10)
|
||||
|| ' on Windows:' || CHR(10)
|
||||
|| ' SET NLS_LANG=.WE8MSWIN1252' || CHR(10)
|
||||
|| ' on Unix:' || CHR(10)
|
||||
@@ -130,6 +130,7 @@ variable update_start number
|
||||
exec :update_start := dbms_utility.get_time
|
||||
/* om zeker te weten dat eventuele conversies goed gaan */
|
||||
ALTER SESSION SET nls_territory='america';
|
||||
ALTER SESSION SET nls_length_semantics='char';
|
||||
|
||||
SELECT adm.systeminfo FROM DUAL;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user