658 Commits
DB47 ... DB51

Author SHA1 Message Date
bd8eb5a3f5 FZKH#88777 duplicate LCL verwijderd
svn path=/Database/branches/DB51/; revision=69588
2025-06-30 13:24:05 +00:00
7b061d2a16 SCHG#89400 LCL's
svn path=/Database/branches/DB51/; revision=69587
2025-06-30 13:10:32 +00:00
eba4a5647f FCLT#89502 Default treshold voor het onderdrukken van lege kolommen -> 6
svn path=/Database/branches/DB51/; revision=69537
2025-06-24 15:10:45 +00:00
6094c1eb77 FZKH#88777 typo (DB51)
svn path=/Database/branches/DB51/; revision=69515
2025-06-23 09:33:44 +00:00
874b6b1bbf FCLT#89251 Eerst maar eens een revert van GPT-4.1 terug naar GTP-4o
svn path=/Database/branches/DB51/; revision=69509
2025-06-23 07:05:46 +00:00
Erik Groener
0d5f9d6351 VNOG#84055 Reserveringen van een week kunnen niet herhaald worden
svn path=/Database/branches/DB51/; revision=69492
2025-06-19 13:30:25 +00:00
Maykel Geerdink
c871c90115 LOGC#83589: Melding gereed melden en na x dagen automatisch definitief afmelden.
svn path=/Database/branches/DB51/; revision=69485
2025-06-19 05:57:29 +00:00
Erik Groener
a1402713e9 FZKH#88777 Vanuit template vooringevulde melding/opdrachten/kenmerkvelden instantiëren
svn path=/Database/branches/DB51/; revision=69451
2025-06-17 12:05:52 +00:00
Erik Groener
70e191517a FZKH#88777 Vanuit template vooringevulde melding/opdrachten/kenmerkvelden instantiëren
aangepast:
* plaats meldingsjblonen in Admin
* menuitem toegevoegd voor frontoffice gebruik

svn path=/Database/branches/DB51/; revision=69427
2025-06-16 11:42:50 +00:00
Peter Feij
9330f501e7 FCLT#81738 Tekst aangepast
svn path=/Database/branches/DB51/; revision=69406
2025-06-12 13:28:32 +00:00
46f1935282 FZKH#87243 +lcl_forward_error_processor
svn path=/Database/branches/DB51/; revision=69400
2025-06-12 10:22:53 +00:00
74c1f903be FCLT#87091 +lcl_mld_publication
svn path=/Database/branches/DB51/; revision=69393
2025-06-12 07:15:20 +00:00
5caae42a2b Branch DB51
svn path=/Database/branches/DB51/; revision=69374
2025-06-11 08:12:06 +00:00
Peter Feij
06891146be FCLT#84467 Syntaxfix
svn path=/Database/trunk/; revision=69362
2025-06-10 14:19:42 +00:00
Peter Feij
f32c05f8d3 FCLT#87091 labels aangepast
svn path=/Database/trunk/; revision=69357
2025-06-10 13:26:10 +00:00
Peter Feij
8ed71d393e FCLT#84467 mgt_kenmerkrolcoderel_x gedefinieerd (PRS vs REL)
svn path=/Database/trunk/; revision=69354
2025-06-10 12:59:47 +00:00
Peter Feij
58c290dc79 FCLT#84467 fix voor contactpersonen, voor EXTREL
svn path=/Database/trunk/; revision=69352
2025-06-10 12:23:56 +00:00
Erik Groener
4ff89654ec CARG#85666 Extra vast text in mail popup igv mld_opdr_ask_mail_if_unknown
* label aangepast

svn path=/Database/trunk/; revision=69346
2025-06-10 09:50:50 +00:00
55e7e3c51a AREO#83998 +lcl
svn path=/Database/trunk/; revision=69330
2025-06-06 10:57:54 +00:00
Peter Feij
12e7b4f62b FCLT#85585 Ander label voor de varianten
svn path=/Database/trunk/; revision=69317
2025-06-05 13:03:05 +00:00
Peter Feij
d53d99b424 FCLT#84467 RESBOF kenmerken bestond uit 2 ranges, verbeterd
svn path=/Database/trunk/; revision=69314
2025-06-05 12:45:01 +00:00
Peter Feij
bb3943fa46 FCLT#87498 sensordata agv integratie/samenwerking SWYCS - Facilitor
svn path=/Database/trunk/; revision=69309
2025-06-05 10:59:37 +00:00
Peter Feij
498c3a9d77 FCLT#84467 oplossing voor oud gedrag dat BO zonder extra rechten ook FEFO kenmerken kan zien. Change is dat hij die ook (als de status dat toestaat) mag wijzigen, zie ticket.
svn path=/Database/trunk/; revision=69306
2025-06-05 09:07:01 +00:00
Jos Groot Lipman
5495154b56 FCLT#89182 UDR: Sleuteloverzicht ook standaard een rapport_groep geven
svn path=/Database/trunk/; revision=69305
2025-06-05 07:12:14 +00:00
99c6b8bdaf FCLT#87091 buttons_in_hamburger uitgebreid met de publiceer knop
svn path=/Database/trunk/; revision=69304
2025-06-05 07:00:51 +00:00
Peter Feij
943800b43f FCLT#84467 Labels van menutaken voor kenmerken gelijkgetrokken
svn path=/Database/trunk/; revision=69303
2025-06-04 23:04:19 +00:00
Peter Feij
7b6fb99df1 FCLT#85585 mailsettings (ook) voor mldmgt
svn path=/Database/trunk/; revision=69302
2025-06-04 23:00:09 +00:00
a47059fd1f BLOS#81864 eenheid van acceptatie-tijd pakken, niet van doorlooptijd
svn path=/Database/trunk/; revision=69291
2025-06-04 11:57:00 +00:00
d4fd266a79 FCLT#87091 + lcl's
svn path=/Database/trunk/; revision=69288
2025-06-04 11:28:49 +00:00
36ca51273b FCLT#87091 Te lange setting naam
FCLT#87835 Vereiste autorisaties voor S(ai_enabled) & S(ai_apikey) aangepast naar resp. WEB_FACTAB & WEB_FACFAC (was andersom), en setting omschrijving van S(ai_enabled) ingekort zodat deze in fac_setting_description past

svn path=/Database/trunk/; revision=69286
2025-06-04 10:05:41 +00:00
6017e884a3 BLOS#81864 geen complexe types opleveren, maar gewoon (acceptatietijd_) werkdgn & werkuren (en ook het ongevraagde, complexe type doorlooptijd weer weg)
svn path=/Database/trunk/; revision=69285
2025-06-04 10:02:03 +00:00
Erik Groener
421dd7c0da BLCC#88329 Goedkeuringsflow huurcontracten werkt niet zonder contractbedrag
svn path=/Database/trunk/; revision=69280
2025-06-04 09:18:57 +00:00
f697fe9e68 FCLT#87091 + Omschrijving
svn path=/Database/trunk/; revision=69269
2025-06-03 18:42:14 +00:00
ff35d393ae FCLT#87091 +lcl
svn path=/Database/trunk/; revision=69266
2025-06-03 17:42:32 +00:00
Jos Groot Lipman
f42f503d01 FCLT#85585 Standaardwerking van fac.processemail voor Mail2Melding uitbreiden
svn path=/Database/trunk/; revision=69265
2025-06-03 15:19:43 +00:00
Jos Groot Lipman
24d58fac1e Diverse teksten door diverse personen
svn path=/Database/trunk/; revision=69264
2025-06-03 15:18:55 +00:00
8cdce76058 ALLR#80285 +komma
svn path=/Database/trunk/; revision=69263
2025-06-03 14:50:56 +00:00
Erik Groener
d14ab50095 BLCC#88329 Goedkeuringsflow huurcontracten werkt niet zonder contractbedrag
svn path=/Database/trunk/; revision=69261
2025-06-03 13:59:16 +00:00
f56463e583 BLCC#88329 syntax-fix
svn path=/Database/trunk/; revision=69259
2025-06-03 13:09:57 +00:00
9a22cc3c6f VLKC#89252 fac_reserved_number2 -> mld_pessismistisch_hergoedkeuren
svn path=/Database/trunk/; revision=69257
2025-06-03 13:02:35 +00:00
Erik Groener
0c57a6f446 BLCC#88329 Goedkeuringsflow huurcontracten werkt niet zonder contractbedrag
svn path=/Database/trunk/; revision=69256
2025-06-03 12:56:41 +00:00
4105cd8581 FCLT#89251 GPT-4o -> GPT-4.1
svn path=/Database/trunk/; revision=69254
2025-06-03 12:14:43 +00:00
Jos Groot Lipman
59191f81af NOVA#89217 fac_v_noti_facorderqueuefails iets explicieter 'reservering' vermelden
svn path=/Database/trunk/; revision=69246
2025-06-03 10:56:35 +00:00
bb9bf3b1ed FCLT#87091 mld_melding -> mld_melding_key
svn path=/Database/trunk/; revision=69245
2025-06-03 10:38:06 +00:00
Jos Groot Lipman
ecde712832 FCLT#88498 Tijdens tracking: ORA-01000: Maximum aantal open cursors is overschreden.
svn path=/Database/trunk/; revision=69241
2025-06-03 08:12:03 +00:00
ace86ec28d ALLR#80285 + res_ruimte_limiet (niet in res_rsv_ruimte)
svn path=/Database/trunk/; revision=69240
2025-06-03 07:08:12 +00:00
Jos Groot Lipman
f9c4047e1b LOGC#83589 Melding gereed melden en na x dagen automatisch definitief afmelden
svn path=/Database/trunk/; revision=69234
2025-06-02 14:11:41 +00:00
Peter Feij
f33cf874b8 FCLT#84467 Rolcode wordt nu ook in de roundtrips (export/import) meegenomen
svn path=/Database/trunk/; revision=69233
2025-06-02 14:09:02 +00:00
Peter Feij
dd3459e754 FCLT#84467 BO-only meldingskenmerken rolcode 4 (rest is default 7 lijkt me ok)
svn path=/Database/trunk/; revision=69231
2025-06-02 13:17:53 +00:00
Jos Groot Lipman
71e439cceb AAIT#88916 Opdrachten bij melding (DO) komen niet meer aan bij de leverancier
svn path=/Database/trunk/; revision=69226
2025-06-02 11:55:46 +00:00
d3f0098724 ALLR#80285 + res_ruimte_limiet
svn path=/Database/trunk/; revision=69213
2025-06-02 07:21:24 +00:00
61713eb903 FZKH#87243 Default uit (vind ik)
svn path=/Database/trunk/; revision=69211
2025-06-01 17:40:00 +00:00
b1dc043ed5 FZKH#87243 Alvast de setting toegevoegd voor de threshold voor compacte weergave (= onderdruk lege kolommen)
svn path=/Database/trunk/; revision=69204
2025-05-30 21:12:58 +00:00
6255d58c56 FZKH#87243 conversie om nieuw bitje "[b]voor zichtbaarheid[/b]: [i]in meldingenbord[/i]" aan te zetten
svn path=/Database/trunk/; revision=69203
2025-05-30 21:09:14 +00:00
Peter Feij
96f3aa36b3 FCLT#85585 Standaardwerking van fac.processemail voor Mail2Melding uitbreiden
svn path=/Database/trunk/; revision=69187
2025-05-28 14:50:12 +00:00
Jos Groot Lipman
ad6800612d FCLT#88993 Einde ondersteuning database prs.setpassword en prs.testpassword
svn path=/Database/trunk/; revision=69186
2025-05-28 13:35:43 +00:00
Maykel Geerdink
ff3dcf8f5c PZEE#88176: Pragmatisch Voorraadbeheer en Monitoring (voor Representatieartikelen).
svn path=/Database/trunk/; revision=69183
2025-05-28 13:13:49 +00:00
Peter Feij
359011d53e FCLT#85585 Standaardwerking van fac.processemail voor Mail2Melding uitbreiden savepoint
svn path=/Database/trunk/; revision=69168
2025-05-27 21:52:02 +00:00
4ceee0d1f8 FCLT#87835 + comment
svn path=/Database/trunk/; revision=69155
2025-05-27 11:24:23 +00:00
Erik Groener
33b2e60e35 FZKH#88777 Vanuit template vooringevulde melding/opdrachten/kenmerkvelden instantiëren
svn path=/Database/trunk/; revision=69152
2025-05-27 06:35:42 +00:00
Peter Feij
30b8abfb70 BCGV#87086 Gedeelde gebruiker (lockeduser) in XML tbv link naar afmeldscherm in bon
svn path=/Database/trunk/; revision=69151
2025-05-26 19:32:32 +00:00
Jos Groot Lipman
a2d42880fc FCLT#88913 Uitzondering van ORDNEW in notificatiequeue uitfaseren
svn path=/Database/trunk/; revision=69149
2025-05-26 15:41:13 +00:00
Jos Groot Lipman
612e8da7d5 FCLT#89182 UDR: Sleuteloverzicht ook standaard een rapport_groep geven
svn path=/Database/trunk/; revision=69148
2025-05-26 15:24:36 +00:00
Jos Groot Lipman
8b9e41c483 FCLT#88913 Uitzondering van ORDNEW in notificatiequeue uitfaseren
svn path=/Database/trunk/; revision=69140
2025-05-26 13:50:56 +00:00
Peter Feij
2296569b0c FCLT#87091 Koppeling naar bericht vanuit major incidents in self-service portal
svn path=/Database/trunk/; revision=69135
2025-05-26 12:22:30 +00:00
Jos Groot Lipman
b33e48b91c FCLT#88913 Uitzondering van ORDNEW in notificatiequeue uitfaseren
svn path=/Database/trunk/; revision=69133
2025-05-26 08:08:15 +00:00
Peter Feij
fa44c2465b FCLT#85585 Standaardwerking van fac.processemail voor Mail2Melding uitbreiden
svn path=/Database/trunk/; revision=69116
2025-05-22 16:51:13 +00:00
Erik Groener
56040d8dd7 GOKO#88934 Notitie op opdrachtbon tonen werkt niet
svn path=/Database/trunk/; revision=69107
2025-05-22 10:10:21 +00:00
Peter Feij
534b8c940d LOGC#89125 optionele acceptatiedatum bij mijlpalen
svn path=/Database/trunk/; revision=69100
2025-05-21 15:13:26 +00:00
Peter Feij
44f2474b5d FCLT#84467 rolcode vervangt de restricties die in volgnummer waren verstopt
svn path=/Database/trunk/; revision=69098
2025-05-21 14:41:30 +00:00
Peter Feij
abc10765aa FCLT#84467 rolcode vervangt de restricties die in volgnummer waren verstopt
FCLT#88353 bedrijf_intern mag toch weer nullipv 0

svn path=/Database/trunk/; revision=69097
2025-05-21 14:34:12 +00:00
Jos Groot Lipman
48477de89f PZEE#88371 Notifybedrijven vaker rekening houden met discipline
FCLT#88913 Uitzondering van ORDNEW in notificatiequeue uitfaseren

svn path=/Database/trunk/; revision=69068
2025-05-20 13:20:38 +00:00
Erik Groener
41b058cf5b FCLT#88353 prs_bedrijf_intern = 0 terug converteren naar NULL, en 0 niet meer toestaan
tikfoutje hersteld

svn path=/Database/trunk/; revision=69056
2025-05-19 11:22:23 +00:00
Erik Groener
7e393c7cc5 FCLT#88353 prs_bedrijf_intern = 0 terug converteren naar NULL, en 0 niet meer toestaan
svn path=/Database/trunk/; revision=69053
2025-05-19 10:22:06 +00:00
Peter Feij
6ed3eb645c FCLT#84467 rolcode vervangt de restricties die in volgnummer waren verstopt -savepoint
AAIT#87224 bedrijfsopmerking vergroten

svn path=/Database/trunk/; revision=69027
2025-05-15 10:07:04 +00:00
Peter Feij
6d411f4dd8 FCLT#84467 rolcode vervangt de restricties die in volgnummer waren verstopt
PZEE#88176 praktisch voorraadbeheer

svn path=/Database/trunk/; revision=69024
2025-05-14 13:39:08 +00:00
Peter Feij
2da87316c9 FCLT#84467 rolcode vervangt de restricties die in volgnummer waren verstopt
svn path=/Database/trunk/; revision=69023
2025-05-14 13:30:41 +00:00
Peter Feij
d44eca380d FCLT#84467 rolcode vervangt de restricties die in volgnummer waren verstopt
svn path=/Database/trunk/; revision=69022
2025-05-14 13:19:11 +00:00
Jos Groot Lipman
3419604626 FCLT#88993 Einde ondersteuning database prs.setpassword en prs.testpassword
svn path=/Database/trunk/; revision=69006
2025-05-13 15:25:50 +00:00
Erik Groener
5ffdec65b8 AAIT#87224 Leverancierspecifieke informatie bij opdrachten tonen
svn path=/Database/trunk/; revision=68996
2025-05-13 10:36:10 +00:00
Erik Groener
79cef4d2ad BRCF#87236 Scope automatisch overzetten van contracten naar relatiebeheer
svn path=/Database/trunk/; revision=68995
2025-05-13 09:56:58 +00:00
Peter Feij
0f20741d9b FCLT#84467 rolcode vervangt de restricties die in volgnummer waren verstopt - savepoint
svn path=/Database/trunk/; revision=68978
2025-05-12 08:18:22 +00:00
Peter Feij
804a8137bd FCLT#84467 rolcode vervangt de restricties die in volgnummer waren verstopt - savepoint
svn path=/Database/trunk/; revision=68971
2025-05-09 10:24:22 +00:00
Maykel Geerdink
75cd0177a8 MARX#78894: Facturen via REST-API aan kunnen maken.
svn path=/Database/trunk/; revision=68943
2025-05-08 09:08:33 +00:00
Erik Groener
e9dc730066 SCHG#88676 Problemen met CNT-import SCHG in 2025.1
svn path=/Database/trunk/; revision=68914
2025-05-06 10:02:14 +00:00
d4b47b471c STER#88886 importBezoekers hoeft niet op geluk = NULL te filteren, er is maar 1 optie die hier voorbij komt
svn path=/Database/trunk/; revision=68907
2025-05-02 13:50:23 +00:00
Maykel Geerdink
8989a4b2a0 FCLT#81738: Graag via de taken ook de xcp records indexeren.
svn path=/Database/trunk/; revision=68883
2025-04-29 10:34:46 +00:00
Erik Groener
60e26c98c4 CARG#85666 Extra vast text in mail popup igv mld_opdr_ask_mail_if_unknown
svn path=/Database/trunk/; revision=68862
2025-04-25 10:02:33 +00:00
Maykel Geerdink
8c21e426d5 BLOS#81864: Doorlooptijd acceptatie in mld_v_udr_melding.
svn path=/Database/trunk/; revision=68839
2025-04-23 10:23:57 +00:00
Maykel Geerdink
3787ff798e FMHN#83630: Custom (pdf) menuopties kunnen toevoegen.
svn path=/Database/trunk/; revision=68837
2025-04-23 08:55:37 +00:00
Erik Groener
9cc9fac674 AAIT#86450 Kennisbank item standaard op professionals zetten
svn path=/Database/trunk/; revision=68828
2025-04-22 12:56:29 +00:00
Maykel Geerdink
44878aed10 FMHN#83630: Custom (pdf) menuopties kunnen toevoegen.
svn path=/Database/trunk/; revision=68827
2025-04-22 12:50:34 +00:00
42f2f0da10 DLLG#82309 Dan hoeft dat stukje code hier niet meer
svn path=/Database/trunk/; revision=68813
2025-04-18 13:49:26 +00:00
661dc98d08 DLLG#82309 Ook bij fac.DatumTijdPlusUitvoerTijd rekening houden wanneer de eerste dag in het weekend valt
svn path=/Database/trunk/; revision=68812
2025-04-18 13:46:06 +00:00
ed82d74a2f FCLT#87835 1 reserved setting erbij voor de types number en string
svn path=/Database/trunk/; revision=68785
2025-04-17 11:04:55 +00:00
e3d74e3049 YASK#88648 'Naam' -> 'Code'
svn path=/Database/trunk/; revision=68762
2025-04-16 08:23:23 +00:00
Peter Feij
a4f5846341 SGGR#87834 View/rapport fac_v_lcrap_fe_vs_key aangepast - fixed
svn path=/Database/trunk/; revision=68714
2025-04-09 15:07:28 +00:00
866640c689 Merge 2025.1 DB50f patches (ongoing)
svn path=/Database/trunk/; revision=68713
2025-04-09 15:03:29 +00:00
Peter Feij
9701c0e170 SGGR#87834 View/rapport fac_v_lcrap_fe_vs_key aangepast zdd de telling cf de settings worden getoond alsmede de verschillen
svn path=/Database/trunk/; revision=68684
2025-04-08 10:04:06 +00:00
Erik Groener
3a4683c58b BAMG#85636 Uitbreiding BAMG#83299 met diverse verlengingstermijnen
Overbodig geworden lcl's verwijderd.

svn path=/Database/trunk/; revision=68682
2025-04-08 08:45:11 +00:00
Erik Groener
793947ffff BAMG#85636 Uitbreiding BAMG#83299 met diverse verlengingstermijnen
Na laatste termijn in verlengschema verlengtermijn in contract leeg maken.

svn path=/Database/trunk/; revision=68673
2025-04-07 12:43:07 +00:00
Erik Groener
592816e581 BAMG#85636 Uitbreiding BAMG#83299 met diverse verlengingstermijnen
Wijziging van tabel cnt_verlengschema: Geen einddatum meer opslaan maar wel een volgnummer en primary key

svn path=/Database/trunk/; revision=68658
2025-04-04 08:10:12 +00:00
Maykel Geerdink
d438d679e4 HSLE#88140: Herhaling reservering mist verbruiksartikelen.
svn path=/Database/trunk/; revision=68647
2025-04-03 12:25:48 +00:00
Erik Groener
1b719dc325 Er staat een "fac_lcl", dus niet met hoofdletters
svn path=/Database/trunk/; revision=68607
2025-04-01 07:39:19 +00:00
Erik Groener
0ef4128faf BAMG#85636 Uitbreiding BAMG#83299 met diverse verlengingstermijnen
typefout in macro create_table hersteld.

svn path=/Database/trunk/; revision=68605
2025-04-01 07:00:06 +00:00
Erik Groener
ea641c6dfa BAMG#85636 Uitbreiding BAMG#83299 met diverse verlengingstermijnen
svn path=/Database/trunk/; revision=68589
2025-03-31 09:26:34 +00:00
Maykel Geerdink
e55b49ef03 PCHX#86497: Verplichten specifieke kostensoort bij ontbrekende standaardkostensoort contractbeheer.
svn path=/Database/trunk/; revision=68586
2025-03-31 08:54:37 +00:00
Maykel Geerdink
91923cb34f PCHX#86497: Verplichten specifieke kostensoort bij ontbrekende standaardkostensoort contractbeheer.
svn path=/Database/trunk/; revision=68584
2025-03-31 08:24:31 +00:00
Erik Groener
b9116bf2d3 BAMG#85636 Uitbreiding BAMG#83299 met diverse verlengingstermijnen
Aiai: Meerdere schemaregels opgehaald.

svn path=/Database/trunk/; revision=68583
2025-03-31 06:38:51 +00:00
Erik Groener
9e2e11c403 BAMG#85636 Uitbreiding BAMG#83299 met diverse verlengingstermijnen
svn path=/Database/trunk/; revision=68572
2025-03-28 10:17:35 +00:00
Erik Groener
cac9273fe1 BAMG#85636 Uitbreiding BAMG#83299 met diverse verlengingstermijnen
svn path=/Database/trunk/; revision=68563
2025-03-27 11:55:12 +00:00
Erik Groener
6bdf33fe19 SCHG#88197 Problemen met CNT-import SCHG in acceptatie-omgeving 2025.1
svn path=/Database/trunk/; revision=68542
2025-03-26 09:27:09 +00:00
Maykel Geerdink
a179ba4827 PCHX#86497: Verplichten specifieke kostensoort bij ontbrekende standaardkostensoort contractbeheer.
svn path=/Database/trunk/; revision=68517
2025-03-25 08:21:41 +00:00
Erik Groener
290082f924 SCHG#88197 Problemen met CNT-import SCHG in acceptatie-omgeving 2025.1
svn path=/Database/trunk/; revision=68503
2025-03-24 14:23:02 +00:00
Maykel Geerdink
88acac632a VGLD#85984: Automatische afsluitdatum instellen in contracten mogelijk?
svn path=/Database/trunk/; revision=68479
2025-03-20 12:32:21 +00:00
3a09f3dd38 DLLG#82309 WHILE-loop -> LOOP + EXIT WHEN
svn path=/Database/trunk/; revision=68471
2025-03-19 15:59:48 +00:00
Jos Groot Lipman
3ce4d873c0 Merge 2025.1 DB50b patches
svn path=/Database/trunk/; revision=68460
2025-03-19 13:55:57 +00:00
061df2a8b2 DLLG#82309 Rekening houden met meerdere opeenvolgende vrije dagen
svn path=/Database/trunk/; revision=68441
2025-03-18 13:47:31 +00:00
55ff80d435 RIAN#87845
RIAN#87851
Revert r68243 & r68253

svn path=/Database/trunk/; revision=68424
2025-03-17 13:38:38 +00:00
Maykel Geerdink
3ea60827c1 LOGC#83589: Melding gereed melden en na x dagen automatisch definitief afmelden.
svn path=/Database/trunk/; revision=68422
2025-03-17 12:46:19 +00:00
Maykel Geerdink
c27358b525 LOGC#83589: Melding gereed melden en na x dagen automatisch definitief afmelden.
svn path=/Database/trunk/; revision=68378
2025-03-12 14:03:36 +00:00
Erik Groener
a388998734 WRTH#87857 Probleem bij importeren contractheaders in 2025.1 versie
svn path=/Database/trunk/; revision=68369
2025-03-12 07:16:02 +00:00
Erik Groener
eed7a54398 HMOD#87864 Probleem met Workflow Spendcloud: automatische afmelding
svn path=/Database/trunk/; revision=68359
2025-03-11 13:42:13 +00:00
Erik Groener
d31b144a5f UWVA#87689 Verbruiksartikelenrapport toont onterecht items van verwijderde catalogi
svn path=/Database/trunk/; revision=68348
2025-03-11 09:37:01 +00:00
Jos Groot Lipman
a400748783 Merge 2025.1 DB50a patches
svn path=/Database/trunk/; revision=68306
2025-03-06 14:54:32 +00:00
Erik Groener
15c176f8b7 VNOG#84055 Reserveringen van een week kunnen niet herhaald worden
svn path=/Database/trunk/; revision=68265
2025-03-03 13:02:38 +00:00
fff54b063b RIAN#87845 Ook persoon-gekoppelde (of; niet-plaatsgebonden) objecten in de 'download-set' opnemen
svn path=/Database/trunk/; revision=68253
2025-02-28 21:56:13 +00:00
d6f3748ae6 RIAN#87851 Exporteer/Download geen vervallen/verwijderde stdmeldingen
svn path=/Database/trunk/; revision=68243
2025-02-28 14:49:36 +00:00
e5539038eb Merge DB50
svn path=/Database/trunk/; revision=68179
2025-02-25 09:13:55 +00:00
b356a98234 Upgrade templates; remove _post-template
svn path=/Database/trunk/; revision=68159
2025-02-24 13:53:41 +00:00
Maykel Geerdink
6324afb231 NOVA#85923: Voorbeeldweergave van opdracht vóór verzending.
svn path=/Database/trunk/; revision=68109
2025-02-20 14:12:09 +00:00
6c55dd0116 Upgrade templates
svn path=/Database/trunk/; revision=68063
2025-02-19 09:12:07 +00:00
f839d737c5 Versie DB51
svn path=/Database/trunk/; revision=68062
2025-02-18 20:05:19 +00:00
Jos Groot Lipman
13af49c636 FCLT#85890 Als vervanging van het psr_perslid_systeemadres bij notificaties naar een persoon de technische adressen bij zijn intern bedrijf ook notificeren
svn path=/Database/trunk/; revision=68054
2025-02-18 16:15:11 +00:00
6b3458e6d9 BSSC#86530 res_rsv_ruimte_prijs, res_rsv_ruimte_korting & res_rsv_ruimte_totaal aan res_v_udr_reservering toegevoegd
svn path=/Database/trunk/; revision=68044
2025-02-18 15:23:38 +00:00
Maykel Geerdink
96e6aff06d NOVA#85923: Voorbeeldweergave van opdracht vóór verzending.
svn path=/Database/trunk/; revision=68043
2025-02-18 15:21:43 +00:00
Suzan Wiegerinck
cca6a82238 FCLT#85964 parameters in mld_disc_params aangepast voor notificatie instellingen
svn path=/Database/trunk/; revision=68035
2025-02-18 14:05:40 +00:00
Jos Groot Lipman
5a1b82f28a FCLT#85890 MLDNEW alleen notificeren als teverzenden==1
svn path=/Database/trunk/; revision=68029
2025-02-18 09:35:12 +00:00
Jos Groot Lipman
7496291734 BLCC#83273 Een team behandelt inderdaad vakgroepen en geen (andere) teams
svn path=/Database/trunk/; revision=68028
2025-02-18 09:33:08 +00:00
Maykel Geerdink
1bdb1aa5a1 NOVA#85923: Voorbeeldweergave van opdracht vóór verzending.
svn path=/Database/trunk/; revision=68006
2025-02-17 13:05:43 +00:00
Maykel Geerdink
b669376d49 SCHG#87582: Probleem bij aanmaak periodieke onderhoudsmeldingen wagenpark.
svn path=/Database/trunk/; revision=68002
2025-02-17 11:57:17 +00:00
Peter Feij
186b65d424 MARX#87424 Unieke bedrijfsnaam per rol (_intern)
svn path=/Database/trunk/; revision=68001
2025-02-17 11:05:43 +00:00
Jos Groot Lipman
557e049a7b Oracle Testscript verbeteringen
svn path=/Database/trunk/; revision=68000
2025-02-17 08:25:56 +00:00
a5c7af643f FCLT#86197 lcl_scf_(download|upload) nergens in gebruik
svn path=/Database/trunk/; revision=67994
2025-02-14 15:35:42 +00:00
Rik Hassing
2e8c5ac7ba FCLT#86197
- Removed
lcl_scf_import 
lcl_scf_export 

- Added  
lcl_download
lcl_upload
lcl_transport
lcl_paste

svn path=/Database/trunk/; revision=67990
2025-02-14 14:00:25 +00:00
b94b4f2c48 PCHX#85935 VIEW naam aangepast van prs_v_udr_vervangers -> prs_v_rap_vervangers, en de vervaldatum nu achter de namen gezet (waar van toepassing).
svn path=/Database/trunk/; revision=67989
2025-02-14 13:20:43 +00:00
Rik Hassing
6a02dc8027 FCLT#86197
- Add lcl lcl_scf_transport.

svn path=/Database/trunk/; revision=67982
2025-02-14 10:06:27 +00:00
fc4fe40601 CARG#85437 syntax
svn path=/Database/trunk/; revision=67980
2025-02-13 21:33:26 +00:00
937d48f529 CARG#85437 lcl's
svn path=/Database/trunk/; revision=67979
2025-02-13 21:29:32 +00:00
e0f2585e97 CARG#85437 daily procedure die bestellingen [onder voorwaarden] automatisch als geleverd markeert (en dat trackt/notificeert/vervolgt met een BES2AF waar nodig)
svn path=/Database/trunk/; revision=67977
2025-02-13 21:24:26 +00:00
f69cdb8f82 FCLT#84628 Savepoint deadlock preventie
svn path=/Database/trunk/; revision=67963
2025-02-12 16:13:02 +00:00
Rik Hassing
808661add0 FCLT#86197
Add LCLs

- lcl_scf_download
- lcl_scf_upload
- lcl_scf_paste

svn path=/Database/trunk/; revision=67938
2025-02-11 14:18:12 +00:00
Jos Groot Lipman
7861631acb Diverse LCL's
svn path=/Database/trunk/; revision=67925
2025-02-10 15:27:03 +00:00
Jos Groot Lipman
6a43cfbf80 FCLT#85890 ORDNOL ondersteuning: zorgen dat de note_key in fac_notificatie_extra_key komt
svn path=/Database/trunk/; revision=67923
2025-02-10 14:33:13 +00:00
a54dac664c PCHX#85935 fac_usrrap_groep van BASIS -> PRS, autorisatie van WEB_UDRMAN -> WEB_PRSMAN, beschrijving aangepast en fac_usrrap_functie van 32 -> 0
svn path=/Database/trunk/; revision=67912
2025-02-07 16:13:44 +00:00
0b2ad2d702 LOGC#86231 hide_f_sort kolommen met de upgrade zoveel mogelijk goed zetten qua sortering (-> Oplopend)
svn path=/Database/trunk/; revision=67911
2025-02-07 15:57:10 +00:00
5da2561ea4 DJIN#87336 Views aanpassen zodat ze 1 regel aan resultaten opleveren, zoals gewenst. Het conflict dat ontstond bij meerdere werkplekken met hetzelfde volgnr. is verholpen door een group by prs_key, volgnr en een MIN om de werkplek key heen
svn path=/Database/trunk/; revision=67904
2025-02-07 10:13:31 +00:00
Jos Groot Lipman
559a43356e CSUN#87371 Verwijderen overbodige afbeeldingen bij mail2melding berichten
svn path=/Database/trunk/; revision=67898
2025-02-06 15:22:48 +00:00
05b91a0da8 SVRZ#86345 punt-komma's in het inline commentaar levert problemen op
svn path=/Database/trunk/; revision=67893
2025-02-06 14:49:52 +00:00
Maykel Geerdink
aa5efe18ba VLKC#82681: 79962 - kenmerksoort bestellingen anonimiseren.
svn path=/Database/trunk/; revision=67883
2025-02-06 12:15:02 +00:00
Jos Groot Lipman
ad5fc8090d FCLT#86343 fac_hourly toegevoegd. Let op: future use, wordt nog nergens aangeroepen
svn path=/Database/trunk/; revision=67880
2025-02-06 10:53:18 +00:00
646edcce0d PCHD#86418 S(ai_enabled) & 8 = Laat AI een opdracht omschrijving genereren bij nieuwe opdrachten
svn path=/Database/trunk/; revision=67871
2025-02-05 15:13:47 +00:00
be257e8c55 SVRZ#86345 rekening houden met tracking-/melding_aanmaak-data die allemaal plaats vinden binnen dezelfde seconde
svn path=/Database/trunk/; revision=67861
2025-02-05 11:59:50 +00:00
Jos Groot Lipman
4e307945b3 FCLT#85890 ORDUPD via teverzenden=2 beter ondersteunen
svn path=/Database/trunk/; revision=67843
2025-02-04 15:11:11 +00:00
Maykel Geerdink
a9afe4acb9 FCLT#86882: Blokbehandelteam notificaties bij acceptatie en wijzigingen.
svn path=/Database/trunk/; revision=67837
2025-02-04 11:49:27 +00:00
Peter Feij
5b3dd3ad56 FCLT#85890 typo
svn path=/Database/trunk/; revision=67831
2025-02-03 16:05:56 +00:00
Rik Hassing
32b6507729 LOGC#86289
- Add lcl_mld_ai_generate_subject_placeholder.

svn path=/Database/trunk/; revision=67827
2025-02-03 13:28:29 +00:00
Peter Feij
062d295289 FCLT#85890 Orderqueue etc: systeembedrijven
svn path=/Database/trunk/; revision=67826
2025-02-03 13:17:37 +00:00
Jos Groot Lipman
d9e376eabb FCLT#85890 meerdere technische adressen voor verschillende srtnotificaties ondersteunen (als alternatief voor 'overrules')
Ook: prs_contactpersoon_systeem toegevoegd

svn path=/Database/trunk/; revision=67810
2025-01-30 16:59:53 +00:00
Peter Feij
3e0db1aa4a PCHD#83092 budgethouder_key toegevoegd aan udr basisview voor facturen
svn path=/Database/trunk/; revision=67804
2025-01-30 13:32:32 +00:00
550d617f58 DJIN#87336 De view voor de hoofdwerkplek van persleden aangepast zodat deze ook echt alleen de hoofdwerkplek toont, ook al bestaan er 2 werkplekken met hetzelfde volgnr.
svn path=/Database/trunk/; revision=67799
2025-01-30 10:15:52 +00:00
Peter Feij
5615fa2591 FCLT#85890 Orderqueue etc: systeembedrijven in menu
svn path=/Database/trunk/; revision=67796
2025-01-30 09:09:13 +00:00
Jos Groot Lipman
eb283bb7b8 FCLT#85890 fac_notificatie_realuser bijhouden zodat we in putorders correct kunnen overrulen
svn path=/Database/trunk/; revision=67792
2025-01-30 08:27:28 +00:00
61675ddfdb AAES#87138 +lcl's tbv het verwerken van opdrachten
svn path=/Database/trunk/; revision=67789
2025-01-29 19:19:21 +00:00
08c1e05663 AAES#87138 + S(mld_opdr_archive_by_gui)
svn path=/Database/trunk/; revision=67785
2025-01-29 13:19:41 +00:00
Maykel Geerdink
a8a8f1aed5 VGLD#85984: Automatische afsluitdatum instellen in contracten mogelijk?
svn path=/Database/trunk/; revision=67771
2025-01-29 07:22:03 +00:00
1203d7bb84 AAIT#83573 voortaan fac_like.asp gebruiken
svn path=/Database/trunk/; revision=67769
2025-01-28 16:36:25 +00:00
Jos Groot Lipman
4ac5450681 FCLT#85890 Orderqueue en notificatiequeue savepoint
svn path=/Database/trunk/; revision=67766
2025-01-28 15:59:07 +00:00
e4912ec5cd PCHX#85935 DEF_RAPPORT prs_v_udr_vervangers
svn path=/Database/trunk/; revision=67719
2025-01-24 11:42:27 +00:00
7005cedfd6 PCHX#85935 prs_v_udr_vervangers
svn path=/Database/trunk/; revision=67718
2025-01-24 11:39:55 +00:00
Peter Feij
33cf8e01f1 FCLT#85890 Technisch adres heeft nu ook een naam
svn path=/Database/trunk/; revision=67703
2025-01-22 17:46:05 +00:00
Jos Groot Lipman
34ad1bf8aa FCLT#85890 RESLIK, BESLIK en MLDLIK notificaties vanuit trigger gaf mutating error.
Maar FAC_PAC.SRC onderdrukt te ze toch al dus mogen we ook wel een '#' er voor zetten en dus eerder onderdrukken

svn path=/Database/trunk/; revision=67698
2025-01-22 15:16:34 +00:00
Peter Feij
125256c2eb FCLT#85890 Orderqueue en notificatiequeue generaliseren
svn path=/Database/trunk/; revision=67696
2025-01-22 15:12:17 +00:00
b7b49f8302 TRRL#80437 _Default-groep ook toevoegen als S(login_use_email) = 1 en email wordt gevuld (en login begint niet met een '_')
svn path=/Database/trunk/; revision=67687
2025-01-22 11:59:09 +00:00
Erik Groener
1d2aaa9b09 FCLT#86748 Fout bij automatisch verlengen oudere contractversies
svn path=/Database/trunk/; revision=67685
2025-01-22 10:58:40 +00:00
Peter Feij
e6b8788b78 BAUS#82535 Tracking op mutaties bij geplande acties
svn path=/Database/trunk/; revision=67673
2025-01-21 17:01:11 +00:00
Jos Groot Lipman
b9cb87464e 2024->2025
svn path=/Database/trunk/; revision=67668
2025-01-21 15:57:00 +00:00
Peter Feij
e954cfb475 FCLT#82423 Werkplekken, objecten (e.d.?) op locatie of gebouwniveau kunnen vastleggen
svn path=/Database/trunk/; revision=67667
2025-01-21 15:56:13 +00:00
ea15dc65f2 FCLT#82174 Menuoptie ook gewoon toevoegen
svn path=/Database/trunk/; revision=67664
2025-01-21 14:25:36 +00:00
Peter Feij
712990058e FCLT#86343 Kennisnbankdetails: wat tekstuele details
svn path=/Database/trunk/; revision=67657
2025-01-21 10:28:23 +00:00
Jos Groot Lipman
e242bb0b3f FCLT#85890 Orderqueue en notificatiequeue savepoint
svn path=/Database/trunk/; revision=67654
2025-01-21 08:35:38 +00:00
Erik Groener
ab18f3f3dc YAXX#86411 Kenmerken op regio niveau ondersteunen
svn path=/Database/trunk/; revision=67642
2025-01-20 13:20:30 +00:00
25ce91ba7b FCLT#86760 Voor de duidelijkheid nog een UNUSED prefix bij de vervallen instellingen
svn path=/Database/trunk/; revision=67640
2025-01-20 12:44:56 +00:00
09e28f0d87 FCLT#86760 openai_settings deprecated, 2 nieuwe [generieke] settings; ai_apikey & ai_endpoint
svn path=/Database/trunk/; revision=67638
2025-01-20 12:34:08 +00:00
Erik Groener
82d7849803 YAXX#86411 Kenmerken op regio niveau ondersteunen
svn path=/Database/trunk/; revision=67618
2025-01-16 10:15:33 +00:00
Maykel Geerdink
818faabb2e VGLD#85984: Automatische afsluitdatum instellen in contracten mogelijk?
svn path=/Database/trunk/; revision=67607
2025-01-15 14:39:43 +00:00
Erik Groener
ef6f395e12 YAXX#86411 Kenmerken op regio niveau ondersteunen
svn path=/Database/trunk/; revision=67601
2025-01-15 10:47:28 +00:00
64705dd8a2 TRRL#80437 Revert
svn path=/Database/trunk/; revision=67582
2025-01-13 14:40:28 +00:00
11ff3188e9 TRRL#80437 1) Indien S(login_use_email)=1, dan de _Default autorisatiegroep toevoegen als een gebruiker een emailadres krijgt
svn path=/Database/trunk/; revision=67581
2025-01-13 14:20:38 +00:00
Erik Groener
5bdcb65027 CARG#85884 Factuurschema ontbreekt in contract-XML, graag toevoegen
svn path=/Database/trunk/; revision=67572
2025-01-13 10:15:39 +00:00
Erik Groener
6a37c41460 YASK#86818 Fout bij aanpassen maximumwaarde numeriek kenmerk in YASK productieomgeving
svn path=/Database/trunk/; revision=67571
2025-01-13 09:32:48 +00:00
6dd9e4cb1a CARG#86728 goedkeuring -> fiattering
svn path=/Database/trunk/; revision=67570
2025-01-13 08:31:59 +00:00
Maykel Geerdink
4c6569bf5a FCLT#87146: Oplossing databasefout RWSN#86923 in release 2025.1.
svn path=/Database/trunk/; revision=67569
2025-01-13 08:23:43 +00:00
Erik Groener
06be3fadc9 YASK#86818 Fout bij aanpassen maximumwaarde numeriek kenmerk in YASK productieomgeving
svn path=/Database/trunk/; revision=67567
2025-01-13 08:10:43 +00:00
Maykel Geerdink
68e2ada5d5 YKPN#86805: Geen meldingen meer bij vervallen of verwijderde taak.
svn path=/Database/trunk/; revision=67550
2025-01-09 10:44:46 +00:00
Erik Groener
061dbb75bc DHLD#86034 Foutmelding EntraID: 'Login' veld niet uniek, configuratieprobleem
svn path=/Database/trunk/; revision=67545
2025-01-08 14:00:00 +00:00
Erik Groener
9f13c8bf2b DHLD#86034 Foutmelding EntraID: 'Login' veld niet uniek, configuratieprobleem
svn path=/Database/trunk/; revision=67524
2025-01-07 11:45:39 +00:00
Erik Groener
4b452e787b KW1C#86472 MJOB import probleem in productieomgeving KW1C
svn path=/Database/trunk/; revision=67518
2025-01-07 08:42:30 +00:00
Erik Groener
8356eaf14c FCLT#86003 Probleem met importeren contracten vanuit Mocadocs via FIP-sheet
svn path=/Database/trunk/; revision=67447
2024-12-19 12:20:40 +00:00
Erik Groener
390fd8834c FCLT#86003 Probleem met importeren contracten vanuit Mocadocs via FIP-sheet
svn path=/Database/trunk/; revision=67445
2024-12-19 11:42:56 +00:00
Jos Groot Lipman
46fd7c1a6e FCLT#85890 Orderqueue en notificatiequeue savepoint
svn path=/Database/trunk/; revision=67444
2024-12-19 11:34:48 +00:00
Erik Groener
2fbc120baa BRED#86842 Problemen bij exporteren van relaties en contactpersonen in BRED
svn path=/Database/trunk/; revision=67443
2024-12-19 11:22:41 +00:00
Erik Groener
18e8eac398 FCLT#86003 Probleem met importeren contracten vanuit Mocadocs via FIP-sheet
svn path=/Database/trunk/; revision=67441
2024-12-19 10:10:17 +00:00
Peter Feij
9fae3875a5 FCLT#85970 WEB_MLDTAG autorisatie
svn path=/Database/trunk/; revision=67375
2024-12-12 09:11:39 +00:00
Peter Feij
3e4b9c4ce3 KW1C#86841 View voor actuele ruimtebezetting
svn path=/Database/trunk/; revision=67373
2024-12-12 08:58:38 +00:00
Jos Groot Lipman
a2dd7d97b7 FCLT#86661 Savepoint global tsk_master_schema voor scheduling
svn path=/Database/trunk/; revision=67371
2024-12-12 08:14:32 +00:00
Maykel Geerdink
6d79eab4c1 VNOG#85909: Verbeteren werking van onderdelen in objectbeheer.
svn path=/Database/trunk/; revision=67340
2024-12-09 14:51:45 +00:00
Peter Feij
fb2af78f86 FCLT#85970 Mijlpalen per meldinggroep (en daarom verplaatst tot daarna)
svn path=/Database/trunk/; revision=67310
2024-12-05 14:37:03 +00:00
Erik Groener
814b61d735 FCLT#85815 Opdrachttype codes toevoegen voor duidelijkheid en compatibiliteit
svn path=/Database/trunk/; revision=67294
2024-12-05 08:21:50 +00:00
Peter Feij
a2b97e783b FCLT#85970 Mijlpalen in het menu. Is beheer maar geen hard applicatiebeheer, daarom in tab 2 ipv 33
svn path=/Database/trunk/; revision=67286
2024-12-04 15:56:02 +00:00
Ruud Lipper
91537dfc82 FCLT#86733 mld_use_order_approval uitleg verbeterd
svn path=/Database/trunk/; revision=67281
2024-12-04 10:59:08 +00:00
Erik Groener
cc7ff3ead8 FCLT#85815 Opdrachttype codes toevoegen voor duidelijkheid en compatibiliteit
svn path=/Database/trunk/; revision=67274
2024-12-03 14:36:54 +00:00
Maykel Geerdink
7045186030 VNOG#85909: Verbeteren werking van onderdelen in objectbeheer.
svn path=/Database/trunk/; revision=67270
2024-12-03 11:20:49 +00:00
Jos Groot Lipman
836f4afbb0 DJIN#86610 Problemen bij importeren DJIN/DVON dumps door ORADBA eigenaar
svn path=/Database/trunk/; revision=67268
2024-12-03 10:55:09 +00:00
Rik Hassing
664b057213 KFSG#86593
- Max lengte geven aan tekenstringbuffer PROCEDURE trackaction_withkey 

svn path=/Database/trunk/; revision=67224
2024-11-28 08:36:56 +00:00
Jos Groot Lipman
785e1e3f49 FCLT#85890 Orderqueue en notificatiequeue savepoint
svn path=/Database/trunk/; revision=67219
2024-11-27 15:20:50 +00:00
ab123c43c5 KFNS#84062 Setting omschrijving aangepast
svn path=/Database/trunk/; revision=67213
2024-11-27 12:51:47 +00:00
dbbca4d90b FCLT#86600 positief testen
svn path=/Database/trunk/; revision=67179
2024-11-25 15:23:11 +00:00
deeffb9bcb FCLT#86600 Als er geen budgethouder (bekend) is, dan ook niet proberen zijn profiel te controleren
svn path=/Database/trunk/; revision=67176
2024-11-25 14:12:25 +00:00
Peter Feij
488bae371f FCLT#85970 commentaar uitgebreid
svn path=/Database/trunk/; revision=67141
2024-11-21 15:20:55 +00:00
Maykel Geerdink
9f2088cbdb NOUR#82373: In takenoverzicht bijlage zichtbaar maken.
svn path=/Database/trunk/; revision=67137
2024-11-21 12:56:21 +00:00
Ilonka Maatman
e76d9db9e3 SUTF#86456
svn path=/Database/trunk/; revision=67131
2024-11-21 10:01:01 +00:00
Erik Groener
394923ced9 YFTH#86088 Ruimten zonder ruimtefunctie ontbreken in transportexport
svn path=/Database/trunk/; revision=67128
2024-11-21 09:43:29 +00:00
Ilonka Maatman
573027d00e YAXX#86386
svn path=/Database/trunk/; revision=67123
2024-11-21 08:03:19 +00:00
Suzan Wiegerinck
74b585d96b FCLT#85964 De ja/nee en ja/nee/n.v.t. kenmerken aangevuld met de 'prefix' itsm om problemen op bestaande inrichtingen te voorkomen (bij bijv. VNOG resulteert de setup nu in een AiAi)
svn path=/Database/trunk/; revision=67118
2024-11-20 11:56:37 +00:00
Jos Groot Lipman
7cedd41c54 FCLT#86343 prs_perslid_options sinds HSLE#36898 (2016.3) al niet meer in gebruik. Maar eens wissen.
svn path=/Database/trunk/; revision=67114
2024-11-20 10:10:16 +00:00
Rik Hassing
98fd745bca AAXX#83884
- Remove mld_typeopdr_mld_limiet

svn path=/Database/trunk/; revision=67106
2024-11-20 07:57:52 +00:00
Erik Groener
2fbe1dcca8 FCLT#83805 Beheer van autorisatiegroepen intuitiever maken
svn path=/Database/trunk/; revision=67105
2024-11-20 07:34:20 +00:00
Peter Feij
7e11780f42 FCLT#85970 syntax fix
svn path=/Database/trunk/; revision=67095
2024-11-19 14:31:12 +00:00
57492cc841 FCLT#86320 fac_tracking_key ook opleveren
svn path=/Database/trunk/; revision=67089
2024-11-19 12:33:27 +00:00
Peter Feij
b19302864a FCLT#85970 Ondersteuning van releasekalender en releasemanagement in ITSM-context
svn path=/Database/trunk/; revision=67088
2024-11-19 12:16:25 +00:00
Peter Feij
a5221f1f4b FCLT#85970 syntax fix
svn path=/Database/trunk/; revision=67087
2024-11-19 11:42:36 +00:00
Peter Feij
0730199144 FCLT#85970 syntax fix
svn path=/Database/trunk/; revision=67081
2024-11-18 21:59:52 +00:00
Peter Feij
40e2a0c1f4 FCLT#85970 Ondersteuning van releasekalender en releasemanagement in ITSM-context
svn path=/Database/trunk/; revision=67080
2024-11-18 21:36:36 +00:00
Peter Feij
991a90810f FCLT#85970 Ondersteuning van releasekalender en releasemanagement in ITSM-context
svn path=/Database/trunk/; revision=67077
2024-11-18 17:02:49 +00:00
Maykel Geerdink
00e3b06ad5 NOUR#82373: In takenoverzicht bijlage zichtbaar maken.
svn path=/Database/trunk/; revision=67071
2024-11-18 12:53:18 +00:00
Rik Hassing
198fbf9fde VNOG#85849
- Placeholder toegevoegd om string te kunnen formateren. (Voor NL)

svn path=/Database/trunk/; revision=67068
2024-11-18 11:45:07 +00:00
Rik Hassing
a54c224cc5 VNOG#85849
- Placeholder toegevoegd om string te kunnen formateren.

svn path=/Database/trunk/; revision=67067
2024-11-18 11:42:28 +00:00
Peter Feij
01f397ba3e FCLT#85970 Ondersteuning van releasekalender en releasemanagement in ITSM-context
svn path=/Database/trunk/; revision=67066
2024-11-18 11:37:49 +00:00
1b91278ada FCLT#85890 fac_v_notifyqueue.fac_notificatie_naam toegevoegd
svn path=/Database/trunk/; revision=67064
2024-11-18 11:22:32 +00:00
Rik Hassing
d0053bcbd8 AAXX#83884
- fix trigger

svn path=/Database/trunk/; revision=67063
2024-11-18 07:22:39 +00:00
Erik Groener
89fc0f90a0 SCHG#85828 Aanpassing transportkenmerken voor CNT in rapport en import
svn path=/Database/trunk/; revision=67049
2024-11-15 11:01:59 +00:00
Jos Groot Lipman
709892b347 FCLT#85890 Orderqueue en notificatiequeue savepoint
svn path=/Database/trunk/; revision=67045
2024-11-14 16:05:17 +00:00
Jos Groot Lipman
86b25c07ec FCLT#86343 mail_subject_undeliverable ook subject "Message undeliverable:" onderkennen
svn path=/Database/trunk/; revision=67044
2024-11-14 15:16:19 +00:00
Maykel Geerdink
7ae9d418ee VNOG#85909: Verbeteren werking van onderdelen in objectbeheer.
svn path=/Database/trunk/; revision=67007
2024-11-12 15:57:50 +00:00
Erik Groener
811e9c6262 YFTH#86088 Ruimten zonder ruimtefunctie ontbreken in transportexport
svn path=/Database/trunk/; revision=66996
2024-11-12 09:57:23 +00:00
Erik Groener
5ca6d26a50 LPNL#71678 Kan catering FIP artikel sheet niet inlezen met (nieuwe) kostensoorten
svn path=/Database/trunk/; revision=66991
2024-11-12 07:41:53 +00:00
Rik Hassing
e203dbacb0 AAXX#83884
- Update inconsistency ins_srtdiscipline_key with mld_discipline

svn path=/Database/trunk/; revision=66981
2024-11-11 14:05:15 +00:00
Maykel Geerdink
7aca9601d7 VNOG#83559: Objectenimport voorzien van parent-kolommen voor onderdelen.
svn path=/Database/trunk/; revision=66976
2024-11-11 10:36:32 +00:00
Rik Hassing
21eb5c65af AAXX#83884
- Add trigger to update mld_typeopdr_srtdiscipline when mld_discipline changes vakgroeptype.

svn path=/Database/trunk/; revision=66974
2024-11-11 09:56:58 +00:00
43733b3deb FCLT#86343 'ga verder met de melding' -> 'ga verder met de opdracht'
svn path=/Database/trunk/; revision=66971
2024-11-11 08:44:47 +00:00
Peter Feij
f2ea55f5cb FCLT#85970 Ondersteuning van releasekalender en releasemanagement in ITSM-context savepoint 0.1
svn path=/Database/trunk/; revision=66959
2024-11-07 17:19:27 +00:00
Jos Groot Lipman
a5788cb0d3 FCLT#85890 Orderqueue en notificatiequeue savepoint
svn path=/Database/trunk/; revision=66955
2024-11-07 16:16:33 +00:00
Maykel Geerdink
8ff29d9632 VNOG#83559: Objectenimport voorzien van parent-kolommen voor onderdelen.
svn path=/Database/trunk/; revision=66954
2024-11-07 15:48:29 +00:00
Jos Groot Lipman
a613a6964e FCLT#85890 Orderqueue en notificatiequeue savepoint
svn path=/Database/trunk/; revision=66953
2024-11-07 15:40:02 +00:00
Rik Hassing
5e1587f567 YAXX#84687
- Add field mld_typeopdr_mld_limiet 

svn path=/Database/trunk/; revision=66946
2024-11-07 12:31:32 +00:00
Erik Groener
55b1426eb6 FCLT#86293 fac_setting.prs_perslid_key onterecht gewist bij upgrades
svn path=/Database/trunk/; revision=66940
2024-11-07 10:10:06 +00:00
b5b435d6ce Merge 2024.3 DB49b patches
svn path=/Database/trunk/; revision=66927
2024-11-06 14:47:51 +00:00
Rik Hassing
8d88c4aae8 YAXX#84687
- Rename lcl 

svn path=/Database/trunk/; revision=66917
2024-11-06 09:39:12 +00:00
Rik Hassing
57575a8ca0 YAXX#84687
- Add lcl_prs_companies_default_order_amount.

svn path=/Database/trunk/; revision=66916
2024-11-06 09:27:05 +00:00
Rik Hassing
bebb21f532 YAXX#84687
- Add field prs_bedrijf_mld_limiet to prs_bedrijf

svn path=/Database/trunk/; revision=66915
2024-11-06 09:16:20 +00:00
Rik Hassing
a1c920cbb2 YASK#82997
- Replace lcl_prs_unapproved into lcl_prs_flags_unapproved_m.

svn path=/Database/trunk/; revision=66846
2024-11-04 08:33:39 +00:00
Jos Groot Lipman
6eee34ca6d YKPN#85668 Geen letterlijke ORA- in (commentaar van) sourcecode
svn path=/Database/trunk/; revision=66836
2024-10-31 14:20:53 +00:00
Rik Hassing
2f389045d9 YASK#82997
- Add missing apostrof

svn path=/Database/trunk/; revision=66828
2024-10-31 08:57:58 +00:00
Maykel Geerdink
a9c33e58ef VNOG#83559: Objectenimport voorzien van parent-kolommen voor onderdelen.
svn path=/Database/trunk/; revision=66800
2024-10-29 12:44:23 +00:00
Rik Hassing
3325941ced YASK#82997
- Add lcl_prs_unapproved

svn path=/Database/trunk/; revision=66791
2024-10-28 12:44:37 +00:00
6ed931dff2 Merge DB49a patches (final)
svn path=/Database/trunk/; revision=66785
2024-10-28 09:24:31 +00:00
Maykel Geerdink
67a942d041 VNOG#81617: Object en/of onderdelen kunnen selecteren in meldingen.
svn path=/Database/trunk/; revision=66776
2024-10-24 16:48:56 +00:00
Rik Hassing
91de6d7a44 LOGC#74061
- Add trackaction
- Change trackaction code for mld_melding_behandelaar_key

svn path=/Database/trunk/; revision=66773
2024-10-24 11:50:58 +00:00
Rik Hassing
b3da0d489a LOGC#74061
- Add check for status
- Trackaction error. Commented out for now (looking in to it)

svn path=/Database/trunk/; revision=66772
2024-10-24 11:36:31 +00:00
Rik Hassing
842523adf5 LOGC#74061
- Delete mld_melding_behandelaar(2)_key when associated user is deleted

svn path=/Database/trunk/; revision=66767
2024-10-24 09:44:26 +00:00
730e92ca34 Merge DB49a patches (ongoing)
svn path=/Database/trunk/; revision=66698
2024-10-18 10:06:48 +00:00
Erik Groener
75f3029c5d FCLT#81526 Standaard import voor MJOB
svn path=/Database/branches/DB49/; revision=66675
2024-10-17 10:56:16 +00:00
Rik Hassing
ac89b4e0c6 KFNS#84062
- Edit description for setting: mld_afmelden_popup_for_all_km

svn path=/Database/trunk/; revision=66674
2024-10-17 10:45:10 +00:00
22dd769d73 AAXX#81521 EXC_TAB.SRC gelijk aan upgrade script trekken
svn path=/Database/branches/DB49/; revision=66669
2024-10-17 09:31:31 +00:00
Peter Feij
d2789f4061 SINN#83743 ORA-00904 fix
svn path=/Database/branches/DB49/; revision=66667
2024-10-17 08:57:36 +00:00
2c95b17965 AAXX#81521 syntax-error (komma teveel)
svn path=/Database/branches/DB49/; revision=66663
2024-10-17 07:32:31 +00:00
Peter Feij
0e535ac524 FCLT#84824 Voorbeelddata mag zelfs niet per ongeluk geldig zijn
svn path=/Database/branches/DB49/; revision=66662
2024-10-17 07:32:06 +00:00
Maykel Geerdink
5519b38b2b BAUS#80301: Opties voor aanmaken kenmerken bij taken gelijk maken als bij andere modules.
svn path=/Database/branches/DB49/; revision=66653
2024-10-16 14:24:56 +00:00
d23f54628c PCHX#82938 Alleen specifieker proberen te matchen wanneer nodig, en dan nog coulant (volgens onderstaand algoritme)
svn path=/Database/branches/DB49/; revision=66651
2024-10-16 13:27:19 +00:00
Peter Feij
8dae0eb109 BAUS#82920 Controlemode_succes is nu ja/nee/Onbekend ipv 1/0/null
svn path=/Database/branches/DB49/; revision=66650
2024-10-16 13:24:30 +00:00
Erik Groener
e2bc7c5e79 SCHG#85790 Problemen bij importeren contracten vanuit Mocadocs naar FIP-sheet
svn path=/Database/branches/DB49/; revision=66647
2024-10-16 12:10:18 +00:00
Peter Feij
c573a11095 SINN#83743 prs_afdeling_naam8 toegevoegd met bedrijfsnaam-omschrijving
svn path=/Database/branches/DB49/; revision=66646
2024-10-16 11:50:30 +00:00
Erik Groener
746346d05e SCHG#85790 Problemen bij importeren contracten vanuit Mocadocs naar FIP-sheet
svn path=/Database/branches/DB49/; revision=66645
2024-10-16 11:41:48 +00:00
Peter Feij
16dc865532 SINN#83743 prs_afdeling_naam7 toegevoegd met bedrijfsnaam-prefix na advies JGL
svn path=/Database/branches/DB49/; revision=66644
2024-10-16 11:35:00 +00:00
Peter Feij
f15a76564c SINN#83743 prs_afdeling_naam7 toegevoegd met bedrijfsnaam-prefix reverted
svn path=/Database/branches/DB49/; revision=66643
2024-10-16 11:23:56 +00:00
Erik Groener
962c8c0d9b FCLT#81526 Standaard import voor MJOB
svn path=/Database/branches/DB49/; revision=66640
2024-10-16 10:41:31 +00:00
68ccf4c607 AAXX#81521 Default van res_rsv_ruimte_visibility -> 1 (=Normal)
SCHG#85790 cnt_soort -> VARCHAR2(60)

svn path=/Database/branches/DB49/; revision=66637
2024-10-16 10:32:59 +00:00
Erik Groener
9aee7571d2 SCHG#85790 Problemen bij importeren contracten vanuit Mocadocs naar FIP-sheet
svn path=/Database/branches/DB49/; revision=66636
2024-10-16 10:14:30 +00:00
Erik Groener
60e603c899 AREO#84307 Werkplek kunnen reserveren voor een ander
svn path=/Database/branches/DB49/; revision=66633
2024-10-16 09:50:05 +00:00
Rik Hassing
13063efedc KFNS#84062
- Add setting: mld_afmelden_popup_for_all_km

svn path=/Database/trunk/; revision=66628
2024-10-16 08:32:19 +00:00
Jos Groot Lipman
f17a3aea06 FCLT#85929 Favorieten moeten niet in de menu-export
svn path=/Database/branches/DB49/; revision=66627
2024-10-16 08:24:07 +00:00
Peter Feij
536a2b42d6 SINN#83743 prs_afdeling_naam7 toegevoegd met bedrijfsnaam-prefix
svn path=/Database/branches/DB49/; revision=66621
2024-10-15 16:39:40 +00:00
bd89c91775 AAXX#81521 savepoint DB
svn path=/Database/branches/DB49/; revision=66619
2024-10-15 15:57:52 +00:00
b20a995a70 AAXX#81521 res_rsv_ruimte_visibility toegevoegd om zichtbaarheid (zoals private outlook afspraken) vast te leggen
svn path=/Database/branches/DB49/; revision=66608
2024-10-15 10:19:23 +00:00
Peter Feij
41dff14643 FCLT#84824 Rechten specifiek alleen toekennen op eigen vakgroepen-fixed
svn path=/Database/branches/DB49/; revision=66579
2024-10-14 09:28:36 +00:00
Jos Groot Lipman
7d6f719aad FCLT#85802 Bij de tracking-node in de XML ook de fac_tracking_key opnemen voor als je scherp wilt sorteren.
svn path=/Database/branches/DB49/; revision=66575
2024-10-14 08:08:01 +00:00
96b38f8049 Merge DB49a patches (ongoing)
svn path=/Database/trunk/; revision=66564
2024-10-11 11:02:14 +00:00
Suzan Wiegerinck
86148dc9fb FCLT#84824 "Problems en wijzigingen moeten een groepering kunnen zijn" --> dat klopt niet, alleen een problem moet een groeprering van incidenten zijn.
svn path=/Database/branches/DB49/; revision=66557
2024-10-10 13:23:40 +00:00
Suzan Wiegerinck
77fbd5aed8 FCLT#84824 Standaardmeldingen aangepast, menu-item toegevoegd, autorisaties aangepast
svn path=/Database/branches/DB49/; revision=66552
2024-10-10 12:14:43 +00:00
Jos Groot Lipman
8a2bbb9646 RWSN#85681 Foutmelding bij importeren van kenmerken langer dan 1000 posities in MJOB object
svn path=/Database/trunk/; revision=66549
2024-10-10 11:02:39 +00:00
Peter Feij
f0571d6414 FCLT#84824 Rechten specifiek alleen toekennen op eigen vakgroepen-fix
svn path=/Database/branches/DB49/; revision=66546
2024-10-10 08:54:29 +00:00
Maykel Geerdink
6dc268b930 BVB1#79788: Bevindingen MJOB realisatiescherm.
svn path=/Database/trunk/; revision=66537
2024-10-09 12:12:20 +00:00
Peter Feij
81c0e9a600 FCLT#84824 Rechten specifiek alleen toekennen op eigen vakroepen
svn path=/Database/branches/DB49/; revision=66526
2024-10-08 15:17:07 +00:00
Erik Groener
2e9cf4de53 PLGR#85484 Probleem bij importeren van kenmerken naar contracten zonder contractsoort
svn path=/Database/trunk/; revision=66513
2024-10-08 06:10:17 +00:00
43d0d9e96f Upgrade script template (echt)
svn path=/Database/trunk/; revision=66511
2024-10-07 18:52:24 +00:00
8c18c51567 Upgrade script template (Nu in de juiste branch ;)
svn path=/Database/branches/DB49/; revision=66510
2024-10-07 18:41:40 +00:00
d70d7b3dab Upgrade script template (Nu in de juiste branch ;)
svn path=/Database/trunk/; revision=66510
2024-10-07 18:41:40 +00:00
48cc15e156 Upgrade script template
svn path=/Database/branches/DB49/; revision=66509
2024-10-07 18:34:16 +00:00
24c4b13272 Versie DB50
svn path=/Database/trunk/; revision=66508
2024-10-07 18:26:45 +00:00
fbac1bc072 Branch DB49
svn path=/Database/branches/DB49/; revision=66507
2024-10-07 18:24:15 +00:00
Maykel Geerdink
45718b05cb BAUS#80301: Opties voor aanmaken kenmerken bij taken gelijk maken als bij andere modules.
svn path=/Database/trunk/; revision=66495
2024-10-07 13:25:11 +00:00
Erik Groener
80306f91a1 FCLT#81526 Standaard import voor MJOB
svn path=/Database/trunk/; revision=66481
2024-10-07 09:02:20 +00:00
Peter Feij
9edeea209b FCLT#85233 Subtiele tekstverduidelijking label
svn path=/Database/trunk/; revision=66476
2024-10-07 07:43:18 +00:00
Erik Groener
d36d100458 ALKM#85717 Fout: ORA-12899 waarde te groot voor kolom PRS_SRTPERSLID bij PATCH-request
svn path=/Database/trunk/; revision=66463
2024-10-04 07:40:05 +00:00
Erik Groener
4a2bcd10cf FCLT#83767 Data-roundtrip via Excel/CSV voor bulkdata aanvulling (evt mutaties)
svn path=/Database/trunk/; revision=66460
2024-10-04 06:46:34 +00:00
Erik Groener
9f7b172bf8 STER#85441 Probleem met ruimte import: Verwijderde verdiepingen worden meegenomen in query
svn path=/Database/trunk/; revision=66443
2024-10-03 07:31:30 +00:00
Suzan Wiegerinck
7ea582ab10 FCLT#84691 Beperken vervolgmeldingen in incident- en changemanagementprocessen ingesteld
FCLT#84824 Vertalingen en autorisaties op orde gemaakt, icoontjes opgenomen

svn path=/Database/trunk/; revision=66440
2024-10-03 07:05:56 +00:00
Maykel Geerdink
a3754231f9 BAUS#80301: Opties voor aanmaken kenmerken bij taken gelijk maken als bij andere modules.
svn path=/Database/trunk/; revision=66431
2024-10-02 14:33:29 +00:00
Maykel Geerdink
b17de88f39 BAUS#80301: Opties voor aanmaken kenmerken bij taken gelijk maken als bij andere modules.
svn path=/Database/trunk/; revision=66424
2024-10-02 13:52:56 +00:00
Erik Groener
85105cbcf8 FCLT#83767 Data-roundtrip via Excel/CSV voor bulkdata aanvulling (evt mutaties)
svn path=/Database/trunk/; revision=66423
2024-10-02 13:50:41 +00:00
Peter Feij
ec9b1bde1e FCLT#84695 Kleine conflictvermijdende aanpassingen
svn path=/Database/trunk/; revision=66419
2024-10-02 11:51:48 +00:00
Ilonka Maatman
40f6c41edc #85500 Fout in uitleg autorisatie WEB_ORDFIN aanpassen in Facilitor en help-sectie
svn path=/Database/trunk/; revision=66417
2024-10-02 11:24:20 +00:00
Erik Groener
d4b8db58c5 FCLT#83767 Data-roundtrip via Excel/CSV voor bulkdata aanvulling (evt mutaties)
svn path=/Database/trunk/; revision=66415
2024-10-02 10:44:24 +00:00
Rik Hassing
19dd829a54 FMHN#83674 Onmogelijk maken voor zelfservice om te reserveren op feestdagen/weekend
- Add lcl for when a holiday in chosen series of days is detected.

svn path=/Database/trunk/; revision=66405
2024-10-02 07:08:34 +00:00
Rik Hassing
19af9fc0fb FMHN#83674 Onmogelijk maken voor zelfservice om te reserveren op feestdagen/weekend
- Add lcl for strict holiday

svn path=/Database/trunk/; revision=66403
2024-10-02 06:47:25 +00:00
Maykel Geerdink
04e15ebee7 KMMO#82722: Kan er een knop toegevoegd worden om geaccordeerde taken terug te zetten.
svn path=/Database/trunk/; revision=66401
2024-10-02 06:38:20 +00:00
Jos Groot Lipman
7bfb9b6de4 FCLT#85545 App-notificaties oude ongebruikte secret wissen
svn path=/Database/trunk/; revision=66397
2024-10-01 13:58:00 +00:00
Jos Groot Lipman
eb8425ec7e FCLT#55803 fac_version_cust default USER laten zijn, is een goede default
svn path=/Database/trunk/; revision=66396
2024-10-01 13:46:58 +00:00
Jos Groot Lipman
ff6b515338 FCLT#85545 App-notificaties op android via Google HTTP v1 API
svn path=/Database/trunk/; revision=66395
2024-10-01 13:42:54 +00:00
Peter Feij
79a70ae0ee FCLT#85565 menutaak voor unused entitities toegevoegd
svn path=/Database/trunk/; revision=66389
2024-10-01 10:21:30 +00:00
Erik Groener
3fbe4a03c1 VLKC#84849 Koppeling Facilitor en Teams voor bezoekersmelding
svn path=/Database/trunk/; revision=66387
2024-10-01 09:57:48 +00:00
Jos Groot Lipman
a8ad890f48 YKPN#85668 Te lange (ongeldige) referentie bij factuur import moet niet tot een ORA-06502 leiden
svn path=/Database/trunk/; revision=66381
2024-09-30 12:48:45 +00:00
Jos Groot Lipman
f6dc3b6745 FCLT#85233 Code refactoring, geen inhoudelijke change
svn path=/Database/trunk/; revision=66344
2024-09-26 08:00:03 +00:00
Jos Groot Lipman
3ff983f174 FCLT#85233 Logfile rotate al bij 256kB ipv. 4MB per dag. Ruimt iets beter op
svn path=/Database/trunk/; revision=66298
2024-09-24 10:42:33 +00:00
Jos Groot Lipman
be7f89e25a FCLT#80469 procedure prs.set_afdeling_verwijder(prs_afdeling_key) alvast toevoegen (2025.1)
svn path=/Database/trunk/; revision=66241
2024-09-18 10:20:53 +00:00
Peter Feij
3ee75fcfef CSUN#85306 Kennisbankuitbreiding voor klant-specifieke werkinstructies, opzet
svn path=/Database/trunk/; revision=66239
2024-09-18 09:10:21 +00:00
Erik Groener
a97533f674 FCLT#83767 Data-roundtrip via Excel/CSV voor bulkdata aanvulling (evt mutaties)
svn path=/Database/trunk/; revision=66215
2024-09-17 07:04:03 +00:00
Rik Hassing
63b6036034 PCHX#85307 Factuur bolletjes kunnen zetten zonder schrijfrechten.
- Revert adding setting to update file. 

svn path=/Database/trunk/; revision=66211
2024-09-17 06:07:01 +00:00
Rik Hassing
415ce4d841 PCHX#85307 Factuur bolletjes kunnen zetten zonder schrijfrechten.
Add setting fin_factuur_flags_list_usage

svn path=/Database/trunk/; revision=66210
2024-09-16 14:35:15 +00:00
Rik Hassing
6c801f6560 FMHN#83674 Onmogelijk maken voor zelfservice om te reserveren op feestdagen/weekend
- Add strict option for res_247organisation

svn path=/Database/trunk/; revision=66206
2024-09-16 12:56:34 +00:00
Erik Groener
d7977c2d32 FCLT#83767 Data-roundtrip via Excel/CSV voor bulkdata aanvulling (evt mutaties)
svn path=/Database/trunk/; revision=66196
2024-09-13 10:02:21 +00:00
Rik Hassing
a0ba8f4a76 FCLT#84691 Beperken vervolgmeldingen in incident- en changemanagementprocessen
Add LCL('mld_vervolg_beperking') And LCL('mld_vervolg_beperking_m')

svn path=/Database/trunk/; revision=66176
2024-09-11 13:27:14 +00:00
Erik Groener
273e9abf51 FCLT#83767 Data-roundtrip via Excel/CSV voor bulkdata aanvulling (evt mutaties)
svn path=/Database/trunk/; revision=66172
2024-09-11 10:06:17 +00:00
Peter Feij
536d882f0e SKHF#83099 Instelling puo_order_flexfiles
svn path=/Database/trunk/; revision=66160
2024-09-09 14:13:18 +00:00
Jos Groot Lipman
6bdf9d550b YAXX#85315 Bijlagen notities niet gesynchroniseerd tussen VBGO en LOGC
svn path=/Database/trunk/; revision=66136
2024-09-05 08:25:01 +00:00
Peter Feij
104195277d LOGC#83589 Melding gereed melden en na x dagen automatisch definitief afmelden - functie daarvoor
svn path=/Database/trunk/; revision=66122
2024-09-04 08:21:55 +00:00
Erik Groener
be3b76b638 PCHX#80376 Kunnen we een einddatum meegeven bij vervangers?
svn path=/Database/trunk/; revision=66095
2024-09-02 06:32:46 +00:00
f8746bf3ef FCLT#85213 lcl aanpassing
svn path=/Database/trunk/; revision=66088
2024-08-30 15:24:49 +00:00
fd6d925da7 FCLT#85037 Afmelddatum van blokken tonen
svn path=/Database/trunk/; revision=66083
2024-08-30 13:40:11 +00:00
b9d809f17a VGLD#82219 + lcl_bes_opdr_kenmerk_visible; 'Ook bij de bestelopdracht tonen'
svn path=/Database/trunk/; revision=66079
2024-08-29 14:48:56 +00:00
Peter Feij
2d856986fb FCLT#85233 savepoint
svn path=/Database/trunk/; revision=66076
2024-08-29 12:59:22 +00:00
Jos Groot Lipman
a3813ffd50 HSLE#81369 - Heropenen meldingen op basis van autorisatiegroep
svn path=/Database/trunk/; revision=66075
2024-08-29 12:37:59 +00:00
2bd3095486 FBEA#83210 + res_activiteit_color
svn path=/Database/trunk/; revision=66073
2024-08-29 12:19:14 +00:00
Jos Groot Lipman
11bb6c1054 FCLT#85233 daily/weekly/monthly wel loggen in IMP_LOG
svn path=/Database/trunk/; revision=66062
2024-08-29 07:57:38 +00:00
Maykel Geerdink
2a7eb41142 BAUS#80301: Opties voor aanmaken kenmerken bij taken gelijk maken als bij andere modules.
svn path=/Database/trunk/; revision=66060
2024-08-28 15:40:19 +00:00
de6d5d5dbd VLKC#84483 Geen factuurmatching als het Contractbedrag leeg is gelaten (itt 0)
svn path=/Database/trunk/; revision=66058
2024-08-28 15:08:40 +00:00
a5dbabbb88 YAXX#84507 Alleen fac_setting_pvalue hoeft geupgrade te worden
svn path=/Database/trunk/; revision=66053
2024-08-28 13:50:34 +00:00
33052acdcb YAXX#84507 offerteaanvraag naar andere leveranciers dan voorkeur
svn path=/Database/trunk/; revision=66051
2024-08-28 13:37:33 +00:00
Maykel Geerdink
b7031657f6 BAUS#80301: Opties voor aanmaken kenmerken bij taken gelijk maken als bij andere modules.
svn path=/Database/trunk/; revision=66047
2024-08-28 11:51:50 +00:00
a5174c2934 FCLT#85238 S(mld_show_order_details), S(mld_orderlist_columns_compact) & S(mld_orderlist_columns_full) wegge-refactored
svn path=/Database/trunk/; revision=66032
2024-08-27 08:14:44 +00:00
Erik Groener
a2cd5e777f BLCC#81700 Kostensoort van catalogi gewist na import verbruiksartikelen
svn path=/Database/trunk/; revision=66028
2024-08-26 13:01:50 +00:00
a1eeb1aac1 FCLT#85233 deprecated settings removed; mobile_imageportal & mld_melding_actiecode & udr_graph_default_json
svn path=/Database/trunk/; revision=66025
2024-08-26 11:51:27 +00:00
Ilonka Maatman
672662b7f5 FCLT#85213 Foute labels en uitleg bij velden over behandelaar in vakgroep scherm.
svn path=/Database/trunk/; revision=66010
2024-08-23 14:15:01 +00:00
dd89721b16 VBGO#85208 Eerst kijken of de gebruiker mag overrulen voordat we early-exit'en
svn path=/Database/trunk/; revision=66008
2024-08-23 09:21:46 +00:00
c9eba75bba PCHW#84812 geen functionele wijziging
svn path=/Database/trunk/; revision=66003
2024-08-22 11:41:22 +00:00
Maykel Geerdink
15df66f5fc VNOG#84884: Voor Core implementeren: Automatische taakstart op plandatum werkt niet.
svn path=/Database/trunk/; revision=66000
2024-08-22 10:32:28 +00:00
Maykel Geerdink
5b9b4f7a01 VNOG#84884: Voor Core implementeren: Automatische taakstart op plandatum werkt niet.
svn path=/Database/trunk/; revision=65999
2024-08-22 10:25:21 +00:00
Rik Hassing
7c1df3ab1d PCHW#84812 PCHW wijziging mislukt door ontbrekende afdeling omschrijving
lcl terug gezet naar hardcoded 'Onbekend' i.v.m. dat het in de FAC_INI.SRC ook zo gezet wordt.

svn path=/Database/trunk/; revision=65997
2024-08-22 09:51:18 +00:00
Rik Hassing
30b23bbfe4 PCHW#84812 PCHW wijziging mislukt door ontbrekende afdeling omschrijving
- Kijkt naar default taal voor vertaling van 'Onbekend'

svn path=/Database/trunk/; revision=65996
2024-08-22 08:20:01 +00:00
Jos Groot Lipman
5920766645 STER#85198 Database versie niet helemaal correct
svn path=/Database/trunk/; revision=65995
2024-08-22 08:09:11 +00:00
Rik Hassing
8752ce48e9 PCHW#84812 PCHW wijziging mislukt door ontbrekende afdeling omschrijving
- Update prs_afdeling_omschrijving naar 'Onbekend' als die leeg is en prs_afdeling_naam '''Onbekend' is.

svn path=/Database/trunk/; revision=65994
2024-08-22 07:52:22 +00:00
719655ed35 FCLT#83437 S(ins_related_diagram_depth_min/max) toegevoegd
svn path=/Database/trunk/; revision=65992
2024-08-21 18:15:01 +00:00
3af80d95df FCLT#85185 fclt-skolar-sans uit opgeslagen css-templates verwijderen
svn path=/Database/trunk/; revision=65980
2024-08-21 11:51:36 +00:00
Peter Feij
753a00f026 WOXX#85186 Integratie Plato-preconfiguratie in GUI via INI\PLAT\plat_ini.sql
svn path=/Database/trunk/; revision=65978
2024-08-21 11:37:14 +00:00
Peter Feij
6fcc26303d BAUS#82920 UDR periodieke taken bevat niet resultaat van voltooide taken
svn path=/Database/trunk/; revision=65958
2024-08-20 14:37:23 +00:00
05070925f0 FCLT#84334 De rechten voor 2 menuopties aangepast van PRSSYS -> MLDMGT
svn path=/Database/trunk/; revision=65955
2024-08-20 13:00:10 +00:00
Peter Feij
bdd56a3946 PNBR#80680 Rapporteren doorlooptijd per behandelteam
LOGC#85166 tekst van gegenereerde melding (door Koen)

svn path=/Database/trunk/; revision=65952
2024-08-20 11:04:28 +00:00
Maykel Geerdink
c72c01b73b VNOG#84884: Voor Core implementeren: Automatische taakstart op plandatum werkt niet.
svn path=/Database/trunk/; revision=65951
2024-08-20 11:03:34 +00:00
Peter Feij
113a91179a FCLT#84695Aanpassing standaard menu-items bij ITSM en FMIS inrichting
svn path=/Database/trunk/; revision=65950
2024-08-20 10:25:07 +00:00
Jos Groot Lipman
9aeac78c9c FCLT#84940 Performance anonimiseer routines
svn path=/Database/trunk/; revision=65940
2024-08-19 12:39:33 +00:00
Peter Feij
4821d9944b MARX#80460 Technisch adres ook bij intern bedrijf
svn path=/Database/trunk/; revision=65919
2024-08-15 17:26:01 +00:00
Rik Hassing
6c9c54fb4a HSLE#81370 Automatisch geaccepteerde workflow melding accepteerder en afmelder tracken
svn path=/Database/trunk/; revision=65910
2024-08-15 10:51:08 +00:00
Rik Hassing
23194ce9ec HSLE#81370 Automatisch geaccepteerde workflow melding accepteerder en afmelder tracken
If only there is a rootmelding (quickmelding), use p_user_key.

svn path=/Database/trunk/; revision=65907
2024-08-15 08:09:14 +00:00
Peter Feij
e9d2aa1ee5 PNBR#80680 Rapporteren doorlooptijd per behandelteam: bezwaar dat vertaling in lagere view zit verwijderd
svn path=/Database/trunk/; revision=65906
2024-08-15 07:42:08 +00:00
487b42828f HSLE#84818 Setting omschrijving aangepast
svn path=/Database/trunk/; revision=65894
2024-08-14 12:09:32 +00:00
Rik Hassing
fff9fe747e HSLE#84818 standaardteksten layout instelling maken
Change description of mld_can_reopen_call

svn path=/Database/trunk/; revision=65884
2024-08-14 08:48:19 +00:00
Peter Feij
a6399108c8 FCLT#84691 Onlogische stapsgewijze keuzes in incident- en changemanagementprocessen voorkomen/ QA Jos
svn path=/Database/trunk/; revision=65877
2024-08-13 15:06:05 +00:00
Jos Groot Lipman
37fdbde5ad FMHN#84318 en FCLT#84626 syntax errors
svn path=/Database/trunk/; revision=65866
2024-08-13 07:58:57 +00:00
Rik Hassing
116c69bceb HSLE#84818 standaardteksten layout instelling maken
- Change setting name "mld_standardtexts_visibility_constant" to "mld_afmeldtekst_compact_threshold"

svn path=/Database/trunk/; revision=65862
2024-08-13 07:47:09 +00:00
Peter Feij
94827493be PNBR#80680 Rapporteren doorlooptijd per behandelteam: ook 2bo/2fo
svn path=/Database/trunk/; revision=65860
2024-08-13 07:32:13 +00:00
Suzan Wiegerinck
a2a6170594 FCLT#80263 ITIL/IT Service Management 'module', eerste versie is in 2024.2 opgeleverd
svn path=/Database/trunk/; revision=65852
2024-08-12 14:37:43 +00:00
Jos Groot Lipman
24c15533cd FCLT#81526 Standaard import voor MJOB
svn path=/Database/trunk/; revision=65842
2024-08-12 09:28:07 +00:00
Rik Hassing
22b326ba5c HSLE#84818 standaardteksten layout instelling maken
Add mld_standardtexts_visibility_constant

svn path=/Database/trunk/; revision=65837
2024-08-09 08:39:41 +00:00
Rik Hassing
4580ffb6f3 FCLT#83953 mld_melding_onderwerp is met 80 posities vaak erg kort
svn path=/Database/trunk/; revision=65834
2024-08-09 07:28:38 +00:00
Peter Feij
fef51ed4df PNBR#80680 Rapporteren doorlooptijd per behandelteam
svn path=/Database/trunk/; revision=65824
2024-08-07 12:28:34 +00:00
Peter Feij
4b4c972b69 PNBR#80680 Rapporteren doorlooptijd per behandelteam
svn path=/Database/trunk/; revision=65823
2024-08-07 12:15:01 +00:00
Peter Feij
33ec2050fc PNBR#80680 Rapporteren doorlooptijd per behandelteam
svn path=/Database/trunk/; revision=65818
2024-08-06 12:15:40 +00:00
Peter Feij
30bb325ada PNBR#80680 Rapporteren doorlooptijd per behandelteam
svn path=/Database/trunk/; revision=65817
2024-08-06 11:52:16 +00:00
Rik Hassing
13505faa1d HSLE#81370 Automatisch geaccepteerde workflow melding accepteerder en afmelder tracken
userkey parameter toegevoegd bij mld_nextworkflowstep

svn path=/Database/trunk/; revision=65807
2024-08-06 09:31:37 +00:00
Peter Feij
468e12d7a1 PNBR#80680 Rapporteren doorlooptijd per behandelteam
svn path=/Database/trunk/; revision=65803
2024-08-05 18:16:51 +00:00
Peter Feij
1fde8305d9 PNBR#80680 Rapporteren doorlooptijd per behandelteam (savepoint, deze gaan we vooralsnog niet gebruiken)
svn path=/Database/trunk/; revision=65802
2024-08-05 18:15:23 +00:00
a992f8bb70 FCLT#84691 NOT NULL stond niet op de juiste plek
svn path=/Database/trunk/; revision=65786
2024-08-01 15:50:58 +00:00
Peter Feij
41e2998e19 PNBR#80680 Rapporteren doorlooptijd per behandelteam
svn path=/Database/trunk/; revision=65779
2024-08-01 11:28:39 +00:00
105b879c26 FCLT#84940 Punt 2, 3 & 6
svn path=/Database/trunk/; revision=65777
2024-08-01 11:01:33 +00:00
Maykel Geerdink
c6f575cdc4 VNOG#84884: Voor Core implementeren: Automatische taakstart op plandatum werkt niet.
svn path=/Database/trunk/; revision=65773
2024-08-01 07:39:48 +00:00
Maykel Geerdink
98d064df86 CSUN#84466: Multiactie voltooien werkt niet altijd.
svn path=/Database/trunk/; revision=65767
2024-07-31 09:47:06 +00:00
Peter Feij
6a70c1a1e5 FCLT#84691 Onlogische stapsgewijze keuzes in incident- en changemanagementprocessen voorkomen
svn path=/Database/trunk/; revision=65757
2024-07-29 13:49:21 +00:00
ce59b740a2 BLCC#80311 typo
svn path=/Database/trunk/; revision=65738
2024-07-26 13:08:44 +00:00
c8500356f0 BLCC#80311 lcl's vorige/volgende week
svn path=/Database/trunk/; revision=65735
2024-07-26 11:40:05 +00:00
Erik Groener
179d1cdf4b FCLT#81526 Standaard import voor MJOB
svn path=/Database/trunk/; revision=65728
2024-07-26 08:18:49 +00:00
23ea190065 Merge 2024.2 DB48c patches (effectief no change)
svn path=/Database/trunk/; revision=65721
2024-07-25 12:42:58 +00:00
663b4b00bc EIND#84700 S(note_draft_history_days) voor draft notities
svn path=/Database/trunk/; revision=65715
2024-07-25 09:38:31 +00:00
Rik Hassing
3e68e78b3f BLCC#84553 Tracking scope contracten duidelijker
svn path=/Database/trunk/; revision=65686
2024-07-23 11:04:00 +00:00
Rik Hassing
cac5d10aff YAXX#83343 Afwijkend afzender mail adres bij facturen
Define setting: fin_replyaddress

svn path=/Database/trunk/; revision=65679
2024-07-23 07:33:36 +00:00
Rik Hassing
756c96c262 HSLE#81369 Heropenen meldingen op basis van autorisatiegroep
update reopen description with WEB_MLDREO

svn path=/Database/trunk/; revision=65678
2024-07-23 07:31:09 +00:00
Rik Hassing
5d28f6c540 HSLE#81369 - Heropenen meldingen op basis van autorisatiegroep
svn path=/Database/trunk/; revision=65663
2024-07-22 13:11:07 +00:00
Maykel Geerdink
be73356b47 AAIT#70980: Extra prioritering meegeven in MJOB-planning/begroting.
svn path=/Database/trunk/; revision=65662
2024-07-22 12:48:16 +00:00
Lisa de Boer
4c5609590b FCLT#80553 LCL bijgewerkt.
svn path=/Database/trunk/; revision=65659
2024-07-22 12:11:49 +00:00
Jos Groot Lipman
67ee3e7056 Merge 2024.2 DB48c patches
svn path=/Database/trunk/; revision=65657
2024-07-22 11:35:08 +00:00
Erik Groener
21fc0419a4 FCLT#84626 Probleem met te lange client_id bij oAuth authenticatie in BLCC#83852
svn path=/Database/trunk/; revision=65628
2024-07-18 08:30:54 +00:00
Erik Groener
38fc7b8e27 FCLT#84526 Filters op empty bij transport flexkenmerken en periodieke taken.
svn path=/Database/trunk/; revision=65583
2024-07-16 09:56:21 +00:00
Erik Groener
ae446074d8 FCLT#80320 Hoe omgaan met Undeliverable berichten naar Facilitor mail2melding
svn path=/Database/trunk/; revision=65575
2024-07-15 14:10:58 +00:00
Maykel Geerdink
0b44737d13 FMHN#83109: Uitleenhistorie - eerste vulling van ins_deel_uitgifte.
svn path=/Database/trunk/; revision=65546
2024-07-11 13:17:38 +00:00
Erik Groener
5d0ae887f4 FMHN#84318 instellen bedrijfskalender
svn path=/Database/trunk/; revision=65539
2024-07-11 07:09:04 +00:00
Maykel Geerdink
34f1102408 FMHN#83109: Uitleenhistorie - eerste vulling van ins_deel_uitgifte.
svn path=/Database/trunk/; revision=65532
2024-07-10 15:24:16 +00:00
Jos Groot Lipman
89be7cf529 FCLT#84550 Standaard niet meer uitloggen bij IP wissel
svn path=/Database/trunk/; revision=65500
2024-07-09 13:45:51 +00:00
Erik Groener
e24cbb07bb FMHN#84318 instellen bedrijfskalender
svn path=/Database/trunk/; revision=65492
2024-07-09 11:35:54 +00:00
31d92c6c3f Merge 2024.2 DB48b patches
svn path=/Database/trunk/; revision=65485
2024-07-09 08:51:53 +00:00
Erik Groener
3f7d407d68 FMHN#84318 instellen bedrijfskalender
svn path=/Database/trunk/; revision=65443
2024-07-05 10:14:33 +00:00
Erik Groener
4ea3fc4ff4 FMHN#84318 instellen bedrijfskalender
svn path=/Database/trunk/; revision=65440
2024-07-05 09:12:00 +00:00
Erik Groener
af0fda1873 FMHN#84318 instellen bedrijfskalender
svn path=/Database/trunk/; revision=65438
2024-07-05 08:59:55 +00:00
Erik Groener
d794feeb9d FMHN#84318 instellen bedrijfskalender
svn path=/Database/trunk/; revision=65433
2024-07-04 08:43:09 +00:00
025f9a2cf1 CSUN#82890 revert r65403
svn path=/Database/trunk/; revision=65405
2024-07-03 09:43:22 +00:00
ee5ed58734 CSUN#82890 nooit gebruikte LCL's
svn path=/Database/trunk/; revision=65403
2024-07-03 09:40:30 +00:00
eded914b00 Merge 2024.2 DB48a patches
svn path=/Database/trunk/; revision=65396
2024-07-03 07:11:25 +00:00
Erik Groener
34d7c9dcda YAXX#83974 Importsheet externe bedrijven - kolomnamen van de export-view fac_v_exp_bedrijfadres gelijk gemaakt aan die in de importsheet
svn path=/Database/trunk/; revision=65382
2024-07-02 13:44:08 +00:00
Erik Groener
8f80ac8015 YAXX#83974 Importsheet externe bedrijven - kolomnamen van de export-view fac_v_exp_bedrijfadres gelijk gemaakt aan die in de importsheet
svn path=/Database/trunk/; revision=65379
2024-07-02 13:01:44 +00:00
Erik Groener
dea2459971 YAXX#83974 Importsheet externe bedrijven - kolomnamen van de export-view fac_v_exp_bedrijfadres gelijk gemaakt aan die in de importsheet
svn path=/Database/trunk/; revision=65368
2024-07-02 11:21:21 +00:00
Erik Groener
86b8d0d843 FCLT#84262 Anonimiseer-functie(s) doen niets met bijlagen in notities
svn path=/Database/trunk/; revision=65329
2024-06-28 08:32:37 +00:00
Erik Groener
d5544d8300 PCHX#82938 Geïmporteerde facturen specifieker aan gewenste contractversie koppelen
svn path=/Database/trunk/; revision=65297
2024-06-26 14:24:09 +00:00
Erik Groener
6eb497703a PCHX#81768 Plaats informatie toevoegen aan contract overzicht
svn path=/Database/trunk/; revision=65280
2024-06-25 14:22:00 +00:00
Jos Groot Lipman
1e3b1ff6ec EIND#82452 Meldingsomschrijving van 4000 naar 32767 oprekken
svn path=/Database/trunk/; revision=65245
2024-06-20 09:59:40 +00:00
Erik Groener
319b3c4e0d PCHX#80376 Kunnen we een einddatum meegeven bij vervangers?
svn path=/Database/trunk/; revision=65243
2024-06-20 09:19:14 +00:00
Erik Groener
29f6511b34 YAXX#83974 Importsheet externe bedrijven - technische adressen replyadres toevoegen
svn path=/Database/trunk/; revision=65236
2024-06-20 06:15:18 +00:00
Erik Groener
730071e702 YAXX#83974 Importsheet externe bedrijven - technische adressen replyadres toevoegen
svn path=/Database/trunk/; revision=65231
2024-06-19 14:51:39 +00:00
Jos Groot Lipman
8ae08cf73e FCLT#83940 Wat doet fac_api.fac_import_app_key eigenlijk
svn path=/Database/trunk/; revision=65230
2024-06-19 14:41:06 +00:00
Jos Groot Lipman
5d26277100 FCLT#83751 Mail2SOAP-dispatcher ontmantelen
svn path=/Database/trunk/; revision=65229
2024-06-19 14:40:06 +00:00
Erik Groener
92625d6ee1 PCHX#80376 Kunnen we een einddatum meegeven bij vervangers?
svn path=/Database/trunk/; revision=65226
2024-06-19 14:24:02 +00:00
Erik Groener
ccae9edcb9 FCLT#84230 flexbijlagen van ongerelateerde entiteiten komen in de XML
svn path=/Database/trunk/; revision=65212
2024-06-19 09:35:13 +00:00
58c2bfec35 Merge 2024.2 DB48a patches (ongoing)
svn path=/Database/trunk/; revision=65203
2024-06-18 14:12:53 +00:00
Erik Groener
5560215936 YAXX#83974 Importsheet externe bedrijven - technische adressen replyadres toevoegen
svn path=/Database/trunk/; revision=65199
2024-06-18 13:46:57 +00:00
Rik Hassing
6aac64962c Ticket FCLT#82437 Inzicht concept meldingen
Add menuitem lcl_menu_mld_concepts (Concept meldingen).
Add to update DB48to49

svn path=/Database/trunk/; revision=65198
2024-06-18 13:45:36 +00:00
5bbb923eec FCLT#76580 volgnr blijkbaar subtiel aangepast
svn path=/Database/trunk/; revision=65155
2024-06-17 08:33:35 +00:00
2e2ec5d478 FCLT#83491 Setup [Facilitor only] -> Setup
svn path=/Database/trunk/; revision=65145
2024-06-17 06:58:07 +00:00
e4f413ad36 Versie DB49
svn path=/Database/trunk/; revision=65117
2024-06-13 10:08:19 +00:00
Erik Groener
75908442f0 INLO#84099 Export view voor personen geeft verkeerde werkplek gegevens
svn path=/Database/trunk/; revision=65111
2024-06-13 09:26:42 +00:00
Suzan Wiegerinck
559bf94794 FCLT#80263 ITIL/IT Service Management 'module'
svn path=/Database/trunk/; revision=65102
2024-06-12 17:06:13 +00:00
c2a6cb08c3 MARX#84154 setting omschrijving
svn path=/Database/trunk/; revision=65100
2024-06-12 15:04:52 +00:00
1c5d49b64f FCLT#82420 +commentaar
svn path=/Database/trunk/; revision=65074
2024-06-11 10:53:17 +00:00
Erik Groener
b7da90f5cb FCLT#81526 Standaard import voor MJOB
svn path=/Database/trunk/; revision=65059
2024-06-10 13:28:14 +00:00
Maykel Geerdink
f6ed9c061c FCLT#82594: Melding 'opdelen' in deelmeldingen.
svn path=/Database/trunk/; revision=65049
2024-06-10 11:24:07 +00:00
Maykel Geerdink
493d8ae33d PCHX#82873: Voorwaarde voor herfiattering van opdrachten kunnen instellen.
svn path=/Database/trunk/; revision=65046
2024-06-10 10:29:22 +00:00
Erik Groener
a5d4f7cf85 MNNL#73376 Kennisbank-items (gebouwafhankelijk) bij bezoekersafspraak tonen
svn path=/Database/trunk/; revision=65045
2024-06-10 10:17:25 +00:00
Erik Groener
682d07f61e FCLT#81526 Standaard import voor MJOB
svn path=/Database/trunk/; revision=65044
2024-06-10 09:55:32 +00:00
Jos Groot Lipman
9d0e6a0e1b FCLT#84105 Notificatie trigger optimalisatie
svn path=/Database/trunk/; revision=65043
2024-06-10 09:19:22 +00:00
Rik Hassing
5b26d0ea71 FCLT#83387 whitespace
svn path=/Database/trunk/; revision=65042
2024-06-10 08:50:49 +00:00
Erik Groener
01c4485c9c TWYN#83949 niet kunnen verwijderen kostensoortgroepen
svn path=/Database/trunk/; revision=65037
2024-06-10 07:03:01 +00:00
52c506da13 WDKA#80394 kenmerktype Referentie (radio)
svn path=/Database/trunk/; revision=65032
2024-06-07 14:49:48 +00:00
Rik Hassing
2b7c9e7dae Insert mld_instemmer_self to make sure it exists
svn path=/Database/trunk/; revision=65023
2024-06-07 09:55:33 +00:00
Erik Groener
99f4bb6855 BAMG#83299 Wens tot veranderen einddatum - automatisch verlengen
svn path=/Database/trunk/; revision=65020
2024-06-07 07:05:36 +00:00
Rik Hassing
581cadde67 FCLT#83387 Move values from S(fac_reserved_number1) to S(mld_instemmer_self. Reset pvalue S(fac_reserved_number1).
svn path=/Database/trunk/; revision=65017
2024-06-06 13:56:15 +00:00
Rik Hassing
a4a1a9a89e Shorten description
svn path=/Database/trunk/; revision=65015
2024-06-06 13:04:06 +00:00
Maykel Geerdink
b5a0256474 FCLT#82594: Melding 'opdelen' in deelmeldingen.
svn path=/Database/trunk/; revision=65013
2024-06-06 12:13:44 +00:00
Rik Hassing
5a525bfe50 FCLT#83387
Adding fallback option for approving a concept if no consenter is defined or if you are the consenter.

svn path=/Database/trunk/; revision=65010
2024-06-06 11:00:40 +00:00
Jos Groot Lipman
22c8d7b73c FCLT#83782 AKZA: Ongeldige lcl's
svn path=/Database/trunk/; revision=65005
2024-06-06 08:51:08 +00:00
Maykel Geerdink
ebc5fe5955 FCLT#82594: Melding 'opdelen' in deelmeldingen.
MNNL#73376: Kennisbank-items (gebouwafhankelijk) bij bezoekersafspraak tonen.

svn path=/Database/trunk/; revision=65004
2024-06-06 08:48:40 +00:00
Erik Groener
c7a36ba065 MNNL#73376 Kennisbank-items (gebouwafhankelijk) bij bezoekersafspraak tonen
svn path=/Database/trunk/; revision=65002
2024-06-06 08:03:07 +00:00
Erik Groener
a4277d35da MNNL#73376 Kennisbank-items (gebouwafhankelijk) bij bezoekersafspraak tonen
svn path=/Database/trunk/; revision=65000
2024-06-06 07:30:40 +00:00
Erik Groener
16439d9f30 MNNL#73376 Kennisbank-items (gebouwafhankelijk) bij bezoekersafspraak tonen
svn path=/Database/trunk/; revision=64999
2024-06-06 07:04:27 +00:00
fcaccd41b8 YASK#84042 Gesloten contracten niet laten meewegen als 'stopper' bji het verwijderen van een gebouw waar dat contract bij hoort
svn path=/Database/trunk/; revision=64990
2024-06-05 11:34:47 +00:00
965d80e49e YASK#84042 Gesloten contracten niet laten meewegen als 'stopper' bji het verwijderen van een gebouw waar dat contract bij hoort
svn path=/Database/trunk/; revision=64988
2024-06-05 11:23:00 +00:00
Jos Groot Lipman
21cf862c5a FCLT#82420 QA Verzamelticket 2024.2
svn path=/Database/trunk/; revision=64983
2024-06-05 09:43:26 +00:00
Jos Groot Lipman
341201c435 CIZN#82871 Kunnen we ingelezen tekeningen met zwarte lijnen tonen
svn path=/Database/trunk/; revision=64982
2024-06-04 19:36:24 +00:00
Jos Groot Lipman
3941f03ae0 WDKA#80394 syntax constraint naam
svn path=/Database/trunk/; revision=64975
2024-06-04 15:21:13 +00:00
1a84bbdf23 WDKA#80394 syntax (haakje teveel)
svn path=/Database/trunk/; revision=64974
2024-06-04 15:05:34 +00:00
Jos Groot Lipman
9e05a2c0e6 PCHX#84006 fac_purge kan onterecht te nieuwe meldingen(/opdrachten) purgen
svn path=/Database/trunk/; revision=64971
2024-06-04 14:18:18 +00:00
Jos Groot Lipman
8ed241d884 FCLT#84043 FAC.count_work_days geeft foute waarde als weekenden als vrije dag zijn opgevoerd
svn path=/Database/trunk/; revision=64970
2024-06-04 14:13:55 +00:00
Jos Groot Lipman
6777a134ac FCLT#83472 Lege fac_tracking records zonder fac_srtnotificatie_oms opruimen bij anonimiseren
svn path=/Database/trunk/; revision=64964
2024-06-04 11:53:45 +00:00
Jos Groot Lipman
4b2a4c8efd MARX#83591 Trage performance door anonimiseer routine
svn path=/Database/trunk/; revision=64962
2024-06-04 10:40:38 +00:00
df9e922f44 WDKA#80394 + =
svn path=/Database/trunk/; revision=64961
2024-06-04 09:54:51 +00:00
Jos Groot Lipman
e26c8fc646 CIZN#82871 Kunnen we ingelezen tekeningen met zwarte lijnen tonen
svn path=/Database/trunk/; revision=64956
2024-06-03 15:57:22 +00:00
Jos Groot Lipman
949e8acdae SGGR#75301 Updatebericht RESUPD bevat hardcoded te weinig info
svn path=/Database/trunk/; revision=64955
2024-06-03 15:38:48 +00:00
Jos Groot Lipman
90fed6f1af FCLT#83973 Eenvoudige notificaties toch ook uitgebreidere body ondersteunen
svn path=/Database/trunk/; revision=64947
2024-06-03 13:27:12 +00:00
Jos Groot Lipman
939a4ff7d2 time-taken statement iets later plaatsen zodat laatste compile's ook meerekenen
svn path=/Database/trunk/; revision=64945
2024-06-03 13:14:25 +00:00
7386127aa8 WDKA#80394 kenmerksoort contraints mbt het kenmerktype verwijderd, tevens kenmerktype 'B' referenties verwijderd.
svn path=/Database/trunk/; revision=64938
2024-06-03 09:45:23 +00:00
624d0c34e9 PCHX#84002 Opdrachten van nieuw naar oud verwijderen zodat vervolgopdrachten eerst verwijderd worden
svn path=/Database/trunk/; revision=64927
2024-05-31 12:51:55 +00:00
5ae7d0af7d FCLT#81775 lcl's; In de context van OPDR; behandelaar -> opdrachtgever
svn path=/Database/trunk/; revision=64913
2024-05-30 14:41:12 +00:00
Jos Groot Lipman
05389dfca0 PZEE#75836 Catering bij reserveringen bestellen bij externe leveranciers
svn path=/Database/trunk/; revision=64910
2024-05-30 13:47:12 +00:00
Jos Groot Lipman
29daaebb0b CARE spul eens weg uit de makefile
Ook: iets andere volgorde doet de recreate misschien iets gegarandeerder

svn path=/Database/trunk/; revision=64909
2024-05-30 13:32:39 +00:00
Jos Groot Lipman
fc02707b3b FCLT#83940 Wat doet fac_api.fac_import_app_key eigenlijk
svn path=/Database/trunk/; revision=64906
2024-05-30 12:33:43 +00:00
Jos Groot Lipman
c9cec4dd0a PZEE#75836 Catering bij reserveringen bestellen bij externe leveranciers
svn path=/Database/trunk/; revision=64904
2024-05-30 12:30:53 +00:00
Erik Groener
9519ac73d4 FCLT#82157 Herkomst van de melding
svn path=/Database/trunk/; revision=64899
2024-05-30 10:21:10 +00:00
6917fecd5e BLOS#82278 1 check van de [U]pdate&[I]nsert-trigger verplaatst naar de [I]nsert-trigger van mld_opdr
svn path=/Database/trunk/; revision=64886
2024-05-29 15:57:34 +00:00
Jos Groot Lipman
af8fe47356 PZEE#75836 Catering bij reserveringen bestellen bij externe leveranciers
svn path=/Database/trunk/; revision=64882
2024-05-29 15:46:01 +00:00
Jos Groot Lipman
f33bc25b41 MARX#82611 API errors vaker als 400 status
svn path=/Database/trunk/; revision=64880
2024-05-29 14:12:21 +00:00
Jos Groot Lipman
47846e6c12 MARX#82611 API errors vaker als 400 status
svn path=/Database/trunk/; revision=64868
2024-05-29 10:12:49 +00:00
Jos Groot Lipman
c130f93afe EIND#82452 Meldingsomschrijving van 4000 naar 32767 oprekken
svn path=/Database/trunk/; revision=64867
2024-05-29 10:11:09 +00:00
Peter Feij
5dd35bffa3 FCLT#82420 Initieel menu-gehussel
svn path=/Database/trunk/; revision=64856
2024-05-28 16:28:08 +00:00
Peter Feij
d56af3e4d6 FCLT#80263 ITSM Service Management 'module' refinement
FCLT#82642 Standaard initiële FMIS vulling
FCLT#82420 Initieel menu-gehussel

svn path=/Database/trunk/; revision=64854
2024-05-28 14:51:11 +00:00
Jos Groot Lipman
340cf05cd4 FCLT#83782 AKZA: Ongeldige lcl's
svn path=/Database/trunk/; revision=64846
2024-05-28 10:28:32 +00:00
82782a9785 BLOS#82278 Vakgroep vd melding overnemen bij de opdracht indien gewijzigd
svn path=/Database/trunk/; revision=64845
2024-05-28 10:03:37 +00:00
Maykel Geerdink
81aa57b415 FCLT#82594: Melding 'opdelen' in deelmeldingen.
svn path=/Database/trunk/; revision=64836
2024-05-27 14:04:02 +00:00
Erik Groener
b94c36cac4 FCLT#83782 AKZA: Ongeldige lcl's
svn path=/Database/trunk/; revision=64825
2024-05-27 08:33:28 +00:00
Peter Feij
78b1fce12c PZEE#75836 savepoint
FCLT#83889 Transportviews standaard als rapportage beschikbaar maken

svn path=/Database/trunk/; revision=64813
2024-05-24 14:57:55 +00:00
Peter Feij
ec006b99dd FCLT#83889 Transportviews standaard als rapportage beschikbaar maken
svn path=/Database/trunk/; revision=64812
2024-05-24 14:56:37 +00:00
Peter Feij
f283f74a62 PZEE#75836 savepoint
svn path=/Database/trunk/; revision=64811
2024-05-24 14:06:51 +00:00
Peter Feij
6f5f1cd710 FCLT#80263 ITIL/IT Service Management 'module' refinement. Werkt nu binnen de setup
svn path=/Database/trunk/; revision=64801
2024-05-24 09:45:57 +00:00
Peter Feij
d8cdc994f7 FCLT#80263 ITIL/IT Service Management 'module' rename ITIL > ITSM (hoe moeilijk is het nou helemaal)
svn path=/Database/trunk/; revision=64798
2024-05-24 08:36:51 +00:00
Peter Feij
cad0736b95 FCLT#80263 ITIL/IT Service Management 'module' rename ITIL > ITSM
svn path=/Database/trunk/; revision=64797
2024-05-24 08:15:27 +00:00
Peter Feij
b58c2dbf0e FCLT#82642 Standaard initiële FMIS vulling
svn path=/Database/trunk/; revision=64793
2024-05-23 16:16:42 +00:00
Suzan Wiegerinck
83f5007053 FCLT#80263 ITIL/IT Service Management 'module'
svn path=/Database/trunk/; revision=64791
2024-05-23 15:18:12 +00:00
Peter Feij
7fedfe3d15 FCLT#76580 Installatie-voortgangs-dashboards 1.0: FMIS en ITSM 1.0
svn path=/Database/trunk/; revision=64783
2024-05-23 13:13:46 +00:00
4f00a812d8 FCLT#80553 Instructie aanpassing (xml -> json)
svn path=/Database/trunk/; revision=64768
2024-05-22 15:29:28 +00:00
Erik Groener
3acdbbb7a7 YASK#83809 Fout in mld_v_udr_melding VIEW
svn path=/Database/trunk/; revision=64759
2024-05-22 07:46:51 +00:00
Erik Groener
7a0557f3cc BAMG#83299 Wens tot veranderen einddatum - automatisch verlengen
svn path=/Database/trunk/; revision=64753
2024-05-21 14:23:49 +00:00
a206332b47 FCLT#80553 Project specifieke APIKEYs
svn path=/Database/trunk/; revision=64728
2024-05-17 11:21:04 +00:00
c6baa72ecf FCLT#80553 OpenAI
svn path=/Database/trunk/; revision=64727
2024-05-17 11:01:05 +00:00
1d8ab6468a FCLT#80553 beschrijving
svn path=/Database/trunk/; revision=64725
2024-05-17 10:45:19 +00:00
a05928d2d6 FCLT#80553 openai_model_large_context + LCL's
svn path=/Database/trunk/; revision=64723
2024-05-17 10:23:32 +00:00
Erik Groener
ccaac54849 AAIT#83560 Karakters kenmerk Overeenkomstnummer ophogen
svn path=/Database/trunk/; revision=64722
2024-05-17 07:11:28 +00:00
Peter Feij
033b887ec7 FCLT#83334 Menutaak MJOB-scenarios heeft foutief INSMAN-autorisatie
svn path=/Database/trunk/; revision=64715
2024-05-16 21:33:51 +00:00
Peter Feij
614f00c79b FCLT#82642 er waren wat autorisatie verdwenen, kleine volgordewijziging, 2 standaard kenmerkdomeintabellen.
svn path=/Database/trunk/; revision=64714
2024-05-16 16:15:44 +00:00
Erik Groener
adaab470c8 FCLT#82157 Herkomst van de melding
svn path=/Database/trunk/; revision=64701
2024-05-16 07:21:55 +00:00
Erik Groener
5914a3e13a FCLT#82157 Herkomst van de melding
svn path=/Database/trunk/; revision=64700
2024-05-16 07:10:18 +00:00
Erik Groener
6faac5efb5 FCLT#83472 Lege fac_tracking records zonder fac_srtnotificatie_omsopruimen bij anonimiseren
svn path=/Database/trunk/; revision=64688
2024-05-15 13:38:46 +00:00
Erik Groener
fe801efc27 FCLT#83472 Lege fac_tracking records zonder fac_srtnotificatie_omsopruimen bij anonimiseren
svn path=/Database/trunk/; revision=64682
2024-05-15 12:06:12 +00:00
783c53e643 FCLT#80553 ai_enabled
svn path=/Database/trunk/; revision=64680
2024-05-15 11:06:27 +00:00
Peter Feij
246698c977 FCLT#80263 ITIL/IT Service Management 'module' rename ITIL > ITSM
svn path=/Database/trunk/; revision=64675
2024-05-15 09:51:02 +00:00
Peter Feij
275c9ce962 FCLT#80263 ITIL/IT Service Management 'module' rename ITIL > ITSM
svn path=/Database/trunk/; revision=64674
2024-05-15 09:47:22 +00:00
Peter Feij
3ed318073e FCLT#80263 ITIL/IT Service Management 'module' rename ITIL > ITSM
svn path=/Database/trunk/; revision=64673
2024-05-15 09:43:41 +00:00
Peter Feij
06824758d2 FCLT#80263 ITIL/IT Service Management 'module' rename ITIL > ITSM
svn path=/Database/trunk/; revision=64671
2024-05-15 09:41:35 +00:00
Peter Feij
103681f606 FCLT#80263 ITIL/IT Service Management 'module' savepoint (voor rename ITIL > ITSM)
svn path=/Database/trunk/; revision=64670
2024-05-15 09:40:33 +00:00
Jos Groot Lipman
c1b6545a21 EIND#82452 Deprecated mld_melding_omschrijving_old droppen
svn path=/Database/trunk/; revision=64668
2024-05-15 09:12:55 +00:00
Erik Groener
1baaf3a4e4 FCLT#83751 Mail2SOAP-dispatcher ontmantelen
svn path=/Database/trunk/; revision=64665
2024-05-15 08:34:35 +00:00
Erik Groener
ff7bec32a8 FCLT#80823 Een import bestand met hele lange regels ondersteunen
svn path=/Database/trunk/; revision=64663
2024-05-15 08:26:06 +00:00
Erik Groener
02afa01853 FCLT#80823 Een import bestand met hele lange regels ondersteunen
svn path=/Database/trunk/; revision=64661
2024-05-15 07:56:22 +00:00
Erik Groener
864d3262e6 AAIT#83560 Karakters kenmerk Overeenkomstnummer ophogen
svn path=/Database/trunk/; revision=64641
2024-05-14 14:02:06 +00:00
Erik Groener
73afb13792 FBEA#79162
svn path=/Database/trunk/; revision=64637
2024-05-14 10:44:40 +00:00
Jos Groot Lipman
32fdb495ad YASK#83695 Automatisch opdracht aanmaken - Gegevens worden niet overgenomen van de melding
svn path=/Database/trunk/; revision=64635
2024-05-14 10:27:58 +00:00
Erik Groener
8df532ba0b BVB1#83623 Actiedatum ontbreekt in meldingen udr
svn path=/Database/trunk/; revision=64622
2024-05-13 14:03:31 +00:00
Peter Feij
64cf947e8f FCLT#82420 Kolom rapportagegroep eentje vergeten
svn path=/Database/trunk/; revision=64601
2024-05-13 07:24:05 +00:00
Erik Groener
41a79656cd FCLT#83649 bes_srtprod, bes_srtprod_prijs, bes_bedrijf_srtprod en bes_bedrijf_b uitfaseren
svn path=/Database/trunk/; revision=64597
2024-05-10 09:07:36 +00:00
Maykel Geerdink
cb68098d52 FCLT#82594: Melding 'opdelen' in deelmeldingen.
svn path=/Database/trunk/; revision=64594
2024-05-09 06:56:16 +00:00
Peter Feij
d8683b020e FCLT#82420 Kolom rapportagegroep
FCLT#82642 

svn path=/Database/trunk/; revision=64593
2024-05-08 16:23:09 +00:00
Peter Feij
3854c6c38a FCLT#82420 Kolom rapportagegroep (eindelijk) ook in het overzicht tonen (en in FAC_INI vullen)
svn path=/Database/trunk/; revision=64592
2024-05-08 16:15:53 +00:00
Peter Feij
2349e5c965 FCLT#82642 savepoint, technisch goed.
svn path=/Database/trunk/; revision=64590
2024-05-08 14:58:06 +00:00
Peter Feij
00cde57787 FCLT#82642 savepoint
svn path=/Database/trunk/; revision=64571
2024-05-07 16:19:40 +00:00
Peter Feij
5262702c96 FCLT#82642 cad_v_thema_vloerafwerking terloops opgeruimd.
svn path=/Database/trunk/; revision=64561
2024-05-07 11:58:04 +00:00
Maykel Geerdink
ad6cd1b3c3 FCLT#82594: Melding 'opdelen' in deelmeldingen.
svn path=/Database/trunk/; revision=64521
2024-05-06 08:08:58 +00:00
Peter Feij
64a451844f FCLT#83491 Nog een klein beetje geshuffle in het menu
svn path=/Database/trunk/; revision=64502
2024-05-02 17:38:21 +00:00
Peter Feij
a663c83cda FCLT#82642 Savepoint
svn path=/Database/trunk/; revision=64493
2024-05-02 13:59:55 +00:00
Erik Groener
5c64297ed8 FBEA#79162 Aanmaken vrije dagen kost veel tijd
svn path=/Database/trunk/; revision=64473
2024-05-01 12:59:02 +00:00
3de18b7512 FCLT#83491 syntaxfout in macro DEF_MENUITEM
svn path=/Database/trunk/; revision=64464
2024-05-01 08:35:22 +00:00
Erik Groener
23c07acccb VNOG#83093 Melding-node (incl. objectgegevens) opnemen in Bestelling-node
svn path=/Database/trunk/; revision=64463
2024-05-01 07:12:11 +00:00
Peter Feij
52d44583df FCLT#83491 Menu-items Overig en Setup opnieuw indelen savepoint
svn path=/Database/trunk/; revision=64461
2024-04-30 17:10:53 +00:00
Peter Feij
c0238d9d50 FCLT#76580 Meer zelfredzaamheid is meer uitleg. Harmonicamenu voortaan default
svn path=/Database/trunk/; revision=64460
2024-04-30 16:06:26 +00:00
Erik Groener
4743b99fb3 FCLT#83450 Import contactpersonen heeft fout in header-check
svn path=/Database/trunk/; revision=64449
2024-04-30 10:23:33 +00:00
Peter Feij
7150f1ef29 FCLT#76580 savepoint
svn path=/Database/trunk/; revision=64448
2024-04-30 09:20:13 +00:00
Peter Feij
9c3b839ea8 FCLT#82420 aantal niet-dialecteerbare teksten verwijderd (hoorden bij de definitiekant)
svn path=/Database/trunk/; revision=64446
2024-04-30 08:00:27 +00:00
Peter Feij
b039c43fa7 FCLT#82642 Standaard initiële FMIS vulling savepoint
svn path=/Database/trunk/; revision=64437
2024-04-29 14:10:22 +00:00
Erik Groener
a80efa2a28 FBEA#79162 Aanmaken vrije dagen kost veel tijd
svn path=/Database/trunk/; revision=64436
2024-04-29 12:42:34 +00:00
Erik Groener
e5a70595df FBEA#79162 Aanmaken vrije dagen kost veel tijd
svn path=/Database/trunk/; revision=64435
2024-04-29 12:20:56 +00:00
e7308b528c FCLT#76580 menuitem moet hier nog wel blijven staan
svn path=/Database/trunk/; revision=64399
2024-04-25 07:00:56 +00:00
b854c5dcb9 FCLT#83476 Deprecated -> unused
svn path=/Database/trunk/; revision=64385
2024-04-24 08:03:39 +00:00
60874b4572 FCLT#83476 S(mobile_imageportal) => deprecated, removed: S(wgt_enabled), S(mld_edit_layout) & S(mld_properties_order)
svn path=/Database/trunk/; revision=64384
2024-04-24 08:02:32 +00:00
Jos Groot Lipman
6c7c6b9885 MARX#82116 Factuur/pdf te groot
svn path=/Database/trunk/; revision=64353
2024-04-22 11:22:25 +00:00
df064b464f FCLT#76580 fac -> ini
svn path=/Database/trunk/; revision=64349
2024-04-22 10:16:37 +00:00
1d5493044e FCLT#76580 Das makkelijker
svn path=/Database/trunk/; revision=64348
2024-04-22 10:01:51 +00:00
2557dd3deb FCLT#76580 geen html hier
svn path=/Database/trunk/; revision=64346
2024-04-22 08:51:03 +00:00
8e02767fc4 FCLT#76580 fac -> ini
svn path=/Database/trunk/; revision=64345
2024-04-22 08:42:38 +00:00
7c757cec93 FCLT#76580 Eigen INI-package, dan ook alles van FAC -> INI
svn path=/Database/trunk/; revision=64344
2024-04-22 08:29:46 +00:00
996bf0582e FCLT#76580 +fac_setup
svn path=/Database/trunk/; revision=64341
2024-04-19 14:44:29 +00:00
13e8d4b9fa VRTW#80244 Mobile multi-opdrachten afmelden
svn path=/Database/trunk/; revision=64338
2024-04-19 13:40:00 +00:00
015431815d VRTW#80244 lcl_mld_closed
svn path=/Database/trunk/; revision=64333
2024-04-19 11:41:45 +00:00
Erik Groener
9d34d8cac7 FCLT#82157 Herkomst van de melding
svn path=/Database/trunk/; revision=64329
2024-04-19 09:48:24 +00:00
Peter Feij
479ea5fe47 FCLT#76580 syntactisch savepoint
svn path=/Database/trunk/; revision=64320
2024-04-18 16:25:48 +00:00
Peter Feij
c2200d868c FCLT#76580 terloopse opruiming
svn path=/Database/trunk/; revision=64313
2024-04-18 13:36:46 +00:00
Peter Feij
78cebc293b FCLT#76580 _INIT > INI
svn path=/Database/trunk/; revision=64311
2024-04-18 13:04:51 +00:00
00f954443a Verhuizing reverted
svn path=/Database/trunk/; revision=64309
2024-04-18 12:39:05 +00:00
515e9e6727 Verhuizing reverted
svn path=/Database/trunk/; revision=64307
2024-04-18 12:33:07 +00:00
b5e432a2b2 FCLT#76580 Verhuizing reverted
svn path=/Database/trunk/; revision=64306
2024-04-18 12:29:08 +00:00
Erik Groener
30c04b2e12 FCLT#81771 Aanpassen planning geschedulde rapportages
svn path=/Database/trunk/; revision=64294
2024-04-18 07:42:06 +00:00
ecdbe310ff FCLT#76580 Verhuizing DB -> ASP
FCLT#82642
FCLT#80263

svn path=/Database/trunk/; revision=64291
2024-04-17 14:51:15 +00:00
Maykel Geerdink
a7bf5cf883 FCLT#82594: Melding 'opdelen' in deelmeldingen.
svn path=/Database/trunk/; revision=64289
2024-04-17 14:22:31 +00:00
Erik Groener
31d44927cf FCLT#81771 Aanpassen planning geschedulde rapportages
svn path=/Database/trunk/; revision=64288
2024-04-17 13:51:45 +00:00
fd7110c163 FCLT#76580 Savepoint 0.2
svn path=/Database/trunk/; revision=64285
2024-04-17 13:46:04 +00:00
Erik Groener
58d28bbfc5 FCLT#80823 Een import bestand met hele lange regels ondersteunen
svn path=/Database/trunk/; revision=64279
2024-04-17 07:59:55 +00:00
Erik Groener
2b91e5e620 FBEA#79162 Aanmaken vrije dagen kost veel tijd
svn path=/Database/trunk/; revision=64277
2024-04-17 06:49:24 +00:00
Erik Groener
7590419db3 FCLT#80823 Een import bestand met hele lange regels ondersteunen
svn path=/Database/trunk/; revision=64276
2024-04-17 06:44:22 +00:00
Maykel Geerdink
4d1efe8dc7 FCLT#82594: Melding 'opdelen' in deelmeldingen.
svn path=/Database/trunk/; revision=64274
2024-04-17 06:41:47 +00:00
5da5cbba50 FCLT#76580 Savepoint 0.1
svn path=/Database/trunk/; revision=64269
2024-04-16 15:10:14 +00:00
Jos Groot Lipman
154f938c7b EIND#82452 Meldingsomschrijving van 4000 naar 32767 oprekken
svn path=/Database/trunk/; revision=64259
2024-04-16 10:21:42 +00:00
Erik Groener
57001b0035 MARX#81174 Kunnen de ANO functie's de bijlagen-kenmerken met ano-vlag verwijderen?
svn path=/Database/trunk/; revision=64252
2024-04-15 14:28:02 +00:00
Jos Groot Lipman
c4c4c9b43f FCLT#83243 Ander extern IP adres na overgang ZScaler: 80.250.129.195 alvast er bij
svn path=/Database/trunk/; revision=64251
2024-04-15 13:07:26 +00:00
Maykel Geerdink
839444137d FCLT#82594: Melding 'opdelen' in deelmeldingen.
svn path=/Database/trunk/; revision=64250
2024-04-15 13:05:56 +00:00
Maykel Geerdink
2dfb093676 FCLT#82594: Melding 'opdelen' in deelmeldingen.
svn path=/Database/trunk/; revision=64249
2024-04-15 13:02:33 +00:00
Erik Groener
ad52965e0d UWVA#81627 'Gereserveerd via' Mobile registreren
svn path=/Database/trunk/; revision=64226
2024-04-12 07:25:59 +00:00
Erik Groener
db5eeeee6b ALLR#83193 Verbruiksartikelen met eigen omschrijving komen niet goed in de XML
svn path=/Database/trunk/; revision=64216
2024-04-11 10:31:39 +00:00
Erik Groener
feab618526 CIZN#83234 De view FAC_V_EXP_ONRGOED2 bevat gegevens van verwijderde ruimten
svn path=/Database/trunk/; revision=64210
2024-04-11 07:18:31 +00:00
Erik Groener
4fc2e9420f CIZN#83234 De view FAC_V_EXP_ONRGOED2 bevat gegevens van verwijderde ruimten
svn path=/Database/trunk/; revision=64209
2024-04-11 06:40:17 +00:00
Erik Groener
6e359fac37 VOLK#83130 Bezoek via API geregistreerd pas zichtbaar na 'Wijzigen'
svn path=/Database/trunk/; revision=64203
2024-04-10 13:10:21 +00:00
Erik Groener
304d8cb08f FCLT#80823 Een import bestand met hele lange regels ondersteunen
svn path=/Database/trunk/; revision=64199
2024-04-10 06:19:45 +00:00
Jos Groot Lipman
4c91f2e274 Merge 2024.1 DB47c patches
svn path=/Database/trunk/; revision=64194
2024-04-09 09:04:26 +00:00
Erik Groener
1ab9c11c84 HMOD#82814 Plaatsweergave in mobile bij mobile_position_required = 1
svn path=/Database/trunk/; revision=64189
2024-04-08 14:26:45 +00:00
aed8a0d906 EIND#82432 Geplande acties voor FE
svn path=/Database/trunk/; revision=64187
2024-04-08 14:11:30 +00:00
Jos Groot Lipman
9d5b3ec37b SGGR#82865 Automatische nummering van objecten niet volmaakt
svn path=/Database/trunk/; revision=64142
2024-04-03 10:16:43 +00:00
Erik Groener
7423f8de7d VNOG#81951 Optimaliseren MLD2BES -integratie (afleveradres)
svn path=/Database/trunk/; revision=64141
2024-04-03 09:53:56 +00:00
Erik Groener
5efe46e8cd BAUS#80296 Transport kenmerken periodieke taken
svn path=/Database/trunk/; revision=64140
2024-04-03 06:43:15 +00:00
db46e07a6a FCLT#80553 mld_melding_onderwerp_ai toegevoegd
svn path=/Database/trunk/; revision=64118
2024-04-02 08:21:51 +00:00
0a81814a4c FCLT#80553 PoC
svn path=/Database/trunk/; revision=64117
2024-04-02 08:13:09 +00:00
Erik Groener
45e920f0fb UWVA#81627 'Gereserveerd via' Mobile registreren
svn path=/Database/trunk/; revision=64079
2024-03-28 11:33:40 +00:00
Maykel Geerdink
10476a9d59 SGGR#82865: Automatische nummering van objecten niet volmaakt.
svn path=/Database/trunk/; revision=64069
2024-03-27 10:54:20 +00:00
Maykel Geerdink
8f80124234 SGGR#82865: Automatische nummering van objecten niet volmaakt.
svn path=/Database/trunk/; revision=64068
2024-03-27 10:22:06 +00:00
Maykel Geerdink
7999af34d4 AAIT#81519: Vervangers tijdens goedkeuren - 81261 - terugdraaien.
svn path=/Database/trunk/; revision=64054
2024-03-26 08:13:15 +00:00
Maykel Geerdink
965712ac33 AAIT#81519: Vervangers tijdens goedkeuren - 81261 - terugdraaien.
svn path=/Database/trunk/; revision=64052
2024-03-26 07:50:48 +00:00
Erik Groener
974d41fd85 BLCC#80212 Tracking scope mutaties - CNT
svn path=/Database/trunk/; revision=64001
2024-03-21 09:35:56 +00:00
Maykel Geerdink
6d6c747f51 VLKC#79478: Heropenen functionaliteit alleen voor frontoffice.
svn path=/Database/trunk/; revision=63996
2024-03-21 08:12:59 +00:00
Maykel Geerdink
e173d0bc06 BAUS#81220: Kenmerken direct kunnen vullen bij het voltooien van de status.
svn path=/Database/trunk/; revision=63897
2024-03-13 08:02:48 +00:00
Jos Groot Lipman
0cddd124f1 Merge 2024.1 DB47b patches
svn path=/Database/trunk/; revision=63890
2024-03-12 11:49:54 +00:00
Peter Feij
0dfa579cbd FCLT#65962 Opzetten Standaard Facilitor FM implementatie - savepoint
svn path=/Database/trunk/; revision=63858
2024-03-07 18:22:52 +00:00
Peter Feij
3fd28b88e6 FCLT#65962 Opzetten Standaard Facilitor FM implementatie - savepoint/under construction
svn path=/Database/trunk/; revision=63857
2024-03-07 17:13:56 +00:00
Suzan Wiegerinck
0c3d898cf9 FCLT#80263 ITIL/IT Service Management 'module'
svn path=/Database/trunk/; revision=63856
2024-03-07 17:07:34 +00:00
Suzan Wiegerinck
69ae601618 FCLT#80263 ITIL/IT Service Management 'module'
svn path=/Database/trunk/; revision=63855
2024-03-07 16:46:26 +00:00
Peter Feij
e3d094c79e FCLT#65962 Opzetten Standaard Facilitor FM implementatie - savepoint/under construction
svn path=/Database/trunk/; revision=63853
2024-03-07 15:52:42 +00:00
Peter Feij
d37e798a3e FCLT#65962 Opzetten Standaard Facilitor FM implementatie - savepoint/under construction
svn path=/Database/trunk/; revision=63848
2024-03-07 11:50:51 +00:00
Jos Groot Lipman
f7d583f2f8 Merge 2024.1 DB47a patches
svn path=/Database/trunk/; revision=63836
2024-03-06 16:31:32 +00:00
Peter Feij
43b4ad2a91 FCLT#65962 Opzetten Standaard Facilitor implementatie
svn path=/Database/trunk/; revision=63807
2024-03-05 09:28:58 +00:00
Peter Feij
9256f11d21 FCLT#80263 ITIL/IT Service Management 'module' setup
svn path=/Database/trunk/; revision=63806
2024-03-05 09:08:58 +00:00
Peter Feij
a49779d6df FCLT#80263 ITIL/IT Service Management 'module' setup
svn path=/Database/trunk/; revision=63804
2024-03-05 08:34:43 +00:00
Maykel Geerdink
85f97faaf9 VLKC#78390: Notificatie via objectnotities aan fietsuitlener.
svn path=/Database/trunk/; revision=63666
2024-02-21 09:17:54 +00:00
Maykel Geerdink
68825d30fa VLKC#78390: Notificatie via objectnotities aan fietsuitlener.
YAXX#80483: Opdracht direct aanmaken (auto-order) per locatie instellen.

svn path=/Database/trunk/; revision=63653
2024-02-20 14:55:12 +00:00
Jos Groot Lipman
96f82f1ea5 Oracle Testscript verbeteringen
svn path=/Database/trunk/; revision=63613
2024-02-15 14:52:42 +00:00
Ilonka Maatman
7f2edb89d1 FCLT#61823 Vullen van de help lcls tbv 2023.1
svn path=/Database/trunk/; revision=63586
2024-02-13 10:06:56 +00:00
Erik Groener
4f7fac9337 verplaatst naar branchDB47
svn path=/Database/trunk/; revision=63558
2024-02-12 08:31:29 +00:00
Erik Groener
ed2ea7422a FCLT#82241 AVG ook toepassen op vrije tekstvelden (b.v. opdrachtomschrijving)
svn path=/Database/trunk/; revision=63556
2024-02-12 08:13:57 +00:00
7ee280cf59 DB47to48
svn path=/Database/trunk/; revision=63540
2024-02-08 19:43:35 +00:00
1e1179c098 Versie DB48
svn path=/Database/trunk/; revision=63539
2024-02-08 19:19:13 +00:00
103 changed files with 17168 additions and 5635 deletions

View File

@@ -11,6 +11,7 @@ AS
FUNCTION scriptspoolfile(custpattern IN VARCHAR2, scriptname IN VARCHAR2) RETURN VARCHAR2;
FUNCTION getscriptspoolfile(scriptname IN VARCHAR2) RETURN VARCHAR2;
FUNCTION checkscriptcust(custpattern IN VARCHAR2) RETURN VARCHAR2;
PROCEDURE fix_mld_t_uitvoertijd;
END adm;
/
@@ -205,7 +206,57 @@ AS
RETURN tekst;
END;
END adm;
-- Als je een database importeert onder een andere user wordt de schemanaam voor de defaults
-- van mld_t_uitvoertijd 'bevroren' en kun je de database nooit meer onder een ander schema
-- inlezen. In deze procedure herdefiniereren we alle default waardes zodat je de database
-- daarna na exporteren gemakkelijk ergens anders kunt inlezen
-- Er is niet automatisch te bepalen wanneer dit al dan niet nodig is. Daarom doen we het:
-- * In de epiloog van een upgrade
-- * Na anonimiseren (wat nog wel eens gebeurt vlak na een database refresh)
PROCEDURE fix_mld_t_uitvoertijd
IS
--
-- data_default is van het datatype LONG. Daarop kan geen string-bewerking als INSTR(), SUBSTR() en REPLACE() worden gedaan.
-- Daarom moeten de benodigde gegevens eerst in een tijdelijke tabel ingelezen worden zodat het datatype VARCHAR2 wordt. Voor
-- het huidige doel (de owner van MLD_T_UITVOERTIJD verwijderen) is de stringlengte van 1000 voldoende.
-- Met FETCH .. BULK COLLECT INTO .. worden alle records die volgen uit de query in 1 keer opgehaald. Dit is sneller dan een fetch in een loop.
--
TYPE ut_row IS RECORD
( tab_name VARCHAR2(100)
, col_name VARCHAR2(100)
, data_default VARCHAR2(1000)
);
TYPE ut_tab IS TABLE OF ut_row
INDEX BY PLS_INTEGER;
qry_txt VARCHAR2(1000);
upd_txt VARCHAR2(1000);
l_table ut_tab;
l_cursor SYS_REFCURSOR;
l_pos INTEGER;
l_default VARCHAR2(1000);
BEGIN
qry_txt := 'SELECT table_name, column_name, data_default'
|| ' FROM user_tab_columns'
|| ' WHERE data_type = ''MLD_T_UITVOERTIJD''';
OPEN l_cursor FOR qry_txt;
FETCH l_cursor BULK COLLECT INTO l_table;
CLOSE l_cursor;
FOR indx IN 1 .. l_table.COUNT
LOOP
l_pos := INSTR(l_table(indx).data_default, '"."');
IF (l_pos > 0)
THEN
l_default := REPLACE(REPLACE(SUBSTR(l_table(indx).data_default, l_pos+3, 100), '"', ''),'''','');
upd_txt := 'ALTER TABLE '|| l_table(indx).tab_name ||' MODIFY '|| l_table(indx).col_name ||' DEFAULT '|| l_default;
dbms_output.put_line(upd_txt);
EXECUTE IMMEDIATE upd_txt;
END IF;
END LOOP;
END;
END adm;
/
REGISTERRUN('$Id$')

View File

@@ -436,6 +436,10 @@ CREATE_TABLE(alg_gebouw,0)
VARCHAR2(256),
alg_gebouw_externsyncdate
DATE,
mld_vrije_dagen_id
VARCHAR2(50),
alg_gebouw_virtueel
NUMBER(1) DEFAULT(0) NOT NULL, /* 0=normaal, 1=virtueel gebouw */
-- in MLD_TAB.SRC:
-- mld_dienstniveau_key
-- NUMBER(10)
@@ -486,6 +490,8 @@ CREATE_TABLE(alg_verdieping,0)
VARCHAR2(256),
alg_verdieping_externsyncdate
DATE,
alg_verdieping_virtueel
NUMBER(1) DEFAULT(0) NOT NULL, /* 0=normaal, 1=virtuele verdieping */
-- in MLD_TAB.SRC:
-- mld_dienstniveau_key
-- NUMBER(10)
@@ -651,6 +657,8 @@ CREATE_TABLE(alg_ruimte,0)
VARCHAR2(256),
alg_ruimte_externsyncdate
DATE,
alg_ruimte_virtueel
NUMBER(1) DEFAULT(0) NOT NULL, /* 0=normaal, 1=virtuele ruimte */
-- in MLD_TAB.SRC:
-- mld_dienstniveau_key
-- NUMBER(10)
@@ -704,10 +712,13 @@ CREATE_TABLE(alg_kenmerk,0)
,alg_kenmerk_niveau
VARCHAR2(1)
CONSTRAINT alg_c_alg_kenmerk_niveau1 CHECK(alg_kenmerk_niveau IS NOT NULL
AND alg_kenmerk_niveau IN ('R','V','G','T','L','D'))
AND alg_kenmerk_niveau IN ('R','V','G','T','L','D','E'))
,alg_kenmerk_volgnr
NUMBER(3)
NOT NULL
,alg_kenmerk_rolcode
NUMBER(4)
DEFAULT 7 NOT NULL
,alg_kenmerk_omschrijving
VARCHAR2(50)
,alg_kenmerk_upper
@@ -724,7 +735,6 @@ CREATE_TABLE(alg_kenmerk,0)
VARCHAR2(10)
,alg_kenmerk_kenmerktype
VARCHAR2(1)
CONSTRAINT alg_c_alg_kenmerk_type1 CHECK(alg_kenmerk_kenmerktype IN ('C','N','D','T','R','X','L','Q','F','M','E','S','l','B','V'))
,alg_kenmerk_systeem
NUMBER(2)
,alg_kenmerk_toonbaar

View File

@@ -59,7 +59,8 @@ BEGIN
INTO dummy
FROM cnt_v_aanwezigcontract_plaats, cnt_v_aanwezigcontract
WHERE cnt_v_aanwezigcontract_plaats.cnt_contract_key = cnt_v_aanwezigcontract.cnt_contract_key
AND cnt_v_aanwezigcontract.cnt_contract_looptijd_tot > sysdate
AND cnt_v_aanwezigcontract.cnt_contract_looptijd_tot > SYSDATE
AND cnt_v_aanwezigcontract.cnt_contract_status <> 1
AND cnt_v_aanwezigcontract_plaats.cnt_alg_plaats_key = :old.alg_locatie_key
AND cnt_v_aanwezigcontract_plaats.cnt_alg_plaats_code = 'L';
raise_application_error(-20000,'cnt_m028');
@@ -106,7 +107,8 @@ BEGIN
INTO dummy
FROM cnt_v_aanwezigcontract_plaats, cnt_v_aanwezigcontract
WHERE cnt_v_aanwezigcontract_plaats.cnt_contract_key = cnt_v_aanwezigcontract.cnt_contract_key
AND cnt_v_aanwezigcontract.cnt_contract_looptijd_tot > sysdate
AND cnt_v_aanwezigcontract.cnt_contract_looptijd_tot > SYSDATE
AND cnt_v_aanwezigcontract.cnt_contract_status <> 1
AND cnt_v_aanwezigcontract_plaats.cnt_alg_plaats_key = :old.alg_terreinsector_key
AND cnt_v_aanwezigcontract_plaats.cnt_alg_plaats_code = 'T';
raise_application_error(-20000,'cnt_m027');
@@ -161,7 +163,8 @@ BEGIN
INTO dummy
FROM cnt_v_aanwezigcontract_plaats, cnt_v_aanwezigcontract
WHERE cnt_v_aanwezigcontract_plaats.cnt_contract_key = cnt_v_aanwezigcontract.cnt_contract_key
AND cnt_v_aanwezigcontract.cnt_contract_looptijd_tot > sysdate
AND cnt_v_aanwezigcontract.cnt_contract_looptijd_tot > SYSDATE
AND cnt_v_aanwezigcontract.cnt_contract_status <> 1
AND cnt_v_aanwezigcontract_plaats.cnt_alg_plaats_key = :old.alg_gebouw_key
AND cnt_v_aanwezigcontract_plaats.cnt_alg_plaats_code = 'G';
raise_application_error(-20000,'cnt_m026');
@@ -211,7 +214,8 @@ BEGIN
INTO dummy
FROM cnt_v_aanwezigcontract_plaats, cnt_v_aanwezigcontract
WHERE cnt_v_aanwezigcontract_plaats.cnt_contract_key = cnt_v_aanwezigcontract.cnt_contract_key
AND cnt_v_aanwezigcontract.cnt_contract_looptijd_tot > sysdate
AND cnt_v_aanwezigcontract.cnt_contract_looptijd_tot > SYSDATE
AND cnt_v_aanwezigcontract.cnt_contract_status <> 1
AND cnt_v_aanwezigcontract_plaats.cnt_alg_plaats_key = :old.alg_verdieping_key
AND cnt_v_aanwezigcontract_plaats.cnt_alg_plaats_code = 'V';
raise_application_error(-20000,'cnt_m025');
@@ -306,7 +310,8 @@ BEGIN
INTO dummy
FROM cnt_v_aanwezigcontract_plaats, cnt_v_aanwezigcontract
WHERE cnt_v_aanwezigcontract_plaats.cnt_contract_key = cnt_v_aanwezigcontract.cnt_contract_key
AND cnt_v_aanwezigcontract.cnt_contract_looptijd_tot > sysdate
AND cnt_v_aanwezigcontract.cnt_contract_looptijd_tot > SYSDATE
AND cnt_v_aanwezigcontract.cnt_contract_status <> 1
AND cnt_v_aanwezigcontract_plaats.cnt_alg_plaats_key = :old.alg_ruimte_key
AND cnt_v_aanwezigcontract_plaats.cnt_alg_plaats_code = 'R';
raise_application_error(-20000,'cnt_m024');
@@ -417,16 +422,16 @@ BEGIN
THEN
raise_application_error(-20000, 'ALG_M238');
END IF;
IF :new.alg_kenmerk_kenmerktype IN ('C', 'N', 'B') AND :new.alg_kenmerk_lengte IS NULL
IF :new.alg_kenmerk_kenmerktype IN ('C', 'N') AND :new.alg_kenmerk_lengte IS NULL
THEN
raise_application_error(-20000, 'ALG_C_ALG_KENMERK_LENGTE');
END IF;
-- Numeriek mag niet te lang zijn (numeric overflow)
IF :new.alg_kenmerk_kenmerktype IN ('N', 'B') AND :new.alg_kenmerk_lengte > 20
IF :new.alg_kenmerk_kenmerktype = 'N' AND :new.alg_kenmerk_lengte > 20
THEN
:new.alg_kenmerk_lengte := 20;
END IF;
IF :new.alg_kenmerk_kenmerktype IN ('N', 'B') AND :old.alg_kenmerk_key IS NOT NULL
IF :new.alg_kenmerk_kenmerktype = 'N' AND :old.alg_kenmerk_key IS NOT NULL
THEN
IF :old.alg_kenmerk_nmin <> :new.alg_kenmerk_nmin OR
:old.alg_kenmerk_nmin IS NULL AND :new.alg_kenmerk_nmin IS NOT NULL
@@ -581,7 +586,7 @@ BEGIN
APPLICATION_ERROR_GOTO(-20004, 'ALG_M232,'|| KenmerkOmschr ||','
|| TO_CHAR(KenmerkLengte));
END IF;
ELSIF KenmerkType IN ('N', 'B')
ELSIF KenmerkType = 'N'
/*
** Number
*/

View File

@@ -64,6 +64,17 @@ AS
RETURN NUMBER;
FUNCTION bes_besteed_budget_agb (p_kp_key IN NUMBER)
RETURN NUMBER;
PROCEDURE notifybestellingbedrijven (pbestelkey NUMBER,
ptrackingkey NUMBER,
pnotidelay NUMBER DEFAULT NULL);
PROCEDURE notifybestelopdrbedrijven (pbestelopdrkey NUMBER,
ptrackingkey NUMBER,
pnotidelay NUMBER DEFAULT NULL);
PROCEDURE autodeliver;
END bes;
/
@@ -2216,6 +2227,230 @@ AS
RETURN l_budgetbesteld;
END;
PROCEDURE notifybestellingbedrijven (pbestelkey NUMBER,
ptrackingkey NUMBER,
pnotidelay NUMBER DEFAULT NULL)
AS
BEGIN
NULL; -- TODO?
END;
PROCEDURE notifybestelopdrbedrijven (pbestelopdrkey NUMBER,
ptrackingkey NUMBER,
pnotidelay NUMBER DEFAULT NULL)
AS
BEGIN
FOR bedrijfrec IN (SELECT b.prs_bedrijf_key,
CASE WHEN b.prs_bedrijf_key = o.prs_bedrijf_key THEN 'B' ELSE 'G' END bedrijfadres_type,
l.alg_locatie_key,
o.bes_bestelopdr_id
FROM prs_bedrijf b,
bes_bestelopdr o,
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'
OR 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 => pbestelopdrkey,
ptrackingkey => ptrackingkey,
preference => bedrijfrec.bes_bestelopdr_id,
plocatie_key => bedrijfrec.alg_locatie_key,
pnotidelay => pnotidelay);
END LOOP;
END;
PROCEDURE autodeliver
IS
v_bes_bestellevr_key bes_bestellevr.bes_bestellevr_key%TYPE;
last_bes_bestelopdr_key bes_bestelopdr.bes_bestelopdr_key%TYPE;
last_bes_bestelling_key bes_bestelling_item.bes_bestelling_key%TYPE;
amount bes_bestelling_item.bes_bestelling_item_aantal%TYPE;
tracking VARCHAR2 (2000);
CURSOR b_upd IS
SELECT b.bes_bestelopdr_key,
b.bes_bestelopdr_id,
boi.bes_bestelopdr_item_key,
boi.bes_bestelopdr_item_aantal,
boi.bes_bestelopdr_item_omschrijv,
bi.bes_bestelling_key,
bi.bes_bestelling_item_key
FROM bes_bestelling bes
JOIN bes_bestelling_item bi
ON bi.bes_bestelling_key = bes.bes_bestelling_key
JOIN bes_bestelopdr_item boi
ON boi.bes_bestelopdr_item_key =
bi.bes_bestelopdr_item_key
JOIN bes_srtdeel s
ON s.bes_srtdeel_key = bi.bes_srtdeel_key
JOIN bes_srtgroep g
ON g.bes_srtgroep_key = s.bes_srtgroep_key
JOIN bes_disc_params bdp
ON bdp.bes_ins_discipline_key = g.ins_discipline_key
JOIN bes_bestelopdr b
ON b.bes_bestelopdr_key = boi.bes_bestelopdr_key
WHERE bdp.bes_disc_params_fe_confirm = 0
AND bdp.bes_disc_params_deliver_fe = 0
AND ( boi.bes_bestelopdr_item_aantalontv IS NULL
OR boi.bes_bestelopdr_item_aantalontv <
boi.bes_bestelopdr_item_aantal)
AND bdp.bes_disc_params_autodeliverdays > 0
AND bes.bes_bestelling_leverdatum
+ bdp.bes_disc_params_autodeliverdays <
SYSDATE
ORDER BY b.bes_bestelopdr_key;
PROCEDURE bes_auto_update (bes_bestelling_key IN NUMBER,
bes_bestelopdr_key IN NUMBER,
tracking IN VARCHAR2)
IS
prs_voor bes_bestelling.prs_perslid_key_voor%TYPE;
sender alg_locatie.alg_locatie_email%TYPE;
CURSOR fin_autoapprove (bestelopdr_key NUMBER)
IS
SELECT f.fin_factuur_key
FROM fin_factuur f
WHERE f.bes_bestelopdr_key = bestelopdr_key
AND f.fin_factuur_statuses_key = 2
AND f.fin_factuur_verwijder IS NULL
ORDER BY f.fin_factuur_key;
BEGIN
IF bes_bestelopdr_key <> -1
THEN
-- Update eerst de vorige nog even (deze is voor de laatste)
UPDATE bes_bestelopdr bo
SET bo.bes_bestelopdr_delivery_opmerk =
lcl.l ('bes_discipline_autodelivered')
WHERE bo.bes_bestelopdr_key =
bes_auto_update.bes_bestelopdr_key;
fac.trackaction ('BES2UP',
bes_bestelopdr_key,
NULL,
NULL,
tracking);
bes.updatebestelopdrstatus (bes_bestelopdr_key, NULL);
bes.updatebestellingstatus (bes_bestelling_key, NULL);
BEGIN
SELECT bes.prs_perslid_key_voor, l.alg_locatie_email
INTO prs_voor, sender
FROM bes_bestelling bes
JOIN mld_adres ma
ON ma.mld_adres_key = bes.mld_adres_key_lev
JOIN alg_locatie l
ON l.alg_locatie_key = ma.alg_locatie_key
WHERE bes.bes_bestelling_key =
bes_auto_update.bes_bestelling_key;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
prs_voor := NULL;
sender := NULL;
END;
fac.putnotificationsrtprio (NULL,
prs_voor,
'BESOT2',
bes_bestelling_key,
NULL,
NULL,
NULL,
NULL,
NULL,
2,
sender);
FOR rec IN fin_autoapprove (bes_bestelopdr_key)
LOOP
fin.autoapprovefactuur (rec.fin_factuur_key);
END LOOP;
END IF;
END;
BEGIN
last_bes_bestelopdr_key := -1;
last_bes_bestelling_key := -1;
FOR rec IN b_upd
LOOP
IF rec.bes_bestelopdr_key <> last_bes_bestelopdr_key
THEN
-- Update eerst de vorige nog even;
bes_auto_update (last_bes_bestelling_key,
last_bes_bestelopdr_key,
tracking);
-- En hierna verder met de huidige
last_bes_bestelopdr_key := rec.bes_bestelopdr_key;
last_bes_bestelling_key := rec.bes_bestelling_key;
tracking :=
REPLACE (
lcl.l ('lcl_bes_is_bes2uptrack'),
'{0}',
fac.getsetting ('bes_bestelopdr_prefix')
|| rec.bes_bestelopdr_id);
INSERT INTO bes_bestellevr (bes_bestellevr_opmerk)
VALUES (lcl.l ('bes_discipline_autodelivered'))
RETURNING bes_bestellevr_key
INTO v_bes_bestellevr_key;
END IF;
SELECT bes_bestelopdr_item_aantal
- COALESCE (bes_bestelopdr_item_aantalontv, 0)
INTO amount
FROM bes_bestelopdr_item
WHERE bes_bestelopdr_item_key = rec.bes_bestelopdr_item_key;
INSERT INTO bes_bestellevr_item (bes_bestellevr_key,
bes_bestelopdr_item_key,
bes_bestellevr_item_aantal)
VALUES (v_bes_bestellevr_key,
rec.bes_bestelopdr_item_key,
amount);
UPDATE bes_bestelopdr_item
SET bes_bestelopdr_item_aantalontv =
bes_bestelopdr_item_aantal,
bes_bestelopdr_item_ontvangen = SYSDATE
WHERE bes_bestelopdr_item_key = rec.bes_bestelopdr_item_key;
UPDATE bes_bestelling_item
SET bes_bestelling_item_aantalontv =
COALESCE (bes_bestelling_item_aantalontv, 0) + amount
WHERE bes_bestelling_item_key = rec.bes_bestelling_item_key;
tracking :=
SUBSTR (
tracking
|| CHR(10)
|| lcl.l ('lcl_bes_delivery')
|| ': '
|| amount
|| ' '
|| rec.bes_bestelopdr_item_omschrijv,
1,
2000);
END LOOP;
-- Update de laatste ook nog even;
bes_auto_update (last_bes_bestelling_key,
last_bes_bestelopdr_key,
tracking);
END;
END bes;
/

View File

@@ -25,7 +25,6 @@ CREATE SEQUENCE bes_s_bes_favoriet_key MINVALUE 1;
CREATE SEQUENCE bes_s_bes_staffeltabel_key MINVALUE 1;
CREATE SEQUENCE bes_s_bes_staffel_key MINVALUE 1;
CREATE SEQUENCE bes_s_bes_grootheid_key MINVALUE 1;
CREATE SEQUENCE bes_s_bes_srtdeel_prijs_key MINVALUE 1;
REGISTERONCE('$Id$')

View File

@@ -43,20 +43,6 @@ CREATE_TABLE(bes_srtgroep,0)
CONSTRAINT bes_u_bes_srtgroep_oms UNIQUE(ins_discipline_key, bes_srtgroep_omschrijving, bes_srtgroep_verwijder)
);
-- Gewicht/volume/aantal van een artikel
CREATE_TABLE(bes_grootheid,0)
(
bes_grootheid_key
NUMBER(10)
CONSTRAINT bes_k_bes_grootheid_key PRIMARY KEY,
/* Naam is b.v. kilogram, liter, aantal (of gram, milliliter, aantal, ...)*/
bes_grootheid_naam
VARCHAR2(25),
bes_grootheid_verwijder
DATE
DEFAULT NULLDATUM
);
-- Assortiment van producent/fabrikant (genormaliseerde producten)
CREATE_TABLE(bes_srtdeel,0)
@@ -511,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,
@@ -534,7 +520,9 @@ CREATE_TABLE(bes_disc_params, 0)
bes_disc_params_deliver_fe
NUMBER(1)
DEFAULT 0
NOT NULL
NOT NULL,
bes_disc_params_autodeliverdays /* Als bes_disc_params_fe_confirm = 0 AND bes_disc_params_deliver_fe = 0, dan wordt deze bestelopdracht na bes_disc_params_autodeliverdays dagen als 'geleverd' gemarkeerd */
NUMBER(4)
);
//// flexprops
@@ -578,7 +566,6 @@ CREATE_TABLE(bes_srtkenmerk, 0)
, CONSTRAINT bes_c_bes_srtkenmerk_omschr CHECK(bes_srtkenmerk_omschrijving IS NOT NULL)
, CONSTRAINT bes_srtkenmerk_omschrijving CHECK(bes_srtkenmerk_omschrijving IS NOT NULL)
, CONSTRAINT bes_u_bes_srtkenmerk_upper UNIQUE(bes_srtkenmerk_upper, bes_srtkenmerk_verwijder)
, CONSTRAINT bes_c_bes_srtkenmerk_kenmtype CHECK(bes_srtkenmerk_kenmerktype IN ('C','N','D','T','R','X','L','Q','F','M','E','S','l','B','V'))
, CONSTRAINT bes_c_bes_srtkenmerk_lengte CHECK(bes_srtkenmerk_lengte >= 1
AND bes_srtkenmerk_lengte <= 4000)
, CONSTRAINT bes_c_bes_srtkenmerk_max_min CHECK(bes_srtkenmerk_nmax >= bes_srtkenmerk_nmin)
@@ -598,11 +585,11 @@ CREATE_TABLE(bes_kenmerk, 0)
, bes_kenmerk_type
VARCHAR2(1)
CONSTRAINT bes_c_ins_kenmerk_type CHECK
(bes_kenmerk_type is not null and (bes_kenmerk_type IN( 'B', 'I')))
(bes_kenmerk_type IS NOT NULL AND bes_kenmerk_type IN ('B', 'I'))
, bes_kenmerk_niveau
VARCHAR2(1)
CONSTRAINT bes_c_ins_kenmerk_niveau2 CHECK
(bes_kenmerk_niveau is not null and (bes_kenmerk_niveau IN( 'D', 'G', 'S')))
(bes_kenmerk_niveau IS NOT NULL AND (bes_kenmerk_niveau IN( 'D', 'G', 'S')))
, bes_kenmerk_omschrijving
VARCHAR2(50) /* optionele overrule van srtkenmerk_omschrijving */
, bes_kenmerk_code
@@ -620,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

View File

@@ -64,7 +64,7 @@ BEGIN
IF (:new.bes_bestelling_satisfaction IS NOT NULL
AND (:old.bes_bestelling_satisfaction IS NULL OR :old.bes_bestelling_satisfaction <> :new.bes_bestelling_satisfaction))
THEN
fac.trackaction('BESLIK', :old.bes_bestelling_key, NULL , SYSDATE, REPLACE(lcl.l('lcl_faclike_changed'), '{0}', :new.bes_bestelling_satisfaction));
fac.trackaction('#BESLIK', :old.bes_bestelling_key, NULL , SYSDATE, REPLACE(lcl.l('lcl_faclike_changed'), '{0}', :new.bes_bestelling_satisfaction));
END IF;
END;
/
@@ -252,17 +252,17 @@ BEGIN
raise_application_error(-20000, 'bes_C_bes_SRTKENMERK_SYSTEEM');
END IF;
IF :NEW.bes_srtkenmerk_kenmerktype IN ('C', 'N', 'B') AND :NEW.bes_srtkenmerk_lengte IS NULL
IF :NEW.bes_srtkenmerk_kenmerktype IN ('C', 'N') AND :NEW.bes_srtkenmerk_lengte IS NULL
THEN
raise_application_error(-20000, 'bes_C_bes_SRTKENMERK_LENGTE');
END IF;
-- Numeriek mag niet te lang zijn (numeric overflow)
IF :new.bes_srtkenmerk_kenmerktype IN ('N', 'B') AND :new.bes_srtkenmerk_lengte > 20
IF :new.bes_srtkenmerk_kenmerktype = 'N' AND :new.bes_srtkenmerk_lengte > 20
THEN
:new.bes_srtkenmerk_lengte := 20;
END IF;
IF :NEW.bes_srtkenmerk_kenmerktype IN ('N', 'B') AND :OLD.bes_srtkenmerk_key IS NOT NULL
IF :NEW.bes_srtkenmerk_kenmerktype = 'N' AND :OLD.bes_srtkenmerk_key IS NOT NULL
THEN
IF :OLD.bes_srtkenmerk_nmin <> :NEW.bes_srtkenmerk_nmin
OR (:OLD.bes_srtkenmerk_nmin IS NULL AND :NEW.bes_srtkenmerk_nmin IS NOT NULL)
@@ -400,7 +400,7 @@ BEGIN
THEN
APPLICATION_ERROR_GOTO(-20004, 'bes_m241,' || srtkenmerkomschr || ',' || TO_CHAR (srtkenmerklengte));
END IF;
ELSIF srtkenmerktype IN ('N', 'B')
ELSIF srtkenmerktype = 'N'
THEN
-- NUMBER
-- Controleer of er een numerieke waarde ingevuld is.
@@ -515,7 +515,7 @@ BEGIN
THEN
APPLICATION_ERROR_GOTO(-20004, 'bes_m241,' || srtkenmerkomschr || ',' || TO_CHAR (srtkenmerklengte));
END IF;
ELSIF srtkenmerktype IN ('N', 'B')
ELSIF srtkenmerktype = 'N'
THEN
-- NUMBER
-- Controleer of er een numerieke waarde ingevuld is.
@@ -600,14 +600,6 @@ BEGIN
END;
/
CREATE_TRIGGER(bes_t_bes_grootheid_B_IU)
BEFORE INSERT OR UPDATE ON bes_grootheid
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(bes_grootheid_key, bes_s_bes_grootheid_key);
END;
/
CREATE_TRIGGER(bes_t_bes_srtdeel_prijs_B_IU)
BEFORE INSERT OR UPDATE ON bes_srtdeel_prijs
FOR EACH ROW

View File

@@ -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

View File

@@ -4,14 +4,6 @@
*/
_FAC_MODULE('BEZ','lcl_module_BEZ')
INSERT INTO bez_actie_groep (bez_actie_groep_omschrijving, bez_actie_groep_default) VALUES ('Default', 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_default = 1);
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_default = 1);
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_default = 1);
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_default = 1);
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_default = 1);
REGISTERONCE('$Id$')
#endif // BEZ

View File

@@ -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
@@ -177,8 +180,6 @@ CREATE_TABLE(bez_kenmerk,0)
VARCHAR2(10)
,bez_kenmerk_kenmerktype
VARCHAR2(1)
CONSTRAINT bez_c_bez_kenmerk_type2 CHECK
(bez_kenmerk_kenmerktype IN ('C','N','D','T','R','X','L','Q','F','M','E','S','l','B','V'))
,bez_kenmerk_systeem -- &1 = systeemkm, &8 = anonimiseren
NUMBER(2)
DEFAULT 0 NOT NULL

View File

@@ -3,14 +3,22 @@
* $Id$
*/
CREATE_TRIGGER(bez_t_bez_afspraak_B_I)
BEFORE INSERT ON bez_afspraak
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(bez_afspraak_key,bez_s_bez_afspraak_key);
END;
/
CREATE_TRIGGER(bez_t_bez_afspraak_B_IU)
BEFORE INSERT OR UPDATE ON bez_afspraak
FOR EACH ROW
DECLARE dummy NUMBER;
BEGIN
UPDATE_PRIMARY_KEY(bez_afspraak_key,bez_s_bez_afspraak_key);
dummy := :new.bez_afspraak_key;
IF sys_context('USERENV', 'ACTION') = 'ANONYMIZE' OR
sys_context('USERENV', 'ACTION') = 'DBUPGRADE' THEN
RETURN;
END IF;
IF :new.bez_afspraak_contact_key IS NULL AND :new.prs_perslid_key IS NOT NULL THEN
:new.bez_afspraak_contact_key := :new.prs_perslid_key;
@@ -62,8 +70,8 @@ BEGIN
END;
/
CREATE_TRIGGER(bez_t_bez_bezoekers_B_IU)
BEFORE INSERT OR UPDATE ON bez_bezoekers
CREATE_TRIGGER(bez_t_bez_bezoekers_B_I)
BEFORE INSERT ON bez_bezoekers
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(bez_bezoekers_key,bez_s_bez_bezoekers_key);

View File

@@ -13,7 +13,8 @@ DEFINIEER_VIEW_AANWEZIG(ctr_discipline, ins_discipline_verwijder,
CREATE OR REPLACE VIEW bgt_v_project_gegevens
AS
SELECT pr.ins_discipline_key
SELECT pr.ins_discipline_key FCLT_3D_DISCIPLINE_KEY
, pr.ins_discipline_key
, pr.bgt_project_key
, dp.bgt_disc_params_opdrachtgever opdrachtgever
, dp.bgt_disc_params_code pcode
@@ -34,7 +35,8 @@ AS
CREATE OR REPLACE VIEW bgt_v_project_full
AS
SELECT pr.ins_discipline_key
SELECT pr.ins_discipline_key FCLT_3D_DISCIPLINE_KEY
, pr.ins_discipline_key
, pr.bgt_project_key
, pr.opdrachtgever
, pr.pcode
@@ -60,7 +62,8 @@ AS
, bgt_kostenrubriek kr
WHERE pr.bgt_project_key = kr.bgt_project_key
UNION
SELECT pr.ins_discipline_key
SELECT pr.ins_discipline_key FCLT_3D_DISCIPLINE_KEY
, pr.ins_discipline_key
, pr.bgt_project_key
, pr.opdrachtgever
, pr.pcode
@@ -88,7 +91,8 @@ AS
WHERE pr.bgt_project_key = kr.bgt_project_key
AND kr.bgt_kostenrubriek_key = kg.bgt_kostenrubriek_key
UNION
SELECT pr.ins_discipline_key
SELECT pr.ins_discipline_key FCLT_3D_DISCIPLINE_KEY
, pr.ins_discipline_key
, pr.bgt_project_key
, pr.opdrachtgever
, pr.pcode

View File

@@ -2,130 +2,29 @@
/* CAD_INI.SRC
* $Revision$
* $Id$
*
* Initialisatie die nooit fout is
*/
_FAC_MODULE('CAD','lcl_module_CAD')
INSERT INTO cad_legenda (cad_legenda_key, cad_legenda_omschrijving, cad_legenda_discreet) VALUES (1, 'Default legenda', 1);
INSERT INTO cad_legenda (cad_legenda_key, cad_legenda_omschrijving, cad_legenda_discreet) VALUES (2, 'Aantallen', 0);
// IN prj_ini: INSERT INTO cad_legenda (cad_legenda_key, cad_legenda_omschrijving, cad_legenda_discreet) VALUES (3, 'Default project legenda', 1);
INSERT INTO cad_legenda (cad_legenda_key, cad_legenda_omschrijving, cad_legenda_discreet) VALUES (4, 'Bezetting', 1);
INSERT INTO cad_legendawaarde (cad_legenda_key, cad_legendawaarde_value, cad_legendawaarde_rgb, cad_legendawaarde_omschr)
VALUES (2,'0','FFFFFF','0');
-- Een voorbeeldlegenda
INSERT INTO cad_legendawaarde (cad_legenda_key, cad_legendawaarde_value, cad_legendawaarde_rgb, cad_legendawaarde_omschr) VALUES (2,'0','FFFFFF','0');
INSERT INTO cad_legendawaarde (cad_legenda_key, cad_legendawaarde_value, cad_legendawaarde_rgb, cad_legendawaarde_omschr) VALUES (2,'1','FDF68D','01');
INSERT INTO cad_legendawaarde (cad_legenda_key, cad_legendawaarde_value, cad_legendawaarde_rgb, cad_legendawaarde_omschr) VALUES (2,'2','FFF10F','02');
INSERT INTO cad_legendawaarde (cad_legenda_key, cad_legendawaarde_value, cad_legendawaarde_rgb, cad_legendawaarde_omschr) VALUES (2,'3','FFDD81','03');
INSERT INTO cad_legendawaarde (cad_legenda_key, cad_legendawaarde_value, cad_legendawaarde_rgb, cad_legendawaarde_omschr) VALUES (2,'4','FDC01B','04');
INSERT INTO cad_legendawaarde (cad_legenda_key, cad_legendawaarde_value, cad_legendawaarde_rgb, cad_legendawaarde_omschr) VALUES (2,'5','FFBF81','05');
INSERT INTO cad_legendawaarde (cad_legenda_key, cad_legendawaarde_value, cad_legendawaarde_rgb, cad_legendawaarde_omschr) VALUES (2,'10','FF8309','10');
INSERT INTO cad_legendawaarde (cad_legenda_key, cad_legendawaarde_value, cad_legendawaarde_rgb, cad_legendawaarde_omschr) VALUES (2,'20','FF8143','20');
INSERT INTO cad_legendawaarde (cad_legenda_key, cad_legendawaarde_value, cad_legendawaarde_rgb, cad_legendawaarde_omschr) VALUES (2,'50','FF5A09','50');
INSERT INTO cad_legendawaarde (cad_legenda_key, cad_legendawaarde_value, cad_legendawaarde_rgb, cad_legendawaarde_omschr) VALUES (2,'99','FF0000','99');
INSERT INTO cad_legendawaarde (cad_legenda_key, cad_legendawaarde_value, cad_legendawaarde_rgb, cad_legendawaarde_omschr)
VALUES (2,'1','FDF68D','01');
INSERT INTO cad_legendawaarde (cad_legenda_key, cad_legendawaarde_value, cad_legendawaarde_rgb, cad_legendawaarde_omschr)
VALUES (2,'2','FFF10F','02');
INSERT INTO cad_legendawaarde (cad_legenda_key, cad_legendawaarde_value, cad_legendawaarde_rgb, cad_legendawaarde_omschr)
VALUES (2,'3','FFDD81','03');
INSERT INTO cad_legendawaarde (cad_legenda_key, cad_legendawaarde_value, cad_legendawaarde_rgb, cad_legendawaarde_omschr)
VALUES (2,'4','FDC01B','04');
INSERT INTO cad_legendawaarde (cad_legenda_key, cad_legendawaarde_value, cad_legendawaarde_rgb, cad_legendawaarde_omschr)
VALUES (2,'5','FFBF81','05');
INSERT INTO cad_legendawaarde (cad_legenda_key, cad_legendawaarde_value, cad_legendawaarde_rgb, cad_legendawaarde_omschr)
VALUES (2,'10','FF8309','10');
INSERT INTO cad_legendawaarde (cad_legenda_key, cad_legendawaarde_value, cad_legendawaarde_rgb, cad_legendawaarde_omschr)
VALUES (2,'20','FF8143','20');
INSERT INTO cad_legendawaarde (cad_legenda_key, cad_legendawaarde_value, cad_legendawaarde_rgb, cad_legendawaarde_omschr)
VALUES (2,'50','FF5A09','50');
INSERT INTO cad_legendawaarde (cad_legenda_key, cad_legendawaarde_value, cad_legendawaarde_rgb, cad_legendawaarde_omschr)
VALUES (2,'99','FF0000','99');
INSERT INTO cad_legendawaarde (cad_legenda_key, cad_legendawaarde_value, cad_legendawaarde_rgb, cad_legendawaarde_omschr)
VALUES (4,'0','33CC33','hele dag beschikbaar');
INSERT INTO cad_legendawaarde (cad_legenda_key, cad_legendawaarde_value, cad_legendawaarde_rgb, cad_legendawaarde_omschr)
VALUES (4,'1','FF9900','''s middags beschikbaar');
INSERT INTO cad_legendawaarde (cad_legenda_key, cad_legendawaarde_value, cad_legendawaarde_rgb, cad_legendawaarde_omschr)
VALUES (4,'2','FFFF00','''s ochtends beschikbaar');
INSERT INTO cad_legendawaarde (cad_legenda_key, cad_legendawaarde_value, cad_legendawaarde_rgb, cad_legendawaarde_omschr)
VALUES (4,'3','FF0000','hele dag bezet');
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
FROM fac_functie
WHERE fac_functie_code = 'WEB_ALGUSE';
INSERT INTO cad_thema (cad_thema_omschrijving, cad_legenda_key, cad_thema_view, cad_thema_type, fac_functie_key)
SELECT 'Vloerafwerking', 1, 'cad_v_thema_vloerafwerking', 1, fac_functie_key
FROM fac_functie
WHERE fac_functie_code = 'WEB_ALGUSE';
INSERT INTO cad_thema (cad_thema_omschrijving, cad_legenda_key, cad_thema_view, cad_thema_type, fac_functie_key)
SELECT 'Open meldingen', 2, 'cad_v_thema_openmeldingen', 1, fac_functie_key
FROM fac_functie
WHERE fac_functie_code = 'WEB_MLDBAC';
INSERT INTO CAD_THEMA
( CAD_THEMA_OMSCHRIJVING, CAD_LEGENDA_KEY, CAD_THEMA_VIEW, CAD_THEMA_TYPE, fac_functie_key )
SELECT 'Bezetting: aantal werkplekken', 1, 'CAD_V_THEMA_AANTALWP', '1', fac_functie_key
from fac_functie
where fac_functie_code = 'WEB_PRSBOF';
INSERT INTO CAD_THEMA
( CAD_THEMA_OMSCHRIJVING, CAD_LEGENDA_KEY, CAD_THEMA_VIEW,CAD_THEMA_TYPE, fac_functie_key )
SELECT 'Oppervlakte: Gemiddeld/werkplek', 1, 'CAD_V_THEMA_WPOPP', '1', fac_functie_key
from fac_functie
where fac_functie_code = 'WEB_PRSBOF';
-- NB: deze gaan met vaste keys 12,13 harde defaults voor infobord.
INSERT INTO cad_thema
( cad_thema_key, cad_thema_omschrijving, cad_legenda_key, cad_thema_view, cad_thema_type, fac_functie_key )
SELECT 12, 'Actuele bezetting', 1, 'cad_v_thema_srtruimtesensor', '1', fac_functie_key
from fac_functie
where fac_functie_code = 'WEB_RESFOF';
INSERT INTO cad_thema
( cad_thema_key, cad_thema_omschrijving, cad_legenda_key, cad_thema_view, cad_thema_type, fac_functie_key )
SELECT 13, 'Werkplekbezetting', 4, 'cad_v_thema_deel_res_datum', '17', fac_functie_key
from fac_functie
where fac_functie_code = 'WEB_RESUSE';
-- De cad_thema_key sequence gaat later vanzelf wel verder met 21.
INSERT INTO cad_label (cad_label_omschrijving, cad_label_view, cad_label_type, fac_functie_key, cad_label_size)
SELECT 'Ruimtefunctie/opp', 'cad_v_label_srtruimteopp', 1, fac_functie_key, 360
FROM fac_functie
WHERE fac_functie_code = 'WEB_ALGUSE';
INSERT INTO cad_label (cad_label_omschrijving, cad_label_view, cad_label_type, fac_functie_key, cad_label_size)
SELECT 'Bewoners', 'cad_v_label_bewoner', 1, fac_functie_key, 300
FROM fac_functie
WHERE fac_functie_code = 'WEB_PRSUSE';
INSERT INTO CAD_LABEL
( CAD_LABEL_OMSCHRIJVING, CAD_LABEL_VIEW, CAD_LABEL_TYPE, CAD_LABEL_SIZE, FAC_FUNCTIE_KEY )
SELECT 'Werkplekken', 'cad_v_label_werkplekken', '1', 800, fac_functie_key
from fac_functie
where fac_functie_code = 'WEB_PRSBOF';
INSERT INTO CAD_LABEL
( CAD_LABEL_OMSCHRIJVING, CAD_LABEL_VIEW, CAD_LABEL_TYPE, CAD_LABEL_SIZE, FAC_FUNCTIE_KEY )
SELECT 'Bewoners/werkplekken', 'cad_v_label_bewonerwp', '1', 800, fac_functie_key
from fac_functie
where fac_functie_code = 'WEB_PRSUSE';
INSERT INTO CAD_LABEL
( CAD_LABEL_OMSCHRIJVING, CAD_LABEL_VIEW, CAD_LABEL_TYPE, CAD_LABEL_SIZE, FAC_FUNCTIE_KEY )
SELECT 'Ruimtefunctie/opp', 'prj_v_cad_v_label_srtruimteopp', '5', 800, fac_functie_key
from fac_functie
where fac_functie_code = 'WEB_ALGUSE';
-- NB: deze gaat met vaste key 12, een harde default voor infobord.
INSERT INTO cad_label
( cad_label_key, cad_label_omschrijving, cad_label_view, cad_label_type, cad_label_size, cad_label_visible, fac_functie_key )
SELECT 12, 'Flexibele ruimtes', 'cad_v_label_bezetbareruimtes', '1', 500, 0, fac_functie_key
from fac_functie
where fac_functie_code = 'WEB_RESFOF';
INSERT INTO cad_label
( cad_label_key, cad_label_omschrijving, cad_label_view, cad_label_type, cad_label_size, cad_label_visible, fac_functie_key )
SELECT 13, 'Werkplekbezetting', 'cad_v_label_deel_res_datum', '17', 700, 0, fac_functie_key
from fac_functie
where fac_functie_code = 'WEB_RESUSE';
-- De cad_label_key sequence gaat later vanzelf wel verder met 21.
-- Overige thema's en label's in de INI's
REGISTERONCE('$Id$')

View File

@@ -112,6 +112,30 @@ BEGIN
END;
/
-- Toont de huidige afdeling die aan een ruimte gekoppeld is, en Meerdere! indien meerdere.
-- Ondersteunt dus (wel) bezettingsintervallen/historie. Niet sleepbaar want geen triviaal antwoord op
-- welke periode je dan moet doen (nu tot onbepaald zou kunnen, en dan moet je dus de huidige periode sluiten)
-- Gebruik prs_afdeling_naam6 formattering (ongeacht S(prs_dep_string))
CREATE_VIEW(cad_v_thema_huidigeafdelingen, 0)
(
alg_ruimte_key
, waarde
)
AS
SELECT x.alg_ruimte_key,
DECODE (x.aantal,
1, SUBSTR (x.sp, 1, 60),
'Meerdere!')
FROM (SELECT ra.alg_ruimte_key,
MIN (d.prs_afdeling_naam || '-' || d.prs_afdeling_omschrijving) sp,
MIN (d.prs_afdeling_key) sp_key,
COUNT (ra.prs_afdeling_key) aantal
FROM prs_v_aanwezigruimteafdeling ra, prs_v_aanwezigafdeling d
WHERE ra.prs_afdeling_key = d.prs_afdeling_key
AND SYSDATE BETWEEN ra.prs_ruimteafdeling_ingangsdatum
AND COALESCE (ra.prs_ruimteafdeling_einddatum, TRUNC (SYSDATE) + 1)
GROUP BY ra.alg_ruimte_key) x;
// De afdelingsbezetting maar dan gebaseerd op de afdelingen
// van de de personen die op de werkplekken zitten
CREATE_VIEW(cad_v_thema_prsafdelingen, 0)
@@ -238,27 +262,6 @@ BEGIN
END;
/
-- Bezetting
-- Afdelingen
CREATE_VIEW(cad_v_thema_vloerafwerking, 0)
(alg_ruimte_key, waarde)
AS
SELECT r.alg_ruimte_key,
va.fac_usrdata_omschr
FROM alg_ruimte r,
(SELECT rr.alg_ruimte_key, ud.fac_usrdata_omschr
FROM alg_onrgoedkenmerk ok,
fac_usrdata ud,
fac_kenmerkdomein rk,
alg_kenmerk k,
alg_v_aanwezigruimte rr
WHERE rk.fac_usrtab_key = ud.fac_usrtab_key
AND k.fac_kenmerkdomein_key = rk.fac_kenmerkdomein_key
AND TO_CHAR (ud.fac_usrdata_key) = ok.alg_onrgoedkenmerk_waarde
AND k.alg_kenmerk_key = 2
AND rr.alg_ruimte_key = ok.alg_onrgoed_key) va
WHERE va.alg_ruimte_key = r.alg_ruimte_key;
--Meldingen
CREATE_VIEW(cad_v_thema_openmeldingen,0)
@@ -889,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

View File

@@ -1,43 +0,0 @@
--
-- $Id$
--
-- Script for (re)initializing the "CND-module" for conditiemetingen according to NEN2767-standard
-- It can be run repeatedly after a initial initialisation in an existing Facilitor database
-- to upgrade CND the to the latest version.
-- First time the CND_INI must be run as well, once, first
--
DEFINE thisfile = 'CND.SQL'
DEFINE dbuser = ''
SET ECHO ON
SET DEFINE ON
COLUMN fcltlogfile NEW_VALUE fcltlogfile NOPRINT;
WHENEVER SQLERROR EXIT;
SELECT adm.scriptspoolfile('&dbuser', '&thisfile') AS fcltlogfile FROM DUAL;
WHENEVER SQLERROR CONTINUE;
SPOOL &fcltlogfile
SET DEFINE OFF
------ payload begin ------
------ payload end ------
SET DEFINE OFF
BEGIN adm.systrackscriptId ('$Id$', 0); END;
/
COMMIT;
SET ECHO OFF
SPOOL OFF
SET DEFINE ON
PROMPT Logfile of this upgrade is: &fcltlogfile

View File

@@ -1810,13 +1810,13 @@ AS
INTO v_srtkenmerk_key
FROM mld_srtkenmerk -- ins_v_aanwezigsrtkenmerk
WHERE mld_srtkenmerk_upper = UPPER (v_kw)
AND mld_srtkenmerk_kenmerktype IN ('C', 'D', 'N', 'R', 'S', 'X', 'B', 'V');
AND mld_srtkenmerk_kenmerktype IN ('C', 'D', 'N', 'R', 'r', 'S', 'X', 'V');
ELSE -- kenmerkwaarde is numeriek (dus key)!
SELECT mld_srtkenmerk_key
INTO v_srtkenmerk_key
FROM mld_srtkenmerk -- ins_v_aanwezigsrtkenmerk
WHERE mld_srtkenmerk_key = fac.safe_to_number (v_kw)
AND mld_srtkenmerk_kenmerktype IN ('C', 'D', 'N', 'R', 'S', 'X', 'B', 'V');
AND mld_srtkenmerk_kenmerktype IN ('C', 'D', 'N', 'R', 'r', 'S', 'X', 'V');
END IF;
RETURN TO_CHAR(v_srtkenmerk_key) || '|' || TO_CHAR(v_kenmerk_groep);
@@ -2931,7 +2931,7 @@ IS
IF v_waarde IS NOT NULL
THEN
IF v_srtkenmerk_type IN ('R', 'S')
IF v_srtkenmerk_type IN ('R', 'r', 'S')
THEN
v_errormsg := 'Fout bij bepalen eigen tabel';
@@ -3275,7 +3275,7 @@ BEGIN
IF fac.getsetting('cnd_autoaccept') = 1
THEN
mld.setmeldingstatus(v_mld_melding_key, 4, v_prs_perslid_key, 0);
-- berekening per gebrek is in principe te vaak,
-- berekening per gebrek is in principe te vaak,
-- dat mag per deel, maar dit is nu eenmaal de loop
cnd.process_mjb_score_effects (v_mld_melding_key);
END IF;

View File

@@ -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

View File

@@ -6,11 +6,14 @@
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;
FUNCTION cnt_getRappeldatum (pcnt_contract_key IN NUMBER) RETURN DATE;
FUNCTION cnt_contract_status (van IN DATE, rappel IN DATE, opzeg IN DATE, tot IN DATE) RETURN NUMBER;
PROCEDURE autoverleng_contract;
PROCEDURE autoinactiveer_contract;
PROCEDURE splitscontract (p_key IN NUMBER, p_datum IN DATE, p_user IN NUMBER, p_amount NUMBER);
PROCEDURE generatefactuurschema (pcontractkey IN NUMBER,ptermijnbedrag IN NUMBER DEFAULT NULL);
@@ -19,6 +22,10 @@ CREATE OR REPLACE PACKAGE cnt AS
FUNCTION sprintf (ps IN VARCHAR2 , p_contract_key IN NUMBER) RETURN VARCHAR2;
PROCEDURE remove(p_contract_key IN NUMBER);
PROCEDURE notifycontractbedrijven (pcntkey NUMBER,
ptrackingkey NUMBER,
pnotidelay NUMBER DEFAULT NULL);
PRAGMA RESTRICT_REFERENCES (cnt_contract_status, WNDS, WNPS);
END cnt;
/
@@ -71,7 +78,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';
@@ -94,6 +101,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.
@@ -233,6 +261,138 @@ CREATE OR REPLACE PACKAGE BODY cnt AS
RETURN 4;
END;
PROCEDURE autoverleng_contract
IS
CURSOR c_verleng IS
SELECT c.cnt_contract_key
, c.ins_discipline_key
, 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
, cnt.cnt_getTermijndatum (c.cnt_contract_looptijd_tot, c.cnt_contract_verleng_termijn, 1) dtnieuw
FROM cnt_contract c
, cnt_disc_params p
, cnt_termijn o
, cnt_termijn v
WHERE c.ins_discipline_key = p.cnt_ins_discipline_key
AND c.cnt_contract_opzegtermijn = o.cnt_termijn_key
AND c.cnt_contract_verleng_termijn = v.cnt_termijn_key
AND c.cnt_contract_verwijder IS NULL
AND BITAND(p.cnt_disc_params_opties,1) = 1 -- Dit contracttype mag automatisch verlengd worden
AND BITAND(c.cnt_contract_verlenging,4) = 4 -- Dit contract mag automatisch verlengd worden
AND TRUNC(SYSDATE) > cnt.cnt_getTermijndatum (c.cnt_contract_looptijd_tot, c.cnt_contract_opzegtermijn, -1)
AND NOT EXISTS
( SELECT 1
FROM cnt_contract cn
WHERE cn.cnt_contract_nummer_intern = c.cnt_contract_nummer_intern
AND cn.cnt_contract_versie > c.cnt_contract_versie
AND cn.cnt_contract_looptijd_van = (c.cnt_contract_looptijd_tot + 1)
AND cn.cnt_contract_verwijder IS NULL
);
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
UPDATE cnt_contract
SET cnt_contract_looptijd_tot = cnt_verloopt.dtnieuw
WHERE cnt_contract_key = cnt_verloopt.cnt_contract_key;
tracking := REPLACE(REPLACE(lcl.l('lcl_cnt_prolongation_tracking')
, '{0}', cnt_verloopt.verlengtermijn
)
, '{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;
PROCEDURE autoinactiveer_contract
IS
l_prs_perslid_key prs_perslid.prs_perslid_key%TYPE;
tracking VARCHAR2(4000);
CURSOR c_inactiveer IS
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 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
INTO l_prs_perslid_key
FROM prs_perslid
WHERE prs_perslid_oslogin = '_SYSTEEM' AND prs_perslid_verwijder IS NULL;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
fac.putsystemnotification ('Invalid configuration: missing _SYSTEEM user', 1);
END;
FOR cnt_inactiveer IN c_inactiveer
LOOP
cnt.setcontractstatus(cnt_inactiveer.cnt_contract_key, 1, l_prs_perslid_key); -- Zorgt ook voor tracking en daarmee notificatie.
UPDATE cnt_contract
SET cnt_contract_inactiveren = 0
WHERE cnt_contract_key = cnt_inactiveer.cnt_contract_key;
tracking := lcl.l('lcl_cnt_is_cntupd') || CHR(10) || lcl.l('lcl_cnt_auto_close') || ': ' || lcl.l('lcl_Yes') || lcl.l('lcl_trackto') || lcl.l('lcl_No');
fac.trackaction('CNTUPD', cnt_inactiveer.cnt_contract_key, NULL, NULL, tracking);
END LOOP;
END;
PROCEDURE splitscontract (p_key IN NUMBER, p_datum IN DATE, p_user IN NUMBER, p_amount NUMBER)
IS
begin1 DATE;
@@ -241,6 +401,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);
@@ -263,8 +424,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
@@ -282,7 +444,12 @@ CREATE OR REPLACE PACKAGE BODY cnt AS
eind1 := eind1;
IF (fac.getsetting('cnt_contract_approval') = 1 AND srtcontract_type != 6)
THEN
new_status := 2; -- altijd op nieuw
IF (approve_new = 1)
THEN
new_status := 3; -- gesplitst contract altijd accorderen
ELSE
new_status := 2; -- altijd op nieuw
END IF;
ELSE
new_status := 0; -- direct actief
END IF;
@@ -611,6 +778,90 @@ CREATE OR REPLACE PACKAGE BODY cnt AS
-- In geen enkele omgeving is cnt_contract_key in deze tabel ingevuld.
END;
PROCEDURE notifycontractbedrijven (pcntkey NUMBER,
ptrackingkey NUMBER,
pnotidelay NUMBER DEFAULT NULL)
AS
BEGIN
FOR bedrijfrec
IN (SELECT b.prs_bedrijf_key,
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,
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),
MIN (alg_boom.alg_locatie_key))
cnt_locatie_key
FROM cnt_contract_plaats cp1,
(SELECT alg_r.alg_ruimte_key,
alg_r.alg_verdieping_key,
alg_v.alg_gebouw_key,
alg_g.alg_locatie_key,
'R' alg_type
FROM alg_ruimte alg_r, alg_verdieping alg_v, alg_gebouw alg_g
WHERE alg_r.alg_verdieping_key = alg_v.alg_verdieping_key
AND alg_v.alg_gebouw_key = alg_g.alg_gebouw_key
UNION
SELECT TO_NUMBER (NULL),
alg_v.alg_verdieping_key,
alg_v.alg_gebouw_key,
alg_g.alg_locatie_key,
'V' alg_type
FROM alg_verdieping alg_v, alg_gebouw alg_g
WHERE alg_v.alg_gebouw_key = alg_g.alg_gebouw_key
UNION
SELECT TO_NUMBER (NULL),
TO_NUMBER (NULL),
alg_g.alg_gebouw_key,
alg_g.alg_locatie_key,
'G' alg_type
FROM alg_gebouw alg_g) alg_boom
WHERE cp1.cnt_alg_plaats_key =
CASE cp1.cnt_alg_plaats_code
WHEN 'G' THEN alg_boom.alg_gebouw_key(+)
WHEN 'V' THEN alg_boom.alg_verdieping_key(+)
WHEN 'R' THEN alg_boom.alg_ruimte_key(+)
END
AND cp1.cnt_alg_plaats_code = alg_boom.alg_type(+)
AND cp1.cnt_contract_plaats_verwijder IS NULL
GROUP BY cnt_contract_key
HAVING COUNT (1) = 1) cp
WHERE c.cnt_contract_key = pcntkey
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
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 => pcntkey,
ptrackingkey => ptrackingkey,
preference => bedrijfrec.cnt_contract_nummer_intern,
pdiscipline_key => bedrijfrec.ins_discipline_key,
plocatie_key => bedrijfrec.alg_locatie_key,
pbedrijf_key2 => bedrijfrec.persoon_bedrijf_key,
pnotidelay => pnotidelay);
END LOOP;
END;
END cnt;
/

View File

@@ -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$')

View File

@@ -82,6 +82,18 @@ CREATE_TABLE(cnt_disc_params, 0)
DEFAULT 0
NOT NULL,
cnt_disc_params_huurder /* indien Bedrijf: Huurders? */
NUMBER(1)
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
@@ -112,6 +124,10 @@ CREATE_TABLE(cnt_contract,0)
, cnt_contract_looptijd_tot
DATE
CONSTRAINT cnt_c_cnt_contract_tot CHECK(cnt_contract_looptijd_tot IS NOT NULL)
, cnt_contract_inactiveren /* Automatisch sluiten na einddatum (0=nee, 1=ja) */
NUMBER(1)
DEFAULT 0
CONSTRAINT cnt_r_cnt_contract_inactiveren CHECK(cnt_contract_inactiveren IN (0,1))
, cnt_contract_kosten
NUMBER(11,2)
, cnt_contract_termijnkosten
@@ -184,7 +200,10 @@ CREATE_TABLE(cnt_contract,0)
, cnt_contract_verlenging /* 00=vragen nee (0), 01=vragen ja (1), 10=vast nee (2), 11=vast ja (3) */
NUMBER(1)
DEFAULT 2
CONSTRAINT cnt_r_cnt_contract_verlenging CHECK(cnt_contract_verlenging IN (0,1,2,3))
CONSTRAINT cnt_r_cnt_contract_verlenging CHECK(cnt_contract_verlenging IN (0,1,2,3,4,5,6,7))
, cnt_contract_verleng_termijn
NUMBER(10)
CONSTRAINT cnt_r_cnt_termijn_key5 REFERENCES cnt_termijn(cnt_termijn_key)
, cnt_contract_approved
NUMBER(11,2)
, cnt_contract_teverzenden
@@ -321,7 +340,6 @@ CREATE_TABLE(cnt_srtkenmerk, 0)
, CONSTRAINT cnt_c_cnt_srtkenmerk_omschr CHECK(cnt_srtkenmerk_omschrijving IS NOT NULL)
, CONSTRAINT cnt_srtkenmerk_omschrijving CHECK(cnt_srtkenmerk_omschrijving IS NOT NULL)
, CONSTRAINT cnt_u_cnt_srtkenmerk_upper UNIQUE(cnt_srtkenmerk_upper, cnt_srtkenmerk_verwijder)
, CONSTRAINT cnt_c_cnt_srtkenmerk_kenmtype CHECK(cnt_srtkenmerk_kenmerktype IN ('C','N','D','T','R','X','L','Q','F','M','E','S','l','B','V'))
, CONSTRAINT cnt_c_cnt_srtkenmerk_systeem CHECK(cnt_srtkenmerk_systeem IS NULL
OR cnt_srtkenmerk_systeem = 1)
, CONSTRAINT cnt_c_cnt_srtkenmerk_lengte CHECK(cnt_srtkenmerk_lengte >= 1
@@ -359,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
@@ -440,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$')

View File

@@ -143,18 +143,18 @@ BEGIN
raise_application_error(-20000, 'CNT_C_CNT_SRTKENMERK_SYSTEEM');
END IF;
--
IF :new.cnt_srtkenmerk_kenmerktype IN ('C', 'N', 'B') AND :new.cnt_srtkenmerk_lengte IS NULL
IF :new.cnt_srtkenmerk_kenmerktype IN ('C', 'N') AND :new.cnt_srtkenmerk_lengte IS NULL
THEN
raise_application_error(-20000, 'CNT_C_CNT_SRTKENMERK_LENGTE');
END IF;
-- Numeriek mag niet te lang zijn (numeric overflow)
IF :new.cnt_srtkenmerk_kenmerktype IN ('N', 'B')
IF :new.cnt_srtkenmerk_kenmerktype = 'N'
AND :new.cnt_srtkenmerk_lengte > 20
THEN
:new.cnt_srtkenmerk_lengte := 20;
END IF;
--
IF :new.cnt_srtkenmerk_kenmerktype IN ('N', 'B')
IF :new.cnt_srtkenmerk_kenmerktype = 'N'
AND :old.cnt_srtkenmerk_key IS NOT NULL
THEN
IF :old.cnt_srtkenmerk_nmin <> :new.cnt_srtkenmerk_nmin
@@ -280,7 +280,7 @@ BEGIN
THEN
APPLICATION_ERROR_GOTO(-20004, 'cnt_m241,'||SrtKenmerkOmschr||','||TO_CHAR(SrtKenmerkLengte));
END IF;
ELSIF SrtKenmerkType IN ('N', 'B')
ELSIF SrtKenmerkType = 'N'
THEN
-- NUMBER
-- Controleer of er een numerieke waarde ingevuld is.
@@ -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

View File

@@ -137,8 +137,7 @@ AS
'N',
'R',
'S',
'X',
'B')
'X')
AND EXISTS
(SELECT 1
FROM cnt_kenmerk k
@@ -157,6 +156,11 @@ AS
sk.fac_kenmerkdomein_key,
ck.cnt_kenmerkcontract_waarde
),
'r',
flx.getdomeinwaarde (
sk.fac_kenmerkdomein_key,
ck.cnt_kenmerkcontract_waarde
),
'S',
flx.getdomeinwaarde (
sk.fac_kenmerkdomein_key,
@@ -766,6 +770,7 @@ AS
lcl.x('cnt_srtkenmerk_omschrijving', skm.cnt_srtkenmerk_key, cnt_srtkenmerk_omschrijving)) kenmerk,
CASE
WHEN skm.cnt_srtkenmerk_kenmerktype = 'R'
OR skm.cnt_srtkenmerk_kenmerktype = 'r'
OR skm.cnt_srtkenmerk_kenmerktype = 'S'
THEN
flx.getdomeinwaarde (skm.fac_kenmerkdomein_key,
@@ -780,7 +785,6 @@ AS
waarde_c,
CASE
WHEN skm.cnt_srtkenmerk_kenmerktype = 'N'
OR skm.cnt_srtkenmerk_kenmerktype = 'B'
THEN
TO_NUMBER (km.cnt_kenmerkcontract_waarde)
ELSE
@@ -796,7 +800,7 @@ AS
END
waarde_d,
CASE
WHEN skm.cnt_srtkenmerk_kenmerktype IN ('R', 'S')
WHEN skm.cnt_srtkenmerk_kenmerktype IN ('R', 'r', 'S')
THEN
flx.getdomeinwaarde (skm.fac_kenmerkdomein_key, km.cnt_kenmerkcontract_waarde)
ELSE

View File

@@ -624,6 +624,9 @@ CEIL
#define DEF_FAC_MESSAGE(a,b,c) INSERT INTO fac_message VALUES (a,b)
// Default Setup volgens;
#define DEF_SETUP(n, f) INSERT INTO ini_setup (ini_setup_name, ini_setup_name_full) VALUES (UPPER(n), f)
#define UPD_FAC_FUNCTIE2(c, o, m, l, d, g, i) UPDATE fac_functie SET fac_functie_omschrijving=o,fac_functie_module=m,fac_functie_min_level=l, fac_functie_discipline=d, fac_functie_groep=g, fac_functie_info=i) WHERE fac_functie_code=c
#define DEF_FAC_FUNCTIE3(c, m, l, d, g) INSERT INTO fac_functie (fac_functie_code, fac_functie_omschrijving,fac_functie_module,fac_functie_min_level, fac_functie_discipline, fac_functie_groep, fac_functie_info) VALUES(c, 'lcl_' || c, m, l, d, g, 'lcl_' || c || '_info')
#define DEF_FAC_FUNCTIE3x(c, x, m, l, d, g) INSERT INTO fac_functie (fac_functie_code, fac_functie_omschrijving,fac_functie_module,fac_functie_min_level, fac_functie_discipline, fac_functie_groep, fac_functie_info) VALUES(c||x, 'lcl_' || c ||x, m, l, d, g, 'lcl_' || c || x ||'_info')
@@ -658,13 +661,14 @@ CEIL
// De CHECK() geeft het wel, dus wordt deze gebruikt.
#define NOT_NULL(column, constraint_name) CONSTRAINT constraint_name CHECK(column IS NOT NULL)
#define DEF_IMPORT2(aut, code, oms_nl, oms_en, charset, folder, files) \
#define DEF_IMPORT2(aut, code, oms_nl, oms_en, csv_typ, charset, folder, files) \
DECLARE ~\
imp_key NUMBER(10); ~\
BEGIN ~\
INSERT INTO fac_import_app (fac_import_app_code, ~\
fac_import_app_oms, ~\
fac_functie_key, ~\
fac_import_app_csv, ~\
fac_import_app_charset, ~\
fac_import_app_folder, ~\
fac_import_app_files) ~\
@@ -673,6 +677,7 @@ BEGIN ~\
(SELECT fac_functie_key ~\
FROM fac_functie ~\
WHERE fac_functie_code = aut), ~\
csv_typ, ~\
charset, ~\
folder, ~\
files) ~\
@@ -682,10 +687,10 @@ BEGIN ~\
END; ~\
/ ~\
#define DEF_IMPORT(aut, code, oms_nl, oms_en) \
DEF_IMPORT2(aut, code, oms_nl, oms_en, NULL, NULL, NULL) ~\
#define DEF_IMPORT(aut, code, oms_nl, oms_en, csv_typ) \
DEF_IMPORT2(aut, code, oms_nl, oms_en, csv_typ, NULL, NULL, NULL) ~\
#define DEF_RAPPORT(aut, func, view, oms_nl, info_nl, oms_en, info_en) \
#define DEF_RAPPORT(grp, aut, func, view, oms_nl, info_nl, oms_en, info_en) \
DECLARE ~\
rap_key NUMBER(10); ~\
BEGIN ~\
@@ -694,12 +699,12 @@ BEGIN ~\
, fac_usrrap_vraagbegindatum, fac_usrrap_vraageinddatum ~\
, fac_usrrap_functie, fac_usrrap_autorefresh ~\
, fac_usrrap_info ~\
, fac_functie_key ~\
, fac_functie_key, fac_usrrap_groep ~\
) ~\
VALUES ( oms_nl, view, 0, 0, func, 0, info_nl ~\
, (SELECT fac_functie_key FROM fac_functie ~\
WHERE fac_functie_code = aut ~\
) ~\
), grp ~\
) ~\
RETURNING fac_usrrap_key INTO rap_key; ~\
INSERT INTO fac_locale ( fac_locale_lang, fac_locale_kolomkeyval, fac_locale_kolomnaam, fac_locale_tekst) ~\

View File

@@ -4,6 +4,385 @@
* $Id$
*/
CREATE OR REPLACE PACKAGE ctr AS
PROCEDURE taak_naar_ter_uitvoering(pmld_stdmelding_key IN NUMBER,
pmld_subject IN VARCHAR2,
pins_srtcontrole_info IN VARCHAR2,
pprs_kostenplaats_key IN NUMBER,
pprs_perslid_key IN NUMBER,
pmld_stdmelding_default_disc IN NUMBER,
palg_locatie_key IN NUMBER,
palg_onroerendgoed_keys IN NUMBER,
pins_deel_key IN NUMBER,
pdeelsrtcontrole_key IN NUMBER);
RETURN NUMBER;
PROCEDURE melding_voor_geplande_taken_maken;
END ctr;
/
CREATE OR REPLACE PACKAGE BODY ctr AS
PROCEDURE taak_naar_ter_uitvoering(pmld_stdmelding_key IN NUMBER,
pmld_subject IN VARCHAR2,
pins_srtcontrole_info IN VARCHAR2,
pprs_kostenplaats_key IN NUMBER,
pprs_perslid_key IN NUMBER,
pmld_stdmelding_default_disc IN NUMBER,
palg_locatie_key IN NUMBER,
palg_onroerendgoed_keys IN NUMBER,
pins_deel_key IN NUMBER,
pdeelsrtcontrole_key IN NUMBER)
AS
c_applname VARCHAR2 (50) := 'AFMELDEN_ORD';
v_errormsg VARCHAR2 (1000);
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200);
v_aanduiding VARCHAR2 (200);
l_new_melding_key mld_melding.mld_melding_key%TYPE;
l_new_melding_object_key mld_melding_object.mld_melding_object_key%TYPE;
BEGIN
SELECT mld_s_mld_melding_key.NEXTVAL INTO l_new_melding_key FROM DUAL;
INSERT INTO mld_melding(prs_perslid_key,
prs_perslid_key_voor,
mld_melding_datum,
mld_ins_discipline_key,
mld_stdmelding_key,
mld_melding_omschrijving,
mld_melding_onderwerp,
mld_meldbron_key,
prs_kostenplaats_key,
mld_alg_locatie_key,
mld_melding_spoed,
mld_alg_onroerendgoed_keys,
mld_melding_module,
mld_melding_key)
VALUES (pprs_perslid_key,
pprs_perslid_key,
SYSDATE,
pmld_stdmelding_default_disc,
pmld_stdmelding_key,
pins_srtcontrole_info,
pmld_subject,
10,
pprs_kostenplaats_key,
palg_locatie_key,
3, -- Default prioriteit 3.
palg_onroerendgoed_keys,
'MLD',
l_new_melding_key);
SELECT mld_s_mld_object_key.NEXTVAL INTO l_new_melding_object_key FROM DUAL;
INSERT INTO mld_melding_object(ins_deel_key,
mld_melding_key,
ins_deelsrtcontrole_key,
mld_melding_object_key)
VALUES (pins_deel_key,
l_new_melding_key,
pdeelsrtcontrole_key,
l_new_melding_object_key);
mld.setmeldingstatus(l_new_melding_key, 2, NULL, 1);
IF pmld_stdmelding_default_disc IS NOT NULL -- mldbhg notificatie.
THEN
mld.notifybackoffice (l_new_melding_key, 'MLDBHG', 2);
END IF;
mld.mld_nextworkflowstep (l_new_melding_key, -1);
mld.mld_addautoorder(l_new_melding_key);
COMMIT;
EXCEPTION
WHEN OTHERS
THEN
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
v_errormsg := 'ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
fac.writelog (c_applname, 'E', v_aanduiding || v_errormsg, 'Taak afgebroken!');
END;
-- Automatische starten en ter uitvoering zetten van taken die voor vandaag of eerder zijn gepland (via plandatum of berekend).
-- Er wordt bij de taak ook direct een melding aangemaakt.
-- voorwaarden: 1) Er is een stdmelding gedefinieerd bij de periodieke taak.
-- 2) Alleen periodieke taken, GEEN mjob taken.
PROCEDURE melding_voor_geplande_taken_maken
AS
c_applname VARCHAR2 (50) := 'MELDING_VOOR_GEPLANDE_TAKEN_MAKEN';
v_errormsg VARCHAR2 (1000);
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200);
v_aanduiding VARCHAR2 (200);
v_count_tot NUMBER (10);
l_prs_perslid_key prs_perslid.prs_perslid_key%TYPE;
l_new_deelsrtcontrole_key ins_deelsrtcontrole.ins_deelsrtcontrole_key%TYPE;
l_deelsrtcontrole_key ins_deelsrtcontrole.ins_deelsrtcontrole_key%TYPE;
mjb_approvedmld_desc fac_setting.fac_setting_default%TYPE;
mld_subject VARCHAR2 (200);
CURSOR c_taak_naar_ter_uitvoering
IS
-- Ingeplande taken.
SELECT idsc.ins_deelsrtcontrole_key,
idsc.ins_deel_key,
idsc.ins_srtcontrole_key,
idsc.ins_scenario_key,
xcp.mld_stdmelding_key,
sm.mld_stdmelding_default_disc,
CASE
WHEN d.ins_alg_ruimte_type IN ('T', 'R')
THEN
COALESCE(xcp.prs_kostenplaats_key,
(SELECT prs_kostenplaats_key
FROM alg_gebouw
WHERE alg_gebouw_key = (SELECT alg.alg_gebouw_key FROM alg_v_allonroerendgoed alg WHERE alg.alg_onroerendgoed_keys = d.ins_alg_ruimte_key)))
WHEN d.ins_alg_ruimte_type IN ('W')
THEN
COALESCE(xcp.prs_kostenplaats_key,
(SELECT prs_kostenplaats_key
FROM alg_gebouw
WHERE alg_gebouw_key = (SELECT wpg.alg_gebouw_key FROM prs_v_werkplek_gegevens wpg WHERE wpg.prs_werkplek_key = d.ins_alg_ruimte_key)))
ELSE
NULL
END prs_kostenplaats_key,
xcp.ins_srtcontrole_omschrijving,
xcp.ins_srtcontrole_info,
isd.ins_srtdeel_omschrijving,
CASE
WHEN d.ins_alg_ruimte_type IN ('T', 'R')
THEN
(SELECT alg.alg_locatie_key FROM alg_v_allonroerendgoed alg WHERE alg.alg_onroerendgoed_keys = d.ins_alg_ruimte_key)
WHEN d.ins_alg_ruimte_type IN ('W')
THEN
(SELECT wpg.alg_locatie_key FROM prs_v_werkplek_gegevens wpg WHERE wpg.prs_werkplek_key = d.ins_alg_ruimte_key)
WHEN d.ins_alg_ruimte_type IN ('P', 'A')
THEN
NULL
END alg_locatie_key,
CASE
WHEN d.ins_alg_ruimte_type IN ('T', 'R')
THEN
(SELECT alg.alg_onroerendgoed_keys FROM alg_v_allonroerendgoed alg WHERE alg.alg_onroerendgoed_keys = d.ins_alg_ruimte_key)
WHEN d.ins_alg_ruimte_type IN ('W')
THEN
(SELECT wpg.alg_ruimte_key FROM prs_v_werkplek_gegevens wpg WHERE wpg.prs_werkplek_key = d.ins_alg_ruimte_key)
WHEN d.ins_alg_ruimte_type IN ('P', 'A')
THEN
NULL
END alg_onroerendgoed_keys,
CASE
WHEN (SELECT COUNT(ins_deelsrtcontrole_key)
FROM ins_deelsrtcontrole idsc2
WHERE idsc2.ins_deel_key = idsc.ins_deel_key
AND idsc2.ins_srtcontrole_key = idsc.ins_srtcontrole_key
AND idsc2.ins_scenario_key = idsc.ins_scenario_key
AND idsc2.ins_deelsrtcontrole_status = 6) >= 1
THEN
ins.nextcyclusdate(idsc.ins_deel_key, idsc.ins_srtcontrole_key, 1, 1)
ELSE NULL
END nextdate
FROM ins_deelsrtcontrole idsc,
ins_v_defined_inspect_xcp xcp,
ins_v_deelenonderdeel d,
ins_srtdeel isd,
mld_stdmelding sm
WHERE xcp.ins_srtcontrole_key = idsc.ins_srtcontrole_key
AND xcp.ins_deel_key = idsc.ins_deel_key
AND xcp.ins_scenario_key = idsc.ins_scenario_key
AND xcp.mld_stdmelding_key = sm.mld_stdmelding_key
AND d.ins_deel_key = idsc.ins_deel_key
AND d.ins_srtdeel_key = isd.ins_srtdeel_key
AND d.ins_alg_ruimte_type IN ('T', 'R', 'P', 'W', 'A')
AND TRUNC(idsc.ins_deelsrtcontrole_plandatum, 'dd') <= TRUNC(SYSDATE, 'dd')
AND (xcp.ins_srtcontrole_eind IS NULL OR xcp.ins_srtcontrole_eind > SYSDATE)
AND d.ins_deel_verwijder IS NULL
AND (d.ins_deel_vervaldatum IS NULL OR d.ins_deel_vervaldatum > SYSDATE)
AND idsc.ins_scenario_key = 1
AND idsc.ins_deelsrtcontrole_status = 0
AND xcp.ctr_ismjob = 0
AND xcp.mld_stdmelding_key IS NOT NULL
UNION
-- Berekende taken t.o.v. de laatste inspectie (met historie).
SELECT NULL ins_deelsrtcontrole_key,
idsc.ins_deel_key,
idsc.ins_srtcontrole_key,
idsc.ins_scenario_key,
xcp.mld_stdmelding_key,
sm.mld_stdmelding_default_disc,
CASE
WHEN d.ins_alg_ruimte_type IN ('T', 'R')
THEN
COALESCE(xcp.prs_kostenplaats_key,
(SELECT prs_kostenplaats_key
FROM alg_gebouw
WHERE alg_gebouw_key = (SELECT alg.alg_gebouw_key FROM alg_v_allonroerendgoed alg WHERE alg.alg_onroerendgoed_keys = d.ins_alg_ruimte_key)))
WHEN d.ins_alg_ruimte_type IN ('W')
THEN
COALESCE(xcp.prs_kostenplaats_key,
(SELECT prs_kostenplaats_key
FROM alg_gebouw
WHERE alg_gebouw_key = (SELECT wpg.alg_gebouw_key FROM prs_v_werkplek_gegevens wpg WHERE wpg.prs_werkplek_key = d.ins_alg_ruimte_key)))
ELSE
NULL
END prs_kostenplaats_key,
xcp.ins_srtcontrole_omschrijving,
xcp.ins_srtcontrole_info,
isd.ins_srtdeel_omschrijving,
CASE
WHEN d.ins_alg_ruimte_type IN ('T', 'R')
THEN
(SELECT alg.alg_locatie_key FROM alg_v_allonroerendgoed alg WHERE alg.alg_onroerendgoed_keys = d.ins_alg_ruimte_key)
WHEN d.ins_alg_ruimte_type IN ('W')
THEN
(SELECT wpg.alg_locatie_key FROM prs_v_werkplek_gegevens wpg WHERE wpg.prs_werkplek_key = d.ins_alg_ruimte_key)
WHEN d.ins_alg_ruimte_type IN ('P', 'A')
THEN
NULL
END alg_locatie_key,
CASE
WHEN d.ins_alg_ruimte_type IN ('T', 'R')
THEN
(SELECT alg.alg_onroerendgoed_keys FROM alg_v_allonroerendgoed alg WHERE alg.alg_onroerendgoed_keys = d.ins_alg_ruimte_key)
WHEN d.ins_alg_ruimte_type IN ('W')
THEN
(SELECT wpg.alg_ruimte_key FROM prs_v_werkplek_gegevens wpg WHERE wpg.prs_werkplek_key = d.ins_alg_ruimte_key)
WHEN d.ins_alg_ruimte_type IN ('P', 'A')
THEN
NULL
END alg_onroerendgoed_keys,
CASE
WHEN (SELECT COUNT(ins_deelsrtcontrole_key)
FROM ins_deelsrtcontrole idsc2
WHERE idsc2.ins_deel_key = idsc.ins_deel_key
AND idsc2.ins_srtcontrole_key = idsc.ins_srtcontrole_key
AND idsc2.ins_scenario_key = idsc.ins_scenario_key
AND idsc2.ins_deelsrtcontrole_status = 6) >= 1
THEN
ins.nextcyclusdate(idsc.ins_deel_key, idsc.ins_srtcontrole_key, 1, 1)
ELSE NULL
END nextdate
FROM ins_deelsrtcontrole idsc,
ins_v_defined_inspect_xcp xcp,
ins_v_deelenonderdeel d,
ins_srtdeel isd,
mld_stdmelding sm
WHERE xcp.ins_srtcontrole_key = idsc.ins_srtcontrole_key
AND xcp.ins_deel_key = idsc.ins_deel_key
AND xcp.ins_scenario_key = idsc.ins_scenario_key
AND xcp.mld_stdmelding_key = sm.mld_stdmelding_key
AND d.ins_deel_key = idsc.ins_deel_key
AND d.ins_srtdeel_key = isd.ins_srtdeel_key
AND d.ins_alg_ruimte_type IN ('T', 'R', 'P', 'W', 'A')
AND TRUNC(ins.nextcyclusdate(idsc.ins_deel_key, idsc.ins_srtcontrole_key, 1, 1), 'dd') <= TRUNC(SYSDATE, 'dd')
AND (xcp.ins_srtcontrole_eind IS NULL OR xcp.ins_srtcontrole_eind > SYSDATE)
AND d.ins_deel_verwijder IS NULL
AND (d.ins_deel_vervaldatum IS NULL OR d.ins_deel_vervaldatum > SYSDATE)
AND idsc.ins_scenario_key = 1
AND idsc.ins_deelsrtcontrole_key = (SELECT MAX(ins_deelsrtcontrole_key)
FROM ins_deelsrtcontrole idsc2
WHERE idsc2.ins_deel_key = idsc.ins_deel_key
AND idsc2.ins_srtcontrole_key = idsc.ins_srtcontrole_key
AND idsc2.ins_scenario_key = idsc.ins_scenario_key
AND idsc2.ins_deelsrtcontrole_status = 6)
AND (SELECT MAX(ins_deelsrtcontrole_key)
FROM ins_deelsrtcontrole idsc2
WHERE idsc2.ins_deel_key = idsc.ins_deel_key
AND idsc2.ins_srtcontrole_key = idsc.ins_srtcontrole_key
AND idsc2.ins_scenario_key = idsc.ins_scenario_key
AND idsc2.ins_deelsrtcontrole_status != 6) IS NULL -- Er mag geen lopende taak aanwezig zijn.
AND xcp.ctr_ismjob = 0
AND xcp.mld_stdmelding_key IS NOT NULL;
BEGIN
v_count_tot := 0;
FOR rec IN c_taak_naar_ter_uitvoering
LOOP
BEGIN
v_errormsg := 'Fout starten taak';
v_aanduiding := '[' || TO_CHAR (rec.ins_deel_key) || '/' || TO_CHAR (rec.ins_srtcontrole_key) || '] ';
BEGIN
SELECT prs_perslid_key
INTO l_prs_perslid_key
FROM prs_perslid
WHERE prs_perslid_oslogin = '_SYSTEEM' AND prs_perslid_verwijder IS NULL;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
fac.putsystemnotification ('Invalid configuration: missing _SYSTEEM user', 1);
END;
-- Stap 1 is de taak starten.
IF rec.ins_deelsrtcontrole_key IS NULL
THEN
SELECT ins_s_ins_deelsrtcontrole_key.NEXTVAL INTO l_new_deelsrtcontrole_key FROM DUAL;
INSERT INTO ins_deelsrtcontrole (ins_deelsrtcontrole_key,
ins_deel_key,
ins_srtcontrole_key,
ins_deelsrtcontrole_status,
prs_perslid_key,
ins_deelsrtcontrole_datum_org)
VALUES (l_new_deelsrtcontrole_key,
rec.ins_deel_key,
rec.ins_srtcontrole_key,
2,
l_prs_perslid_key,
rec.nextdate);
l_deelsrtcontrole_key := l_new_deelsrtcontrole_key;
ELSE
l_deelsrtcontrole_key := rec.ins_deelsrtcontrole_key;
-- Het ins_deelsrtcontrole record bestaat al omdat de taak al is ingepland.
END IF;
ins.setinspectstatus(l_deelsrtcontrole_key, 2, NULL);
-- Stap 2 is de taak ter uitvoering brengen door een melding aan te maken en deze te koppelen aan de gestarte taak.
mjb_approvedmld_desc := fac.getsetting('mjb_approvedmelding_description');
IF mjb_approvedmld_desc = 2
THEN
mld_subject := rec.ins_srtcontrole_omschrijving;
ELSIF mjb_approvedmld_desc = 3
THEN
mld_subject := rec.ins_srtcontrole_omschrijving || ' (' || rec.ins_srtdeel_omschrijving || ')';
ELSE -- mjb_approvedmelding_description = 1
mld_subject := rec.ins_srtdeel_omschrijving;
END IF;
-- Melding aangmaken en koppelen.
ctr.taak_naar_ter_uitvoering(rec.mld_stdmelding_key,
mld_subject,
rec.ins_srtcontrole_info,
rec.prs_kostenplaats_key,
l_prs_perslid_key,
rec.mld_stdmelding_default_disc,
rec.alg_locatie_key,
rec.alg_onroerendgoed_keys,
rec.ins_deel_key,
l_deelsrtcontrole_key);
ins.setinspectstatus(l_deelsrtcontrole_key, 3, NULL);
v_count_tot := v_count_tot + 1;
IF MOD (v_count_tot, 500) = 0 THEN COMMIT; END IF;
END;
END LOOP;
fac.writelog (c_applname, 'S', '#Taken gestart: ' || TO_CHAR (v_count_tot), '');
COMMIT;
EXCEPTION
WHEN OTHERS
THEN
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
v_errormsg := 'ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
fac.writelog (c_applname, 'E', v_aanduiding || v_errormsg, 'Taak afgebroken!');
END;
END ctr;
/
REGISTERRUN('$Id$')

View File

@@ -12,6 +12,42 @@ AS
DEFINIEER_VIEW_AANWEZIG(ctr_discipline, ins_discipline_verwijder,
ctr_v_aanwezigdiscipline, 0);
CREATE_VIEW(ctr_v_allsrtinstallatie, 0)
(
niveau,
ctr_srtinstallatie_key,
discipline_oms,
srtcontrole_oms,
ins_discipline_key,
ins_srtcontrole_key
)
AS
SELECT 'E',
cd.ins_discipline_key,
cd.ins_discipline_omschrijving,
NULL ins_srtcontrole_omschrijving,
cd.ins_discipline_key,
NULL ins_srtcontrole_key
FROM ctr_discipline cd
UNION
SELECT 'C',
isc.ins_srtcontrole_key,
cd.ins_discipline_omschrijving,
isc.ins_srtcontrole_omschrijving,
cd.ins_discipline_key,
isc.ins_srtcontrole_key
FROM ctr_discipline cd,
ins_srtcontrole isc
WHERE cd.ins_discipline_key = isc.ctr_discipline_key
UNION
SELECT 'T' niveau,
NULL ctr_srtinstallatie_key,
NULL discipline_oms,
NULL srtcontrole_oms,
NULL ins_discipline_key,
NULL ins_srtcontrole_key
FROM DUAL;
CREATE_VIEW(ctr_v_monthly_recurring_tasks, 0)
AS
-- Inspecties die dit jaar en volgend jaar nog uitgevoerd moeten worden.

View File

@@ -5,8 +5,8 @@
_FAC_MODULE('EXC', 'lcl_module_EXC')
DEF_IMPORT2('WEB_PRSSYS', 'EXCHANGE', 'Import van reserveringen vanuit Exchange online', 'Import of reservations from Exchange online', 'UTF-8', ' .\csv', 'exch_*.csv')
DEF_IMPORT2('WEB_PRSSYS', 'EXCHFULL', 'Import van alle reserveringen vanuit Exchange online', 'Import of all reservations from Exchange online', 'UTF-8', ' .\csv', 'full_*.csv')
DEF_IMPORT2('WEB_PRSSYS', 'EXCHANGE', 'Import van reserveringen vanuit Exchange online', 'Import of reservations from Exchange online', 0, 'UTF-8', ' .\csv', 'exch_*.csv')
DEF_IMPORT2('WEB_PRSSYS', 'EXCHFULL', 'Import van alle reserveringen vanuit Exchange online', 'Import of all reservations from Exchange online', 0, 'UTF-8', ' .\csv', 'full_*.csv')
INSERT INTO fac_api (fac_api_name,
fac_api_filepath,

View File

@@ -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'));
@@ -317,10 +316,14 @@ AS
-- Met behulp van imp_exchange.gelukt kunnen importregels bewaard worden, zodat mutaties
-- aan appointments die gefaald zijn, alsnog kunnen worden doorgevoerd. Betekenis waarden 'gelukt':
-- NULL = niet correct verwerkt in vorige import --> nogmaals proberen
-- NULL = niet correct verwerkt in vorige import --> nogmaals proberen (of gewoon 'verse' regels toch .. ?)
-- 1 = succesvol verwerkt in vorige import --> importregel verwijderen
-- 2 = er is in een latere import een nieuwere status van dezelfde appointment ingelezen,
-- dus deze importregel is outdated --> regel verwijderen
-- 3 = a. Delete gevolgd door een Create/Update (komt toch niet voor .. ?)
-- b. Delete van onbekende reservering (komt volgens mij ook niet meer voor, wordt afgevangen in de asp-code)
-- 4 = Dit betreft een reservering die buiten het geconfigureerde datum-interval valt (die komt hier toch ook niet meer, de subscription luistert alleen naar changes binnen dit interval)
-- 5 = Regels die gaan over de res_ruimte als deelnemer
PROCEDURE import_exchange (p_import_key IN NUMBER, p_days_from IN NUMBER DEFAULT 0, p_days_to IN NUMBER DEFAULT 90)
IS
c_fielddelimitor VARCHAR2 (1) := ';';
@@ -348,6 +351,7 @@ AS
v_organizer VARCHAR2 (200);
v_att_mail VARCHAR2 (200);
v_att_name VARCHAR2 (200);
v_visibility VARCHAR2 (100);
v_modifier VARCHAR2 (100);
v_appt_id VARCHAR2 (500);
v_recur_id VARCHAR2 (500);
@@ -384,14 +388,30 @@ AS
-- We willen mislukte regels uit eerdere imports bewaren, zodat we die nog eens kunnen proberen.
-- Alle correct verwerkte importregels krijgen een vlag, dus die gooien we weg.
-- Deletes die al deleted zijn, zijn schijnbaar al gelukt
DELETE FROM exc_import
WHERE gelukt IS NOT NULL
OR ( modifier = 'D'
AND EXISTS
(SELECT 1
FROM res_rsv_ruimte
WHERE res_rsv_ruimte_verwijder IS NOT NULL
AND res_rsv_ruimte_externnr = appt_id || '|' || recur_id));
BEGIN
FOR r
IN (SELECT exc_import_key
FROM exc_import e
WHERE gelukt IS NOT NULL
OR (SELECT fac_import_datum_gelezen
FROM fac_import
WHERE fac_import_key = e.fac_import_key) <
SYSDATE - 1 / 24 -- Regels ouder dan 1u hoeven we ook nooit meer opnieuw te proberen
OR ( modifier = 'D'
AND EXISTS
(SELECT 1
FROM res_rsv_ruimte
WHERE res_rsv_ruimte_verwijder
IS NOT NULL
AND res_rsv_ruimte_externnr =
appt_id || '|' || recur_id))
FOR UPDATE
SKIP LOCKED) -- Dan doen we deze later wel, geen haast
LOOP
DELETE FROM exc_import
WHERE exc_import_key = r.exc_import_key;
END LOOP;
END;
-- We gaan uit van een geldig bestand, mogelijk verandert dat onderweg
header_is_valid := 0;
@@ -418,10 +438,20 @@ AS
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 4, v_organizer);
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 5, v_att_mail);
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 6, v_att_name);
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 7, v_modifier);
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 8, v_appt_id);
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 9, v_recur_id);
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 10, v_seq_nr);
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 7, v_visibility);
IF (v_visibility IN ('C', 'U', 'D')) -- De modifier is in v_visibility opgeslagen; nog even in backwards-compatibility-mode blijven
THEN
v_visibility := '1';
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 7, v_modifier);
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 8, v_appt_id);
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 9, v_recur_id);
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 10, v_seq_nr);
ELSE
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 8, v_modifier);
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 9, v_appt_id);
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 10, v_recur_id);
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 11, v_seq_nr);
END IF;
v_aanduiding := '[' || v_room_id || '|' || v_starttime || '|' || v_att_mail || '] ';
@@ -539,6 +569,7 @@ AS
organizer,
att_mail,
att_name,
visibility,
modifier,
appt_id,
recur_id,
@@ -551,6 +582,7 @@ AS
v_organizer,
v_att_mail,
v_att_name,
v_visibility,
v_modifier,
v_appt_id,
v_recur_id,
@@ -860,6 +892,7 @@ AS
starttime,
endtime,
organizer,
visibility,
modifier,
appt_id,
recur_id
@@ -880,6 +913,7 @@ AS
starttime,
endtime,
organizer,
visibility,
modifier) i,
res_rsv_ruimte rr,
res_ruimte rnew
@@ -905,6 +939,7 @@ AS
starttime,
endtime,
organizer,
visibility,
modifier,
appt_id,
recur_id,
@@ -928,6 +963,7 @@ AS
starttime,
endtime,
organizer,
visibility,
modifier) i,
res_v_aanwezigruimte r
WHERE i.room_id = r.res_ruimte_extern_id
@@ -938,6 +974,7 @@ AS
starttime,
endtime,
organizer,
visibility,
modifier,
appt_id,
recur_id,
@@ -961,6 +998,7 @@ AS
starttime,
endtime,
organizer,
visibility,
modifier) i,
res_v_aanwezigruimte r
WHERE i.room_id = r.res_ruimte_extern_id
@@ -983,41 +1021,52 @@ AS
FROM fac_setting
WHERE fac_setting_name = 'msgraph_sync_level';
-- We doen niets met boekingen die buiten het geconfigureerde interval vallen
/*
Onderstaande UPDATE set het gelukt bitje naar een error-waarde (niet '1', want dat betekent succesvol voltooid)
Of NULL (= 'te verwerken') als er zich geen fout situatie voordoet
*/
UPDATE exc_import i
SET gelukt = 4
WHERE starttime > date_interval_end
OR endtime < date_interval_start;
-- En res_ruimtes als deelnemers, dat kan natuurlijk niet
UPDATE exc_import i
SET gelukt = 5
WHERE EXISTS
(SELECT 1
FROM res_ruimte
WHERE UPPER (res_ruimte_extern_id) = UPPER (att_mail));
-- Eerst verwijderen; dat scheelt onterechte "dirties" bij toevoegen
-- Bij verplaatsen naar een andere ruimte krijg je mogelijk een delete op de oude
-- ruimte; die voeren we niet uit. Ook deletes van niet-bekende appointments negeren we.
UPDATE exc_import i
SET gelukt = 3
WHERE modifier IN ('D')
AND EXISTS
(SELECT 1
FROM exc_import
WHERE modifier != 'D'
AND appt_id || '|' || recur_id =
i.appt_id || '|' || i.recur_id
AND seq_nr > i.seq_nr);
UPDATE exc_import i
SET gelukt = 3
WHERE modifier IN ('D')
AND NOT EXISTS
(SELECT 1
FROM res_rsv_ruimte
WHERE INSTR(res_rsv_ruimte_externnr, i.appt_id || '|') = 1);
SET gelukt =
CASE
WHEN EXISTS
(SELECT 1
FROM res_ruimte
WHERE UPPER (res_ruimte_extern_id) = UPPER (att_mail))
THEN 5 -- res_ruimtes als deelnemers, dat kan natuurlijk niet
WHEN i.fac_import_key = p_import_key
AND ( starttime > date_interval_end
OR endtime < date_interval_start)
THEN 4 -- We doen niets met boekingen die buiten het geconfigureerde interval vallen
WHEN modifier = 'D'
AND ( EXISTS
(SELECT 1
FROM exc_import
WHERE modifier != 'D'
AND appt_id || '|' || recur_id =
i.appt_id || '|' || i.recur_id
AND seq_nr > i.seq_nr)
OR NOT EXISTS
(SELECT 1
FROM res_rsv_ruimte
WHERE INSTR (res_rsv_ruimte_externnr,
i.appt_id || '|') =
1))
THEN 3 -- Dit zijn [D]eletes die nog gevolgd worden door nieuwere niet-[D]elete-regels of [D]eletes van niet bestaande Facilitor reserveringen
WHEN modifier IN ('C', 'U')
AND EXISTS
(SELECT 1
FROM exc_import
WHERE appt_id || '|' || recur_id =
i.appt_id || '|' || i.recur_id
AND fac_import_key !=
i.fac_import_key
AND seq_nr > i.seq_nr)
THEN 2 -- Er bestaan 2 = er is in een latere import een nieuwere status van dezelfde appointment ingelezen
ELSE
NULL -- 'te verwerken'
END
WHERE gelukt IS NULL
AND i.fac_import_key = p_import_key;
COMMIT; -- Cleanup
@@ -1151,33 +1200,6 @@ AS
COMMIT; -- de DELETE's
-- Omdat we entries die gefaald zijn 'bewaren', kan het zijn dat we voor <20><>n appointment
-- meerdere updates - of zelfs een delete - hebben. Dan zijn we alleen ge<67>nteresseerd in de
-- nieuwste, de rest kan genegeerd/weg. (Als we een nieuwere UPDate hebben, kan de originele
-- ADD/create ook weg; een update van een nog-niet-bestaande reservering zorgt voor aanmaken.)
-- Hoger seq_nr = latere mutatie in Exchange
UPDATE exc_import i
SET gelukt = 2
WHERE modifier IN ('C', 'U')
AND EXISTS
(SELECT 1
FROM exc_import
WHERE appt_id || '|' || recur_id =
i.appt_id || '|' || i.recur_id
AND fac_import_key != i.fac_import_key
AND seq_nr > i.seq_nr);
-- Hetzelfde voor deletes van niet-bestaande reserveringen
UPDATE exc_import i
SET gelukt = 2
WHERE modifier = 'D'
AND NOT EXISTS
(SELECT 1
FROM res_rsv_ruimte
WHERE res_rsv_ruimte_externnr = i.appt_id || '|' || i.recur_id);
COMMIT; -- Cleanup
-- Dan bestaande bijwerken, anders kan het gebeuren dat we op basis van een UPDATE
-- eerst een rsv_ruimte aanmaken en 'm daarna meteen proberen bij te werken.
-- TODO: is dat nog steeds zo met "gelukt = 1"?
@@ -1370,6 +1392,7 @@ AS
IF ( v_ruimte_extern_id != rec.res_ruimte_extern_id
OR rec.res_rsv_ruimte_omschrijving !=
SUBSTR (rec.subject, 1, 60)
OR rec.res_rsv_ruimte_visibility != rec.visibility
OR rec.res_rsv_ruimte_van != rec.starttime
OR rec.res_rsv_ruimte_tot != rec.endtime)
THEN
@@ -1393,7 +1416,8 @@ AS
res_rsv_ruimte_omschrijving =
SUBSTR (rec.subject, 1, 60),
res_rsv_ruimte_van = rec.starttime,
res_rsv_ruimte_tot = rec.endtime
res_rsv_ruimte_tot = rec.endtime,
res_rsv_ruimte_visibility = rec.visibility
WHERE res_rsv_ruimte_key = rec.res_rsv_ruimte_key;
-- Opruimen en voorzieningen en bezoekers laten volgen
@@ -1580,6 +1604,22 @@ AS
-- AND res_rsv_ruimte_externnr NOT LIKE '%|'||rec.recur_id||'|%'
AND res_rsv_ruimte_verwijder IS NULL;
-- We gaan deze afronden; zet vlag.
UPDATE exc_import
SET gelukt = 1
WHERE appt_id || '|' || recur_id =
rec.appt_id || '|' || rec.recur_id
AND fac_import_key = p_import_key
AND gelukt IS NULL;
IF (v_debug)
THEN
fac.imp_writelog (p_import_key,
'I',
v_aanduiding,
'gelukt=1');
END IF;
-- Er bestaan al deelreserveringen voor andere occurences van deze recurring appointment
-- Deelreservering binnen de bijbehorende res_reservering aanmaken
IF (v_count > 0)
@@ -1643,6 +1683,7 @@ AS
res_rsv_ruimte_kosten_klant,
res_rsv_ruimte_contact_key,
res_rsv_ruimte_bezoekers,
res_rsv_ruimte_visibility,
res_reservering_key,
res_rsv_ruimte_volgnr,
res_status_bo_key)
@@ -1663,6 +1704,7 @@ AS
1,
v_perslid_key,
rec.num_bez,
rec.visibility,
v_reservering_key,
v_rsv_ruimte_volgnr,
2)
@@ -1675,12 +1717,6 @@ AS
THEN
DELETE FROM res_reservering WHERE res_reservering_key = v_reservering_key;
END IF;
-- Pas het 'gelukt' bitje aan zodat we hem later niet weer opnieuw proberen
UPDATE exc_import
SET gelukt = 2
WHERE appt_id || '|' || recur_id =
rec.appt_id || '|' || rec.recur_id
AND gelukt IS NULL;
fac.imp_writelog (p_import_key,
'I',
@@ -1707,22 +1743,6 @@ AS
v_errorhint := 'Toevoegen bezoekers';
exc.importBezoekers(p_import_key, rec.appt_id, rec.recur_id, v_rsv_ruimte_key, date_interval_start, date_interval_end);
-- Succesvol afgerond; zet vlag.
-- TODO: komen we hier ook als er iets mis ging met de bezoekers?
UPDATE exc_import
SET gelukt = 1
WHERE appt_id || '|' || recur_id =
rec.appt_id || '|' || rec.recur_id
AND gelukt IS NULL;
IF (v_debug)
THEN
fac.imp_writelog (p_import_key,
'I',
v_aanduiding,
'gelukt=1');
END IF;
-- res_discipline achterhalen; alleen tracken voor EXCO en MC zalen
v_errorhint := 'res_discipline bepalen';

View File

@@ -22,6 +22,9 @@ CREATE_TABLE(exc_import, 0)
VARCHAR2(200),
att_name
VARCHAR2(200),
visibility -- 0=Private, 1=Normal
NUMBER(4)
DEFAULT 1,
modifier
VARCHAR2(1),
appt_id
@@ -34,7 +37,8 @@ CREATE_TABLE(exc_import, 0)
NUMBER(10)
CONSTRAINT exc_r_fac_import_key1 REFERENCES fac_import(fac_import_key) ON DELETE CASCADE,
gelukt
NUMBER(1)
NUMBER(1),
CONSTRAINT exc_c_visibility CHECK (modifier = 'D' OR visibility IS NOT NULL)
);
REGISTERONCE('$Id$')

View File

@@ -26,6 +26,8 @@ CREATE UNIQUE INDEX fac_i_srtnotificatie_code2 on fac_srtnotificatie(fac_srtnoti
CREATE INDEX fac_i_notificatie1 ON fac_notificatie(prs_perslid_key_receiver, fac_notificatie_status);
CREATE INDEX fac_i_notificatie2 ON fac_notificatie(fac_srtnotificatie_key);
-- voor ontdubbelingen:
CREATE INDEX fac_i_notificatie3 ON fac_notificatie(fac_notificatie_refkey);
CREATE INDEX fac_i_fac_session1 ON fac_session(prs_perslid_key);
CREATE UNIQUE INDEX fac_i_fac_session2 ON fac_session(fac_session_sessionid_hash);

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1094,7 +1094,7 @@ FAC_LCL('hint.ins_tab_discipline.notify', 'Let op: om daadwerk
FAC_LCL('hint.ins_tab_discipline.notifycust', 'Let op: om daadwerkelijk te notificeren moeten ook de notificatie instellingen geconfigureerd zijn.', 'Please note: The notifications have to be configured in the section notifications.')
FAC_LCL('hint.ins_tab_discipline.notifybo', 'Indien geactiveerd, dan krijgen alle gebruikers met MLDBOF/MLDBO3-rechten voor deze vakgroep een notificatie als er een nieuwe melding is. Geadviseerd wordt deze functie alleen te gebruiken voor vakgroepen met enkele gebruikers die incidenteel meldingen ter behandeling aangeboden krijgen.', 'If activated, all users with MLDBOF/MLDBO3 rights for this subject group will be notified when there is a new call. It is recommended to use this feature only for disciplines with a few users who occasionally receive notifications for processing.')
FAC_LCL('hint.ins_tab_discipline.notifybhg', 'Indien aangevinkt, dan krijgen alle leden van het betreffende behandelteam een notificatie zodra een melding wordt toegekend aan het betreffende behandelteam. Voor deze notificatie is een behandelteaminrichting vereist.', 'If checked, then all members of the relevant back office team will receive a notification as soon as a call is assigned to the relevant back office team. A back office team setup is required for this notification.')
FAC_LCL('hint.ins_tab_discipline.notifybe', 'Indien aangevinkt, dan krijgt de actieve behandelaar een notificatie zodra deze gekozen is als actieve behandelaar bij een melding. Voor deze notificatie is een behandelteaminrichting vereist.', 'If ticked, the active practitioner will receive a notification as soon as it is chosen as active practitioner on a notification. A back office team setup is required for this notification.')
FAC_LCL('hint.ins_tab_discipline.notifybe', 'Indien aangevinkt, dan krijgt de behandelaar (MLDBE2) en de actieve behandelaar (MLDAB2) een notificatie zodra deze gekozen is als (actieve) behandelaar bij een melding. Voor de notificatie MLDAB2 is een behandelteaminrichting vereist.', 'If ticked, the practitioner (MLDBE2) and the active treatment practitioner (MLDAB2) will receive a notification as soon as they are chosen as the (active) practitioner for a notification. Notification MLDAB2 requires a back office team setup.')
FAC_LCL('hint.ins_tab_discipline.notifynob', 'Indien aangevinkt, dan krijgen personen die behandelaar worden van meldingen van deze vakgroep een notificatie. Let op: om daadwerkelijk te notificeren moeten ook de notificatie-instellingen zijn geconfigureerd.', 'If checked, persons who become handlers of notifications from this discipline will receive a notification. Please note that to actually notify, the notification settings must also be configured.')
FAC_LCL('hint.ins_tab_discipline.reminderdays', 'Kan worden gebruikt in combinatie met een notificatiejob. Op deze manier kan er bijvoorbeeld x dagen na het afronden van een melding een evaluatieformulier worden gestuurd naar de melder. Als de herinnering 3 dagen na het afmelden van de melding moet worden gestuurd, is de herinneringstijd 3 dagen.', 'Can be used in combination with a notification job. This way, an evaluation form can be sent to the notifier, for example, x days after the completion of a call. If the reminder is to be sent 3 days after the call is closed, the reminder time is 3 days.')
FAC_LCL('hint.ins_tab_discipline.orderlimit1', 'Opdrachten behorende bij deze vakgroep mogen door de Backoffice worden goedgekeurd tot het bedrag wat u hier invult. Het gaat hier om functionele goedkeuring. De financi<63>le goedkeuring gebeurt <20> afhankelijk van het profiel van de aanvrager <20> door de budgethouder.', 'Orders from this discipline need to be approved by the back office if the order is below the amount set here.')
@@ -1310,7 +1310,7 @@ FAC_LCL('hint.mld_opdr.startdate_range', '', '')
FAC_LCL('hint.mld_opdr.status', '', '')
FAC_LCL('hint.mld_opdr.tobeinvoiced', '', '')
FAC_LCL('hint.mld_opdr.vat', '', '')
FAC_LCL('hint.mld_srtkenmerk.attributetype', 'Het type waarvan deze kenmerksoort is, bijv. Karakter/Numeriek/Referentie', 'The type of the property, e.g. Character/Numeric/Reference.')
FAC_LCL('hint.mld_srtkenmerk.attributetype', 'Het type waarvan deze kenmerksoort is, bijv. Karakter/Numeriek/Referentie. Bekijk voor meer informatie de sectie Kenmerktypen op onze Help-pagina.', 'The type of the property, e.g. Character/Numeric/Reference.')
FAC_LCL('hint.mld_srtkenmerk.code', 'Een alternatieve code of alternatief nummer dat de gebruiker te zien krijgt.', 'An alternative code or number that is shown to the users.')
FAC_LCL('hint.mld_srtkenmerk.decimals', 'Optioneel voor kenmerktype Numeriek. Niet van toepassing op kenmerktypen Karakter en Referentie.', 'Optional for property type Numeric. Not applicable to property types Character and Reference.')
FAC_LCL('hint.mld_srtkenmerk.domain', 'Verplicht voor kenmerktype Referentie. Niet van toepassing op kenmerktypen Karakter en Numeriek.', 'Mandatory for property type Reference. Not applicable to property types Character and Numeric.')
@@ -1327,6 +1327,7 @@ FAC_LCL('hint.mld_stdmelding.autoorder', 'Indien aangevinkt,
FAC_LCL('hint.mld_stdmelding.autoorderamount', 'Het maximumbedrag voor het automatisch aanmaken van een opdracht.', 'The max amount to make an auto order.')
FAC_LCL('hint.mld_stdmelding.canrefer', 'Indien aangegeven betekent dat een melding kan verwijzen naar een melding, opdracht, reservering of bestelling. Er verschijnt bij de melding een referentielijst waarin alle items van de melder getoond worden. Op deze manier kan er bijv. een klacht gemaakt worden met een referentie naar de eerder gemaakte melding, opdracht, reservering of bestelling.', 'If it is configured that a call can refer to a call, order, reservation or purchase, a reference list will appear for these calls. This way you can register complaints with a reference to an earlier call, order, reservation or purchase order.')
FAC_LCL('hint.mld_stdmelding.checksimilar', 'Met dit veld wordt bepaald of er gecontroleerd wordt op dubbele meldingen. Indien er een dubbele melding ingevoerd wordt, kan deze aan de <20>moedermelding<6E> gekoppeld worden. De controle kan plaatsvinden bij invoeren, accepteren of beide. Op basis van openstaande meldingen, daar wordt gecontroleerd of het van dezelfde standaard melding is. Daarnaast wordt er gecontroleerd of er objectgegevens overeenkomen. Als deze niet overeenkomen, wordt er gecontroleerd op dezelfde ruimte/verdieping/gebouw/locatie.', 'This allows Facilitor to check for double entries. If this is the case, a user can choose to have his call processed by another call or stop registering the call. Facilitor can check on entry, on acceptance or both.')
FAC_LCL('hint.mld_stdmelding.conceptstatus', 'Een specifiek persoon moet eerst instemmen met een ingediend verzoek voordat deze door de organisatie kan worden opgepakt. Niemand anders (frontoffice, backoffice) ziet deze conceptmeldingen.', 'A specific person must first agree to a submitted request before it can be picked up by the organization. No one else (front office, back office) can see these draft reports.')
FAC_LCL('hint.mld_stdmelding.closingtext', 'U kunt hier kiezen uit -optioneel: bij het afmelden kan een tekst ingevoerd worden; -verplicht: bij het afmelden moet een tekst ingevoerd worden.', 'You can select -optional: When closing a call, a text can optionally be entered -mandatory: When closing a call, a text must be entered.')
FAC_LCL('hint.mld_stdmelding.code', '', '')
FAC_LCL('hint.mld_stdmelding.colors', 'De ingestelde kleur wordt gebruikt als achtergrondkleur bij doe-een-melding.', 'The set color is used as the background color for make a call.')
@@ -1380,7 +1381,7 @@ FAC_LCL('hint.mld_stdmelding.sequence', 'Om eventueel een ra
FAC_LCL('hint.mld_stdmelding.service', 'Als hier een dienst is geselecteerd, dan wordt bij een eventuele opdracht de leverancierskeuze beperkt tot wat er in het onderdeel diensten is ingesteld.', 'If a service is selected, the suppliers/contractors list when creating an order is limited to those that have this service configured.')
FAC_LCL('hint.mld_stdmelding.showobject', 'Het plaatsniveau dat u hier selecteert, verplicht de gebruikers om tot en met dat niveau de plaatsgegevens in te vullen, voordat er objecten getoond worden. Is het niveau bijvoorbeeld verdieping, dan kan de gebruiker pas objecten selecteren wanneer het plaatsniveau tot en met verdieping is ingevuld. LET OP: dit niveau mag niet lager zijn dan het verplichte niveau onder het kopje <20>Behandeling<6E>.', 'The level that you select is the mandatory place that users need to fill in before objects are available for selection. If the level is floor, a user can start selecting objects after the floor field has been filled in. Please note: The level may not be lower than the level selected at <20>Handling<6E>.')
FAC_LCL('hint.mld_stdmelding.statusobjrequired', 'Hier kun je kiezen bij welke status een object verplicht is.', 'Here you can choose the status at which an object is required.')
FAC_LCL('hint.mld_stdmelding.subjectlist', 'Hier kan aangegeven worden of het onderwerp verplicht ingevuld moet worden, niet ingevuld moet worden, of optioneel ingevuld moet worden.', 'Here you can indicate whether the subject must be filled in, not filled in, or filled in optionally.')
FAC_LCL('hint.mld_stdmelding.subjectlist', 'Hier kan aangegeven worden of het onderwerp verplicht ingevuld moet worden, niet ingevuld moet worden, optioneel ingevuld moet worden of via AI moet worden gegenereerd.', 'Here you can indicate whether the subject must be filled in, not filled in, filled in optionally or automatically generated by AI.')
FAC_LCL('hint.mld_stdmelding.survey', 'Indien de module <20>Klanttevredenheidsonderzoek<65> in gebruik is, kan met dit veld aangegeven worden of de meldingen van deze meldingsoort meedoen.', 'If the customer satisfaction survey module is used, this field can be used to include or exclude this call from participating.')
FAC_LCL('hint.mld_stdmelding.symbolname', 'De naam van de ge<67>ploade afbeelding.', 'Name of the picture to be used.')
FAC_LCL('hint.mld_stdmelding.theme', 'Hiermee kan een Graphics-thema worden ingesteld. Beschik je over de Graphics-module, dan kun je grafisch een ruimte kiezen als je een melding maakt. In de plattegrond die dan wordt getoon, wordt ook het eventueel ingestelde thema getoond.', 'A Graphics theme can be set with this. If you have the Graphics module, you can graphically choose a room when you make a report. In the map that is then shown, the possibly set theme is also shown.')
@@ -1477,6 +1478,7 @@ FAC_LCL('hint.model_contracts.inccontracttype', '', '')
FAC_LCL('hint.model_contracts.incdepartment', '', '')
FAC_LCL('hint.model_contracts.incdescription', '', '')
FAC_LCL('hint.model_contracts.incenddate', '', '')
FAC_LCL('hint.ins_tab_discipline.options', 'Contracten kunnen nu automatisch worden verlengd. Zodra de rappeldatum is verstreken, wordt de einddatum van het contract automatisch aangepast met de gekozen termijn.', 'Contracts can now be renewed automatically. Once the report date has expired, the end date of the contract is automatically adjusted by the chosen term.')
FAC_LCL('hint.model_contracts.incfields', '', '')
FAC_LCL('hint.model_contracts.incincludes', '', '')
FAC_LCL('hint.model_contracts.incmodel', '', '')
@@ -1753,8 +1755,8 @@ FAC_LCL('hint.res_activiteit.duration', 'Bij het maken van e
FAC_LCL('hint.res_activiteit.foreign', '', '')
FAC_LCL('hint.res_activiteit.hasendtime', 'Geef hier aan of er een eindtijd geldt of niet.', 'Indicate here whether an end time applies or not.')
FAC_LCL('hint.res_activiteit.blocktimes', 'Dit veld wordt gebruikt om vaste tijdsintervallen voor reserveringen te configureren. Bijv. ochtend (07:00-12:30), middag (12:31-18:00) en hele dag (08:30-17:30). Staat dit ingesteld, dan wordt een gebruiker gedwongen om een van deze intervallen te kiezen en kan de gebruiker niet langer zelf tijden kiezen.', 'This field is used to configure fixed time intervals for reservations. E.g. morning (07:00-12:30), afternoon (12:31-18:00) and whole day (08:30-17:30). If set, a user is forced to choose one of these intervals and the user can no longer choose times.')
FAC_LCL('hint.res_activiteit.limitdays', 'Hier kan aangegeven worden tot hoe ver in de toekomst er gereserveerd kan worden. Er zijn 2 waarden: wat mag een frontend-reserveerder zelf, en wat mag er (door de Frontoffice) <20>berhaupt. Denk aan het reserveren van een werkplek tot 14 dagen in de toekomst, en een evenement tot een jaar. Deze begrenzingen zijn hard, welke reserveringsroute je ook kiest.', 'Here you can specify how far into the future reservations can be made. There are 2 values: what can a front-end reserver do themselves, and what can be done (by the front office) at all. Think of reserving a workplace up to 14 days in the future, and an event up to a year. These limits are hard, whatever reservation route you choose.')
FAC_LCL('hint.res_activiteit.limitdaysfe', 'Hier kan aangegeven worden tot hoe ver in de toekomst er gereserveerd kan worden. Er zijn 2 waarden: wat mag een frontend-reserveerder zelf, en wat mag er (door de Frontoffice) <20>berhaupt. Denk aan het reserveren van een werkplek tot 14 dagen in de toekomst, en een evenement tot een jaar. Deze begrenzingen zijn hard, welke reserveringsroute je ook kiest.', 'Here you can specify how far into the future reservations can be made. There are 2 values: what can a front-end reserver do themselves, and what can be done (by the front office) at all. Think of reserving a workplace up to 14 days in the future, and an event up to a year. These limits are hard, whatever reservation route you choose.')
FAC_LCL('hint.res_activiteit.limitdays', 'Hier kan aangegeven worden tot hoe ver in de toekomst er gereserveerd kan worden. Er zijn 2 waarden: wat mag een frontend-reserveerder zelf, en wat mag er (door de Frontoffice) <20>berhaupt. Denk aan het reserveren van een werkplek tot 14 dagen in de toekomst, en een evenement tot een jaar. Deze begrenzingen zijn hard, welke reserveringsroute je ook kiest. Bij deze waarde wordt rekening gehouden met de instelling <20> res_247organisation<6F>. Als met deze instelling res_247organisation is ingesteld dat de weekenden als vrije dagen worden beschouwd, dien je bijv. bij een maand vooruit boeken rekening te houden met het aantal werkdagen en niet alle dagen (werkdagen + weekenden).', 'Here you can specify how far into the future reservations can be made. There are 2 values: what can a front-end reserver do themselves, and what can be done (by the front office) at all. Think of reserving a workplace up to 14 days in the future, and an event up to a year. These limits are hard, whatever reservation route you choose.')
FAC_LCL('hint.res_activiteit.limitdaysfe', 'Hier kan aangegeven worden tot hoe ver in de toekomst er gereserveerd kan worden. Er zijn 2 waarden: wat mag een frontend-reserveerder zelf, en wat mag er (door de Frontoffice) <20>berhaupt. Denk aan het reserveren van een werkplek tot 14 dagen in de toekomst, en een evenement tot een jaar. Deze begrenzingen zijn hard, welke reserveringsroute je ook kiest. Bij deze waarde wordt rekening gehouden met de instelling <20> res_247organisation<6F>. Als met deze instelling res_247organisation is ingesteld dat de weekenden als vrije dagen worden beschouwd, dien je bijv. bij een maand vooruit boeken rekening te houden met het aantal werkdagen en niet alle dagen (werkdagen + weekenden).', 'Here you can specify how far into the future reservations can be made. There are 2 values: what can a front-end reserver do themselves, and what can be done (by the front office) at all. Think of reserving a workplace up to 14 days in the future, and an event up to a year. These limits are hard, whatever reservation route you choose.')
FAC_LCL('hint.res_activiteit.name', 'De naam van de activiteit, bijvoorbeeld Vergaderservice.', 'The name of the activity, for example Meeting service.')
FAC_LCL('hint.res_activiteit.image', 'Voer hier de naam van de afbeelding in.', 'You can enter the name of the image here.')
FAC_LCL('hint.res_activiteit.notfrontend', 'Indien aangevinkt, is de activiteit niet zichtbaar voor Frontend-gebruikers.', 'If checked, the activity is not visible to Frontend users.')

File diff suppressed because it is too large Load Diff

View File

@@ -9,6 +9,7 @@
CREATE OR REPLACE PACKAGE ano AS
PROCEDURE anonymizebes (p_startdatum IN DATE, p_einddatum IN DATE);
PROCEDURE anonymizebez (p_startdatum IN DATE, p_einddatum IN DATE);
PROCEDURE anonymizefin (p_startdatum IN DATE, p_einddatum IN DATE);
PROCEDURE anonymizemld (p_startdatum IN DATE, p_einddatum IN DATE);
PROCEDURE anonymizeprs (p_startdatum IN DATE, p_einddatum IN DATE);
PROCEDURE anonymizeres (p_startdatum IN DATE, p_einddatum IN DATE);
@@ -32,6 +33,7 @@ CREATE OR REPLACE PACKAGE BODY ano AS
anonymize_period NUMBER := fac.safe_to_number (fac.getsetting ('anonymize_period'));
v_count NUMBER;
anonymize_mode NUMBER;
lcl_fac_anonymized fac_locale_xsl.fac_locale_xsl_tekst%TYPE := lcl.l('lcl_fac_anonymized');
-- Alle bestellingen waarvan de afwijsdatum, alles geleverd datum, verwerkingsdatum of annuleringsdatum tussen de startdatum en de einddatum liggen.
CURSOR c_bestelling
@@ -59,18 +61,17 @@ CREATE OR REPLACE PACKAGE BODY ano AS
WHERE fac_srtnotificatie_code = 'BESANO'))
ORDER BY b.bes_bestelling_key;
-- BES heeft nog geen anonimiseerbare kenmerken
--CURSOR c_bijlagen(p_refkey IN NUMBER)
--IS
-- SELECT b.fac_bijlagen_key
-- FROM fac_bijlagen b
-- , bes_kenmerk k
-- , bes_srtkenmerk s
-- WHERE k.bes_srtkenmerk_key = s.bes_srtkenmerk_key
-- AND k.bes_kenmerk_key = b.fac_bijlagen_kenmerk_key
-- AND BITAND(s.bes_srtkenmerk_systeem, 8) = 8
-- AND b.fac_bijlagen_module = 'BES'
-- AND b.fac_bijlagen_refkey = p_refkey;
CURSOR c_bijlagen(p_refkey IN NUMBER)
IS
SELECT b.fac_bijlagen_key
FROM fac_bijlagen b
, bes_kenmerk k
, bes_srtkenmerk s
WHERE k.bes_srtkenmerk_key = s.bes_srtkenmerk_key
AND k.bes_kenmerk_key = b.fac_bijlagen_kenmerk_key
AND BITAND(s.bes_srtkenmerk_systeem, 8) = 8
AND b.fac_bijlagen_module = 'BES'
AND b.fac_bijlagen_refkey = p_refkey;
BEGIN
IF p_einddatum > SYSDATE - anonymize_period + 1
@@ -100,6 +101,16 @@ CREATE OR REPLACE PACKAGE BODY ano AS
AND fac_srtnotificatie_code != 'BESANO')
AND fac_tracking_refkey = rec_b.bes_bestelling_key
AND fac_tracking_oms IS NOT NULL;
-- Alle BES tracking verwijderen waar geen omschrijving in staat
-- en waarvoor er ook geen srtnotificatie-tekst bestaat.
DELETE FROM fac_tracking
WHERE fac_srtnotificatie_key IN (SELECT fac_srtnotificatie_key
FROM fac_srtnotificatie
WHERE fac_srtnotificatie_xmlnode = 'bestelling'
AND fac_srtnotificatie_oms IS NULL
)
AND fac_tracking_refkey = rec_b.bes_bestelling_key
AND fac_tracking_oms IS NULL;
END IF;
--IF (BITAND(anonymize_mode, 2) = 2) -- notes
@@ -118,23 +129,32 @@ CREATE OR REPLACE PACKAGE BODY ano AS
WHERE bk.bes_srtkenmerk_key = bsk.bes_srtkenmerk_key
AND bk.bes_kenmerk_key = bkbl.bes_kenmerk_key
AND BITAND(bsk.bes_srtkenmerk_systeem, 8) = 8);
-- Zet het verwijder-veld van alle bijlagen van bestellingen waarvan het &8 (BITAND) bit (anonimiseren)
-- van het bes_srtkenmerk.bes_srtkenmerk_systeem veld is gezet.
-- De scheduled functie utils/gen_schedular/gen_cleanup.js verwijderd dan binnenkort de bijlage echt
-- en ruimt dan ook het record in fac_bijlagen op.
-- BES heeft nog geen anonimiseerbare kenmerken
--FOR rec_fb in c_bijlagen(rec_b.bes_bestelling_key)
--LOOP
-- flx.deleteflexbijlage(rec_fb.fac_bijlagen_key);
--END LOOP;
FOR rec_fb in c_bijlagen(rec_b.bes_bestelling_key)
LOOP
flx.deleteflexbijlage(rec_fb.fac_bijlagen_key);
END LOOP;
END IF;
--IF (BITAND(anonymize_mode, 8) = 8) -- vaste omschrijvingen
--THEN
--END IF;
IF (BITAND(anonymize_mode, 8) = 8) -- vaste omschrijvingen
THEN
-- Anonimiseren van tekstvelden in de bestelling.
UPDATE bes_bestelling
SET bes_bestelling_opmerking = CASE WHEN bes_bestelling_opmerking IS NOT NULL THEN lcl_fac_anonymized END
, bes_bestelling_ordernr = CASE WHEN bes_bestelling_ordernr IS NOT NULL THEN lcl_fac_anonymized END
, bes_bestelling_plaats = CASE WHEN bes_bestelling_plaats IS NOT NULL THEN lcl_fac_anonymized END
, bes_bestelling_satisfaction_op = CASE WHEN bes_bestelling_satisfaction_op IS NOT NULL THEN lcl_fac_anonymized END
, bes_bestelling_lev_opm = CASE WHEN bes_bestelling_lev_opm IS NOT NULL THEN lcl_fac_anonymized END
, bes_bestelling_externnr = CASE WHEN bes_bestelling_externnr IS NOT NULL THEN lcl_fac_anonymized END
WHERE bes_bestelling_key = rec_b.bes_bestelling_key;
END IF;
-- Anonimiseren van de bestelling tracken.
fac.trackaction('BESANO', rec_b.bes_bestelling_key, NULL, NULL, NULL);
fac.trackaction('#BESANO', rec_b.bes_bestelling_key, NULL, NULL, NULL);
-- *
-- Anonimiseren bestelopdrachten.
@@ -157,6 +177,16 @@ CREATE OR REPLACE PACKAGE BODY ano AS
AND fac_srtnotificatie_code != 'BES2AN')
AND fac_tracking_refkey = rec_bo.bes_bestelopdr_key
AND fac_tracking_oms IS NOT NULL;
-- Alle BES tracking verwijderen waar geen omschrijving in staat
-- en waarvoor er ook geen srtnotificatie-tekst bestaat.
DELETE FROM fac_tracking
WHERE fac_srtnotificatie_key IN (SELECT fac_srtnotificatie_key
FROM fac_srtnotificatie
WHERE fac_srtnotificatie_xmlnode = 'bestelopdr'
AND fac_srtnotificatie_oms IS NULL
)
AND fac_tracking_refkey = rec_bo.bes_bestelopdr_key
AND fac_tracking_oms IS NULL;
END IF;
--IF (BITAND(anonymize_mode, 2) = 2) -- notes
@@ -177,16 +207,26 @@ CREATE OR REPLACE PACKAGE BODY ano AS
WHERE bk.bes_srtkenmerk_key = bsk.bes_srtkenmerk_key
AND bk.bes_kenmerk_key = bkbi.bes_kenmerk_key
AND BITAND(bsk.bes_srtkenmerk_systeem, 8) = 8);
-- BES heeft nog geen anonimiseerbare kenmerken
--FOR rec_fb IN c_bijlagen(rec_bo.bes_bestelopdr_key)
--LOOP
-- flx.deleteflexbijlage(rec_fb.fac_bijlagen_key);
--END LOOP;
FOR rec_fb IN c_bijlagen(rec_bo.bes_bestelopdr_key)
LOOP
flx.deleteflexbijlage(rec_fb.fac_bijlagen_key);
END LOOP;
END IF;
--IF (BITAND(anonymize_mode, 8) = 8) -- vaste omschrijvingen
--THEN
--END IF;
IF (BITAND(anonymize_mode, 8) = 8) -- vaste omschrijvingen
THEN
-- Anonimiseren van tekstvelden in de bestelopdracht.
UPDATE bes_bestelopdr
SET bes_bestelopdr_opmerking = CASE WHEN bes_bestelopdr_opmerking IS NOT NULL THEN lcl_fac_anonymized END
, bes_bestelopdr_delivery_opmerk = CASE WHEN bes_bestelopdr_delivery_opmerk IS NOT NULL THEN lcl_fac_anonymized END
, bes_bestelopdr_externnr = CASE WHEN bes_bestelopdr_externnr IS NOT NULL THEN lcl_fac_anonymized END
WHERE bes_bestelopdr_key = rec_bo.bes_bestelopdr_key;
UPDATE bes_bestelopdr_item
SET bes_bestelopdr_item_opmerking = CASE WHEN bes_bestelopdr_item_opmerking IS NOT NULL THEN lcl_fac_anonymized END
WHERE bes_bestelopdr_key = rec_bo.bes_bestelopdr_key;
END IF;
-- Anonimiseren van de bestelopdracht tracken.
fac.trackaction('BES2AN', rec_bo.bes_bestelopdr_key, NULL, NULL, NULL);
@@ -266,6 +306,16 @@ CREATE OR REPLACE PACKAGE BODY ano AS
AND fac_srtnotificatie_code != 'BEZANO')
AND fac_tracking_refkey = rec_a.bez_afspraak_key
AND fac_tracking_oms IS NOT NULL;
-- Alle BEZ tracking verwijderen waar geen omschrijving in staat
-- en waarvoor er ook geen srtnotificatie-tekst bestaat.
DELETE FROM fac_tracking
WHERE fac_srtnotificatie_key IN (SELECT fac_srtnotificatie_key
FROM fac_srtnotificatie
WHERE fac_srtnotificatie_xmlnode = 'afspraak'
AND fac_srtnotificatie_oms IS NULL
)
AND fac_tracking_refkey = rec_a.bez_afspraak_key
AND fac_tracking_oms IS NULL;
END IF;
--IF (BITAND(anonymize_mode, 2) = 2) -- notes
@@ -298,7 +348,7 @@ CREATE OR REPLACE PACKAGE BODY ano AS
THEN
-- Anonimiseer alle afspraken.
-- Door de trigger in de update wordt automatische de naam van de host in de gastheer geplakt.
-- Daardoor wordt de lcl "Ganonimiseerd" in vele gevallen niet blijvend in de gasheer gezet.
-- Daardoor wordt de lcl "Ganonimiseerd" in vele gevallen niet blijvend in de gastheer gezet.
-- De persoon (prs record) moet daarom eerst aangepast worden.
-- Tijdens het anonimiseren van de persoon wordt daarom de bez_afspraak_gastheer ook geanonimiseerd.
-- In de gevallen dat er geen host wordt gebruikt en alleen tekst voor de persoon (gastheer) wordt ingevuld wordt het veld wel blijvend gezet.
@@ -310,7 +360,7 @@ CREATE OR REPLACE PACKAGE BODY ano AS
END IF;
-- Anonimiseren van de afspraak tracken.
fac.trackaction('BEZANO', rec_a.bez_afspraak_key, NULL, NULL, NULL);
fac.trackaction('#BEZANO', rec_a.bez_afspraak_key, NULL, NULL, NULL);
-- *
-- Anonimiseren bezoekers
@@ -328,6 +378,18 @@ CREATE OR REPLACE PACKAGE BODY ano AS
FROM bez_bezoekers bb
WHERE bb.bez_afspraak_key = rec_a.bez_afspraak_key)
AND fac_tracking_oms IS NOT NULL;
-- Alle BEZ tracking verwijderen waar geen omschrijving in staat
-- en waarvoor er ook geen srtnotificatie-tekst bestaat.
DELETE FROM fac_tracking
WHERE fac_srtnotificatie_key IN (SELECT fac_srtnotificatie_key
FROM fac_srtnotificatie
WHERE fac_srtnotificatie_xmlnode = 'bezoeker'
AND fac_srtnotificatie_oms IS NULL
)
AND fac_tracking_refkey IN (SELECT bb.bez_bezoekers_key
FROM bez_bezoekers bb
WHERE bb.bez_afspraak_key = rec_a.bez_afspraak_key)
AND fac_tracking_oms IS NULL;
END IF;
--IF (BITAND(anonymize_mode, 2) = 2) -- notes
@@ -363,12 +425,214 @@ CREATE OR REPLACE PACKAGE BODY ano AS
END IF;
END;
PROCEDURE anonymizefin (p_startdatum IN DATE,
p_einddatum IN DATE)
AS
anonymize_period NUMBER := fac.safe_to_number (fac.getsetting ('anonymize_period'));
v_count NUMBER;
anonymize_mode NUMBER;
lcl_fac_anonymized fac_locale_xsl.fac_locale_xsl_tekst%TYPE := lcl.l('lcl_fac_anonymized');
-- Alle facturen die afgewezen of verwerkt zijn in de periode tussen de startdatum en de einddatum.
CURSOR c_factuur
IS
WITH
fin_tracking
AS
( SELECT fac_tracking_refkey,
MAX (fac_tracking_datum) max_tracking_datum
FROM fac_tracking
WHERE fac_srtnotificatie_key IN
(SELECT fac_srtnotificatie_key
FROM fac_srtnotificatie
WHERE fac_srtnotificatie_xmlnode = 'factuur'
AND fac_srtnotificatie_key !=
(SELECT fac_srtnotificatie_key
FROM fac_srtnotificatie
WHERE fac_srtnotificatie_code = 'FINANO'))
GROUP BY fac_tracking_refkey)
SELECT f.fin_factuur_key
FROM fin_factuur f, fin_tracking ft
WHERE f.fin_factuur_key = ft.fac_tracking_refkey
AND ft.max_tracking_datum BETWEEN p_startdatum AND p_einddatum
AND f.fin_factuur_statuses_key IN (1, 7)
AND NOT EXISTS
(SELECT ft.fac_tracking_key
FROM fac_tracking ft
WHERE ft.fac_tracking_refkey = f.fin_factuur_key
AND ft.fac_srtnotificatie_key =
(SELECT fac_srtnotificatie_key
FROM fac_srtnotificatie
WHERE fac_srtnotificatie_code = 'FINANO'))
ORDER BY f.fin_factuur_key;
CURSOR c_bijlagen_factuur(p_refkey IN NUMBER)
IS
SELECT b.fac_bijlagen_key
FROM fac_bijlagen b
, fin_kenmerk k
WHERE k.fin_kenmerk_key = b.fac_bijlagen_kenmerk_key
AND b.fac_bijlagen_refkey = p_refkey
AND BITAND(k.fin_kenmerk_systeem, 8) = 8
AND k.fin_kenmerk_type = 'F'
AND b.fac_bijlagen_module = 'FIN';
CURSOR c_bijlagen_factuur_note(p_refkey IN NUMBER)
IS
SELECT b.fac_bijlagen_key
FROM fac_bijlagen b
, fin_factuur_note n
WHERE b.fac_bijlagen_refkey = n.fin_factuur_note_key
AND b.fac_bijlagen_module = 'FINN'
AND b.fac_bijlagen_kenmerk_key = -1
AND n.fin_factuur_key = p_refkey;
BEGIN
IF p_einddatum > SYSDATE - anonymize_period + 1
THEN
raise_application_error(-20001, 'ano_m001 Einddatum is te groot');
END IF;
SELECT fac.getSetting('anonymize_mode')
INTO anonymize_mode
FROM DUAL;
IF anonymize_mode > 0
THEN
DBMS_APPLICATION_INFO.SET_ACTION ('ANONYMIZE'); // Voorkomt eventueel triggers
v_count := 0;
FOR rec_f IN c_factuur
LOOP
-- *
-- Anonimiseren factuur
IF (BITAND(anonymize_mode, 1) = 1) -- tracking
THEN
-- Alle FIN tracking anonimiseren m.b.t. de factuur.
UPDATE fac_tracking
SET fac_tracking_oms = NULL
WHERE fac_srtnotificatie_key IN (SELECT fac_srtnotificatie_key
FROM fac_srtnotificatie
WHERE fac_srtnotificatie_xmlnode = 'factuur'
AND fac_srtnotificatie_code != 'FINANO')
AND fac_tracking_refkey = rec_f.fin_factuur_key
AND fac_tracking_oms IS NOT NULL;
-- Alle FIN tracking verwijderen waar geen omschrijving in staat
-- en waarvoor er ook geen srtnotificatie-tekst bestaat.
DELETE FROM fac_tracking
WHERE fac_srtnotificatie_key IN (SELECT fac_srtnotificatie_key
FROM fac_srtnotificatie
WHERE fac_srtnotificatie_xmlnode = 'factuur'
AND fac_srtnotificatie_oms IS NULL
)
AND fac_tracking_refkey = rec_f.fin_factuur_key
AND fac_tracking_oms IS NULL;
END IF;
IF (BITAND(anonymize_mode, 2) = 2) -- notes
THEN
-- Verwijder alle bijlagen van notities van de melding.
FOR rec_nb IN c_bijlagen_factuur_note(rec_f.fin_factuur_key)
LOOP
flx.deleteflexbijlage(rec_nb.fac_bijlagen_key);
END LOOP;
-- Verwijder alle notities van de factuur.
DELETE FROM fin_factuur_note ffn
WHERE ffn.fin_factuur_key = rec_f.fin_factuur_key;
END IF;
IF (BITAND(anonymize_mode, 4) = 4) -- kenmerken
THEN
-- Verwijder alle kenmerkwaarden van de factuur waarvan het &8 (BITAND) bit (anonimiseren)
-- van het fin_kenmerk.fin_kenmerk_systeem veld is gezet.
DELETE FROM fin_kenmerkfactuur fkf
WHERE fkf.fin_factuur_key = rec_f.fin_factuur_key
AND fkf.fin_kenmerk_key IN (SELECT fk.fin_kenmerk_key
FROM fin_kenmerk fk
WHERE fk.fin_kenmerk_key = fkf.fin_kenmerk_key
AND fk.fin_kenmerk_type = 'F'
AND BITAND(fk.fin_kenmerk_systeem, 8) = 8);
-- Zet het verwijder-veld van alle bijlagen van de factuur waarvan het &8 (BITAND) bit (anonimiseren)
-- van het fin_kenmerk.fin_kenmerk_systeem veld is gezet.
-- De scheduled functie utils/gen_schedular/gen_cleanup.js verwijderd dan binnenkort de bijlage echt
-- en ruimt dan ook het record in fac_bijlagen op.
FOR rec_fb IN c_bijlagen_factuur(rec_f.fin_factuur_key)
LOOP
flx.deleteflexbijlage(rec_fb.fac_bijlagen_key);
END LOOP;
END IF;
IF (BITAND(anonymize_mode, 8) = 8) -- vaste omschrijvingen
THEN
-- Anonimiseren van tekstvelden in de factuur.
UPDATE fin_factuur
SET fin_factuur_opmerking = CASE WHEN fin_factuur_opmerking IS NOT NULL THEN lcl_fac_anonymized END
, fin_factuur_opmerking_afw = CASE WHEN fin_factuur_opmerking_afw IS NOT NULL THEN lcl_fac_anonymized END
WHERE fin_factuur_key = rec_f.fin_factuur_key;
END IF;
-- Anonimiseren van de factuur tracken.
fac.trackaction('#FINANO', rec_f.fin_factuur_key, NULL, NULL, NULL);
-- *
-- Anonimiseren factuurregels.
FOR rec_r IN (SELECT fin_factuurregel_key
FROM fin_factuurregel
WHERE fin_factuur_key = rec_f.fin_factuur_key)
LOOP
--IF (BITAND(anonymize_mode, 1) = 1) -- tracking
--THEN -- Tracking van factuurregels gebeurd op factuur niveau.
--END IF;
--IF (BITAND(anonymize_mode, 2) = 2) -- notes
--THEN -- Factuurregels hebben geen notes.
--END IF;
IF (BITAND(anonymize_mode, 4) = 4) -- kenmerken
THEN
-- Verwijder alle kenmerkwaarden van de factuurregels van de factuur waarvan het &8 (BITAND) bit (anonimiseren)
-- van het fin_kenmerk.fin_kenmerk_systeem veld is gezet.
DELETE FROM fin_kenmerkfactregel fkr
WHERE fkr.fin_factuurregel_key = rec_r.fin_factuurregel_key
AND fkr.fin_kenmerk_key IN (SELECT fk.fin_kenmerk_key
FROM fin_kenmerk fk
WHERE fk.fin_kenmerk_key = fkr.fin_kenmerk_key
AND fk.fin_kenmerk_type = 'R'
AND BITAND(fk.fin_kenmerk_systeem, 8) = 8);
-- Factuurregels hebben geen bijlagekenmerken. Zie fin\fin_flexkenmerk.inc
END IF;
IF (BITAND(anonymize_mode, 8) = 8) -- vaste omschrijvingen
THEN
-- Anonimiseren van tekstvelden in de factuurregels van de factuur.
UPDATE fin_factuurregel
SET fin_factuurregel_omschrijving = CASE WHEN fin_factuurregel_omschrijving IS NOT NULL THEN lcl_fac_anonymized END
WHERE fin_factuurregel_key = rec_r.fin_factuurregel_key;
END IF;
-- Anonimiseren van factuurregels wordt niet getrackt.
END LOOP; -- factuurregels
IF v_count >= 1000
THEN
COMMIT;
v_count := 0;
ELSE
v_count := v_count + 1;
END IF;
END LOOP; -- facturen
END IF;
END;
PROCEDURE anonymizemld (p_startdatum IN DATE,
p_einddatum IN DATE)
AS
anonymize_period NUMBER := fac.safe_to_number (fac.getsetting ('anonymize_period'));
v_count NUMBER;
anonymize_mode NUMBER;
lcl_fac_anonymized fac_locale_xsl.fac_locale_xsl_tekst%TYPE := lcl.l('lcl_fac_anonymized');
-- Alle meldingen waarvan de afwijsdatum of verwerkingsdatum tussen de startdatum en de einddatum liggen.
CURSOR c_melding
@@ -422,6 +686,26 @@ CREATE OR REPLACE PACKAGE BODY ano AS
AND k.mld_kenmerk_niveau IN ('P','O')
AND b.fac_bijlagen_module = 'MLD';
CURSOR c_bijlagen_melding_note(p_refkey IN NUMBER)
IS
SELECT b.fac_bijlagen_key
FROM fac_bijlagen b
, mld_melding_note n
WHERE b.fac_bijlagen_refkey = n.mld_melding_note_key
AND b.fac_bijlagen_module = 'MLDN'
AND b.fac_bijlagen_kenmerk_key = -1
AND n.mld_melding_key = p_refkey;
CURSOR c_bijlagen_opdracht_note(p_refkey IN NUMBER)
IS
SELECT b.fac_bijlagen_key
FROM fac_bijlagen b
, mld_opdr_note n
WHERE b.fac_bijlagen_refkey = n.mld_opdr_note_key
AND b.fac_bijlagen_module = 'ORDN'
AND b.fac_bijlagen_kenmerk_key = -1
AND n.mld_opdr_key = p_refkey;
BEGIN
IF p_einddatum > SYSDATE - anonymize_period + 1
THEN
@@ -434,6 +718,8 @@ CREATE OR REPLACE PACKAGE BODY ano AS
IF anonymize_mode > 0
THEN
DBMS_APPLICATION_INFO.SET_ACTION ('ANONYMIZE'); // Voorkomt mld_t_mld_melding_B_IU
v_count := 0;
FOR rec_m IN c_melding
LOOP
@@ -450,10 +736,25 @@ CREATE OR REPLACE PACKAGE BODY ano AS
AND fac_srtnotificatie_code != 'MLDANO')
AND fac_tracking_refkey = rec_m.mld_melding_key
AND fac_tracking_oms IS NOT NULL;
-- Alle MLD tracking verwijderen waar geen omschrijving in staat
-- en waarvoor er ook geen srtnotificatie-tekst bestaat.
DELETE FROM fac_tracking
WHERE fac_srtnotificatie_key IN (SELECT fac_srtnotificatie_key
FROM fac_srtnotificatie
WHERE fac_srtnotificatie_xmlnode = 'melding'
AND fac_srtnotificatie_oms IS NULL
)
AND fac_tracking_refkey = rec_m.mld_melding_key
AND fac_tracking_oms IS NULL;
END IF;
IF (BITAND(anonymize_mode, 2) = 2) -- notes
THEN
-- Verwijder alle bijlagen van notities van de melding.
FOR rec_nb IN c_bijlagen_melding_note(rec_m.mld_melding_key)
LOOP
flx.deleteflexbijlage(rec_nb.fac_bijlagen_key);
END LOOP;
-- Verwijder alle notities van de melding.
DELETE FROM mld_melding_note mmn
WHERE mmn.mld_melding_key = rec_m.mld_melding_key;
@@ -483,27 +784,20 @@ CREATE OR REPLACE PACKAGE BODY ano AS
IF (BITAND(anonymize_mode, 8) = 8) -- vaste omschrijvingen
THEN
EXECUTE IMMEDIATE 'ALTER TRIGGER mld_t_mld_melding_B_IU DISABLE';
BEGIN
-- Anonimiseren van tekstvelden in de melding.
UPDATE mld_melding
SET mld_melding_omschrijving = CASE WHEN mld_melding_omschrijving IS NOT NULL THEN lcl.l('lcl_fac_anonymized') END
, mld_melding_opmerking = CASE WHEN mld_melding_opmerking IS NOT NULL THEN lcl.l('lcl_fac_anonymized') END
, mld_melding_document = CASE WHEN mld_melding_document IS NOT NULL THEN lcl.l('lcl_fac_anonymized') END
, mld_melding_satisfaction_op = CASE WHEN mld_melding_satisfaction_op IS NOT NULL THEN lcl.l('lcl_fac_anonymized') END
, mld_melding_naam_ext = CASE WHEN mld_melding_naam_ext IS NOT NULL THEN lcl.l('lcl_fac_anonymized') END
, mld_melding_email_ext = CASE WHEN mld_melding_email_ext IS NOT NULL THEN lcl.l('lcl_fac_anonymized') END
, mld_melding_tel_ext = CASE WHEN mld_melding_tel_ext IS NOT NULL THEN lcl.l('lcl_fac_anonymized') END
SET mld_melding_omschrijving = CASE WHEN mld_melding_omschrijving IS NOT NULL THEN lcl_fac_anonymized END
, mld_melding_opmerking = CASE WHEN mld_melding_opmerking IS NOT NULL THEN lcl_fac_anonymized END
, mld_melding_document = CASE WHEN mld_melding_document IS NOT NULL THEN lcl_fac_anonymized END
, mld_melding_satisfaction_op = CASE WHEN mld_melding_satisfaction_op IS NOT NULL THEN lcl_fac_anonymized END
, mld_melding_naam_ext = CASE WHEN mld_melding_naam_ext IS NOT NULL THEN lcl_fac_anonymized END
, mld_melding_email_ext = CASE WHEN mld_melding_email_ext IS NOT NULL THEN lcl_fac_anonymized END
, mld_melding_tel_ext = CASE WHEN mld_melding_tel_ext IS NOT NULL THEN lcl_fac_anonymized END
WHERE mld_melding_key = rec_m.mld_melding_key;
EXCEPTION
WHEN OTHERS THEN
EXECUTE IMMEDIATE 'ALTER TRIGGER mld_t_mld_melding_B_IU ENABLE';
END;
EXECUTE IMMEDIATE 'ALTER TRIGGER mld_t_mld_melding_B_IU ENABLE';
END IF;
-- Anonimiseren van de melding tracken.
fac.trackaction('MLDANO', rec_m.mld_melding_key, NULL, NULL, NULL);
fac.trackaction('#MLDANO', rec_m.mld_melding_key, NULL, NULL, NULL);
-- *
-- Anonimiseren opdrachten melding.
@@ -522,10 +816,25 @@ CREATE OR REPLACE PACKAGE BODY ano AS
AND fac_srtnotificatie_code != 'ORDANO')
AND fac_tracking_refkey = rec_o.mld_opdr_key
AND fac_tracking_oms IS NOT NULL;
END IF;
-- Alle ORD tracking verwijderen waar geen omschrijving in staat
-- en waarvoor er ook geen srtnotificatie-tekst bestaat.
DELETE FROM fac_tracking
WHERE fac_srtnotificatie_key IN (SELECT fac_srtnotificatie_key
FROM fac_srtnotificatie
WHERE fac_srtnotificatie_xmlnode = 'opdracht'
AND fac_srtnotificatie_oms IS NULL
)
AND fac_tracking_refkey = rec_o.mld_opdr_key
AND fac_tracking_oms IS NULL;
END IF;
IF (BITAND(anonymize_mode, 2) = 2) -- notes
THEN
-- Verwijder alle bijlagen van notities van de opdracht bij de melding.
FOR rec_nb IN c_bijlagen_opdracht_note(rec_o.mld_opdr_key)
LOOP
flx.deleteflexbijlage(rec_nb.fac_bijlagen_key);
END LOOP;
-- Verwijder alle notities van de opdrachten bij de melding.
DELETE FROM mld_opdr_note mon
WHERE mon.mld_opdr_key = rec_o.mld_opdr_key;
@@ -558,26 +867,26 @@ CREATE OR REPLACE PACKAGE BODY ano AS
THEN
-- Anonimiseren van tekstvelden in de opdrachten van de melding.
UPDATE mld_opdr
SET mld_opdr_omschrijving = CASE WHEN mld_opdr_omschrijving IS NOT NULL THEN lcl.l('lcl_fac_anonymized') END
, mld_opdr_werkzaamheden = CASE WHEN mld_opdr_werkzaamheden IS NOT NULL THEN lcl.l('lcl_fac_anonymized') END
, mld_opdr_contactpersoon = CASE WHEN mld_opdr_contactpersoon IS NOT NULL THEN lcl.l('lcl_fac_anonymized') END
, mld_opdr_opmerking_fiat = CASE WHEN mld_opdr_opmerking_fiat IS NOT NULL THEN lcl.l('lcl_fac_anonymized') END
, mld_opdr_opmerking = CASE WHEN mld_opdr_opmerking IS NOT NULL THEN lcl.l('lcl_fac_anonymized') END
SET mld_opdr_omschrijving = CASE WHEN mld_opdr_omschrijving IS NOT NULL THEN lcl_fac_anonymized END
, mld_opdr_werkzaamheden = CASE WHEN mld_opdr_werkzaamheden IS NOT NULL THEN lcl_fac_anonymized END
, mld_opdr_contactpersoon = CASE WHEN mld_opdr_contactpersoon IS NOT NULL THEN lcl_fac_anonymized END
, mld_opdr_opmerking_fiat = CASE WHEN mld_opdr_opmerking_fiat IS NOT NULL THEN lcl_fac_anonymized END
, mld_opdr_opmerking = CASE WHEN mld_opdr_opmerking IS NOT NULL THEN lcl_fac_anonymized END
WHERE mld_opdr_key = rec_o.mld_opdr_key;
-- Anonimiseren van tekstvelden in opdrachtregels van de melding.
UPDATE mld_opdr_materiaal
SET mld_opdr_materiaal_omschr = CASE WHEN mld_opdr_materiaal_omschr IS NOT NULL THEN lcl.l('lcl_fac_anonymized') END
, mld_opdr_materiaal_info = CASE WHEN mld_opdr_materiaal_info IS NOT NULL THEN lcl.l('lcl_fac_anonymized') END
, mld_opdr_materiaal_extra1 = CASE WHEN mld_opdr_materiaal_extra1 IS NOT NULL THEN lcl.l('lcl_fac_anonymized') END
, mld_opdr_materiaal_extra2 = CASE WHEN mld_opdr_materiaal_extra2 IS NOT NULL THEN lcl.l('lcl_fac_anonymized') END
, mld_opdr_materiaal_extra3 = CASE WHEN mld_opdr_materiaal_extra3 IS NOT NULL THEN lcl.l('lcl_fac_anonymized') END
, mld_opdr_materiaal_extra4 = CASE WHEN mld_opdr_materiaal_extra4 IS NOT NULL THEN lcl.l('lcl_fac_anonymized') END
SET mld_opdr_materiaal_omschr = CASE WHEN mld_opdr_materiaal_omschr IS NOT NULL THEN lcl_fac_anonymized END
, mld_opdr_materiaal_info = CASE WHEN mld_opdr_materiaal_info IS NOT NULL THEN lcl_fac_anonymized END
, mld_opdr_materiaal_extra1 = CASE WHEN mld_opdr_materiaal_extra1 IS NOT NULL THEN lcl_fac_anonymized END
, mld_opdr_materiaal_extra2 = CASE WHEN mld_opdr_materiaal_extra2 IS NOT NULL THEN lcl_fac_anonymized END
, mld_opdr_materiaal_extra3 = CASE WHEN mld_opdr_materiaal_extra3 IS NOT NULL THEN lcl_fac_anonymized END
, mld_opdr_materiaal_extra4 = CASE WHEN mld_opdr_materiaal_extra4 IS NOT NULL THEN lcl_fac_anonymized END
WHERE mld_opdr_key = rec_o.mld_opdr_key;
END IF;
-- Anonimiseren van de meldingsopdracht tracken.
fac.trackaction('ORDANO', rec_o.mld_opdr_key, NULL, NULL, NULL);
fac.trackaction('#ORDANO', rec_o.mld_opdr_key, NULL, NULL, NULL);
END LOOP; -- opdrachten
IF v_count >= 1000
@@ -589,6 +898,12 @@ CREATE OR REPLACE PACKAGE BODY ano AS
END IF;
END LOOP; -- meldingen
END IF;
DBMS_APPLICATION_INFO.SET_ACTION (NULL);
EXCEPTION
WHEN OTHERS THEN
DBMS_APPLICATION_INFO.SET_ACTION (NULL);
END;
PROCEDURE anonymizeprs (p_startdatum IN DATE,
@@ -655,7 +970,17 @@ CREATE OR REPLACE PACKAGE BODY ano AS
AND fac_srtnotificatie_code != 'PRSANO')
AND fac_tracking_refkey = rec_p.prs_perslid_key
AND fac_tracking_oms IS NOT NULL;
-- Alle PRS tracking verwijderen waar geen omschrijving in staat
-- en waarvoor er ook geen srtnotificatie-tekst bestaat.
DELETE FROM fac_tracking
WHERE fac_srtnotificatie_key IN (SELECT fac_srtnotificatie_key
FROM fac_srtnotificatie
WHERE fac_srtnotificatie_code LIKE 'PRS%'
AND fac_srtnotificatie_code != 'PRSLOG'
AND fac_srtnotificatie_oms IS NULL
)
AND fac_tracking_refkey = rec_p.prs_perslid_key
AND fac_tracking_oms IS NULL;
-- PRSLOG Tracking verwijderen.
DELETE FROM fac_tracking
WHERE fac_srtnotificatie_key IN (SELECT fac_srtnotificatie_key
@@ -719,7 +1044,7 @@ CREATE OR REPLACE PACKAGE BODY ano AS
END IF;
-- Anonimiseren van de persoon tracken.
fac.trackaction('PRSANO', rec_p.prs_perslid_key, NULL, NULL, NULL);
fac.trackaction('#PRSANO', rec_p.prs_perslid_key, NULL, NULL, NULL);
IF v_count >= 1000
THEN
@@ -741,6 +1066,7 @@ CREATE OR REPLACE PACKAGE BODY ano AS
prs_old_employee VARCHAR2 (100) := lcl.l('lcl_prs_old_employee');
v_count NUMBER;
anonymize_mode NUMBER;
lcl_fac_anonymized fac_locale_xsl.fac_locale_xsl_tekst%TYPE := lcl.l('lcl_fac_anonymized');
-- Alle personen die tussen de startdatum en de einddatum verwijderd zijn.
CURSOR c_reservering
@@ -797,6 +1123,8 @@ CREATE OR REPLACE PACKAGE BODY ano AS
IF anonymize_mode > 0
THEN
DBMS_APPLICATION_INFO.SET_ACTION ('ANONYMIZE'); // Voorkomt eventuele triggers
v_count := 0;
FOR rec_r IN c_reservering
LOOP
@@ -813,6 +1141,16 @@ CREATE OR REPLACE PACKAGE BODY ano AS
AND fac_srtnotificatie_code != 'RESANO')
AND fac_tracking_refkey = rec_r.res_rsv_ruimte_key
AND fac_tracking_oms IS NOT NULL;
-- Alle RES tracking verwijderen waar geen omschrijving in staat
-- en waarvoor er ook geen srtnotificatie-tekst bestaat.
DELETE FROM fac_tracking
WHERE fac_srtnotificatie_key IN (SELECT fac_srtnotificatie_key
FROM fac_srtnotificatie
WHERE fac_srtnotificatie_xmlnode = 'reservering'
AND fac_srtnotificatie_oms IS NULL
)
AND fac_tracking_refkey = rec_r.res_rsv_ruimte_key
AND fac_tracking_oms IS NULL;
END IF;
--IF (BITAND(anonymize_mode, 2) = 2) -- notes
@@ -844,14 +1182,14 @@ CREATE OR REPLACE PACKAGE BODY ano AS
IF (BITAND(anonymize_mode, 8) = 8) -- vaste omschrijvingen
THEN
UPDATE res_rsv_ruimte
SET res_rsv_ruimte_omschrijving = CASE WHEN res_rsv_ruimte_omschrijving IS NOT NULL THEN lcl.l('lcl_fac_anonymized') END
, res_rsv_ruimte_opmerking = CASE WHEN res_rsv_ruimte_opmerking IS NOT NULL THEN lcl.l('lcl_fac_anonymized') END
, res_rsv_ruimte_telefoon = CASE WHEN res_rsv_ruimte_telefoon IS NOT NULL THEN lcl.l('lcl_fac_anonymized') END
SET res_rsv_ruimte_omschrijving = CASE WHEN res_rsv_ruimte_omschrijving IS NOT NULL THEN lcl_fac_anonymized END
, res_rsv_ruimte_opmerking = CASE WHEN res_rsv_ruimte_opmerking IS NOT NULL THEN lcl_fac_anonymized END
, res_rsv_ruimte_telefoon = CASE WHEN res_rsv_ruimte_telefoon IS NOT NULL THEN lcl_fac_anonymized END
WHERE res_rsv_ruimte_key = rec_r.res_rsv_ruimte_key;
END IF;
-- Anonimiseren van de reservering tracken.
fac.trackaction('RESANO', rec_r.res_rsv_ruimte_key, NULL, NULL, NULL);
fac.trackaction('#RESANO', rec_r.res_rsv_ruimte_key, NULL, NULL, NULL);
IF v_count >= 1000
THEN
@@ -868,6 +1206,8 @@ CREATE OR REPLACE PACKAGE BODY ano AS
PROCEDURE anonymizefull(p_flags NUMBER DEFAULT 65535)
AS
BEGIN
DBMS_APPLICATION_INFO.SET_ACTION ('ANONYMIZE'); // Voorkomt trigger bez_t_bez_afspraak_B_IU die in de weg kan zitten
-- Destructive obstrufication of personal data.
UPDATE prs_perslid
SET prs_perslid_naam = INITCAP (DBMS_RANDOM.string ('l', LENGTH (prs_perslid_naam)))
@@ -960,24 +1300,16 @@ CREATE OR REPLACE PACKAGE BODY ano AS
SET prs_contactpersoon_email= 'EC' || TO_CHAR(prs_contactpersoon_key) || '@notexist.facilitor.nl'
WHERE prs_contactpersoon_email IS NOT NULL;
BEGIN
EXECUTE IMMEDIATE 'ALTER TRIGGER bez_t_bez_afspraak_B_IU DISABLE';
UPDATE bez_afspraak
SET bez_afspraak_gastheer = (SELECT SUBSTR(prs_perslid_naam_full,1,50)
FROM prs_v_perslid_fullnames_all
WHERE prs_perslid_key = bez_afspraak_host_key
)
WHERE bez_afspraak_host_key IS NOT NULL;
UPDATE bez_afspraak
SET bez_afspraak_gastheer = (SELECT SUBSTR(prs_perslid_naam_full,1,50)
FROM prs_v_perslid_fullnames_all
WHERE prs_perslid_key = bez_afspraak_host_key
)
WHERE bez_afspraak_host_key IS NOT NULL;
UPDATE bez_afspraak
SET bez_afspraak_gastheer = INITCAP (DBMS_RANDOM.string ('l', LENGTH (bez_afspraak_gastheer)))
WHERE bez_afspraak_host_key IS NULL;
EXECUTE IMMEDIATE 'ALTER TRIGGER bez_t_bez_afspraak_B_IU ENABLE';
EXCEPTION
WHEN OTHERS THEN
EXECUTE IMMEDIATE 'ALTER TRIGGER bez_t_bez_afspraak_B_IU ENABLE';
END;
UPDATE bez_afspraak
SET bez_afspraak_gastheer = INITCAP (DBMS_RANDOM.string ('l', LENGTH (bez_afspraak_gastheer)))
WHERE bez_afspraak_host_key IS NULL;
UPDATE bez_bezoekers
SET bez_afspraak_naam = UPPER(SUBSTR(bez_afspraak_naam,1,1)) || '. Bezoeker'
@@ -1031,17 +1363,10 @@ CREATE OR REPLACE PACKAGE BODY ano AS
, mld_adres_telefoon = ano.telefoon(mld_adres_telefoon)
, mld_adres_email = ano.email(mld_adres_email);
BEGIN
EXECUTE IMMEDIATE 'ALTER TRIGGER mld_t_mld_melding_B_IU DISABLE';
UPDATE mld_melding
SET mld_melding_naam_ext = ano.naam(mld_melding_naam_ext)
, mld_melding_email_ext = ano.email(mld_melding_email_ext)
, mld_melding_tel_ext = ano.telefoon(mld_melding_tel_ext);
EXECUTE IMMEDIATE 'ALTER TRIGGER mld_t_mld_melding_B_IU ENABLE';
EXCEPTION
WHEN OTHERS THEN
EXECUTE IMMEDIATE 'ALTER TRIGGER mld_t_mld_melding_B_IU ENABLE';
END;
UPDATE mld_melding
SET mld_melding_naam_ext = ano.naam(mld_melding_naam_ext)
, mld_melding_email_ext = ano.email(mld_melding_email_ext)
, mld_melding_tel_ext = ano.telefoon(mld_melding_tel_ext);
UPDATE mld_disc_params
SET mld_disc_params_emailnw1 = ano.email(mld_disc_params_emailnw1)
@@ -1055,14 +1380,8 @@ CREATE OR REPLACE PACKAGE BODY ano AS
WHERE mld_ins_discipline_key IN (SELECT ins_discipline_key
FROM mld_discipline);
BEGIN
EXECUTE IMMEDIATE 'ALTER TRIGGER mld_t_mld_opdr_B_IU DISABLE';
ano.table_column('mld_opdr', 'mld_opdr_contactpersoon', 'naam');
EXECUTE IMMEDIATE 'ALTER TRIGGER mld_t_mld_opdr_B_IU ENABLE';
EXCEPTION
WHEN OTHERS THEN
EXECUTE IMMEDIATE 'ALTER TRIGGER mld_t_mld_opdr_B_IU ENABLE';
END;
ano.table_column('mld_opdr', 'mld_opdr_contactpersoon', 'naam');
ano.table_column('fin_verkoopfactuur', 'prs_debiteur_naam', 'naam');
ano.table_column('alg_gebouw', 'alg_gebouw_email', 'email');
ano.table_column('alg_locatie', 'alg_locatie_email', 'email');
@@ -1077,6 +1396,12 @@ CREATE OR REPLACE PACKAGE BODY ano AS
ano.table_column('prs_contactpersoon', 'prs_contactpersoon_telefoon_2', 'telefoon');
ano.table_column('prs_perslid', 'prs_perslid_telefoonnr', 'telefoon');
ano.table_column('prs_perslid', 'prs_perslid_mobiel', 'telefoon');
DBMS_APPLICATION_INFO.SET_ACTION (NULL);
// Onderstaande heeft niets met anonimiseren te maken maar anonymizefull draait nogal eens
// na een import en dan is het altijd fijn om de mld_t_uitvoertijd te herstellen
adm.fix_mld_t_uitvoertijd();
END;
PROCEDURE anonymize (p_startdatum IN DATE,
@@ -1085,6 +1410,7 @@ CREATE OR REPLACE PACKAGE BODY ano AS
BEGIN
anonymizebes(p_startdatum, p_einddatum);
anonymizebez(p_startdatum, p_einddatum);
anonymizefin(p_startdatum, p_einddatum);
anonymizemld(p_startdatum, p_einddatum);
anonymizeprs(p_startdatum, p_einddatum);
anonymizeres(p_startdatum, p_einddatum);

View File

@@ -52,6 +52,7 @@ AS
WHERE t.fac_tracking_datum > TRUNC (ADD_MONTHS (TRUNC (ADD_MONTHS (SYSDATE, -1), 'yyyy'), -fac.getsetting ('datapurge_period') * 12))
AND t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
AND sn.fac_srtnotificatie_xmlnode = 'bestelopdracht'
AND sn.fac_srtnotificatie_code <> 'BES2AN'
AND t.fac_tracking_refkey = boi.bes_bestelopdr_key
AND boi.bes_bestelopdr_item_key = bbi.bes_bestelopdr_item_key
AND bbi.bes_bestelling_key = b.bes_bestelling_key)
@@ -157,7 +158,9 @@ AS
AND vm.mld_melding_key = t.fac_tracking_refkey
AND t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
AND sn.fac_srtnotificatie_xmlnode = 'melding'
AND sn.fac_srtnotificatie_code <> 'MLDANO'
AND (vm.mld_melding_status NOT IN (1, 5, 6) -- Lopend
OR (EXISTS (SELECT 1 FROM mld_melding vvm where vvm.mld_melding_start_key = vm.mld_melding_key)) -- Geneste vervolgmeldingen. Te ingewikkeld
OR t.fac_tracking_datum > TRUNC (ADD_MONTHS (TRUNC (ADD_MONTHS (SYSDATE, -1), 'yyyy'), -fac.getsetting ('datapurge_period') * 12)))) -- Geraakt < 7 jaar geleden
AND NOT EXISTS -- Eventuele child-melding ook > 7 jaar gesloten!
(SELECT 1
@@ -168,6 +171,7 @@ AS
AND cm.mld_melding_key = t.fac_tracking_refkey
AND t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
AND sn.fac_srtnotificatie_xmlnode = 'melding'
AND sn.fac_srtnotificatie_code <> 'MLDANO'
AND (cm.mld_melding_status NOT IN (1, 5, 6) -- Lopend
OR t.fac_tracking_datum > TRUNC (ADD_MONTHS (TRUNC (ADD_MONTHS (SYSDATE, -1), 'yyyy'), -fac.getsetting ('datapurge_period') * 12)))) -- Geraakt < 7 jaar geleden
AND NOT EXISTS -- Geen lopende facturen op child-opdrachten!

File diff suppressed because it is too large Load Diff

View File

@@ -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;

157
FAC/FAC_PACTSK.SRC Normal file
View File

@@ -0,0 +1,157 @@
/* $Revision$
* $Id$
*/
/* FAC_PACTSK
*
* Contains all functions for tasker.
*
*/
CREATE OR REPLACE PACKAGE tsk
AS
PROCEDURE registercust (p_customerid VARCHAR2 DEFAULT NULL,
p_schema VARCHAR2 DEFAULT NULL);
PROCEDURE registertask (p_taskcode VARCHAR2,
p_customerid VARCHAR2 DEFAULT NULL);
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;
/
CREATE OR REPLACE PACKAGE BODY tsk
AS
PROCEDURE registercust (p_customerid VARCHAR2 DEFAULT NULL,
p_schema VARCHAR2 DEFAULT NULL)
AS
tsk_master_schema VARCHAR(32);
custid fac_version.fac_version_cust%TYPE;
selfid fac_version.fac_version_cust%TYPE;
fac_schema fac_version.fac_version_schema%TYPE;
currentdb_schema VARCHAR2 (64);
tsksql VARCHAR2 (4000);
BEGIN
SELECT fac_version_cust,
fac_version_schema
INTO selfid,
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 = '*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, fac_schema));
EXCEPTION
WHEN DUP_VAL_ON_INDEX
THEN
NULL;
END;
-- Schema bijwerken
UPDATE fac_cust
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;';
EXECUTE IMMEDIATE tsksql USING selfid, fac_schema;
END IF;
END;
PROCEDURE registertask (p_taskcode VARCHAR2,
p_customerid VARCHAR2 DEFAULT NULL)
AS
tsk_master_schema VARCHAR(32);
selfid fac_version.fac_version_cust%TYPE;
tsksql VARCHAR2 (4000);
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 = '*SELF*' OR tsk_master_schema = currentdb_schema
THEN -- zelf oplossen
BEGIN
INSERT INTO fac_task(fac_cust_key, fac_task_code)
SELECT fac_cust_key, p_taskcode
FROM fac_cust
WHERE fac_cust_customerid = COALESCE(p_customerid, selfid);
EXCEPTION
WHEN DUP_VAL_ON_INDEX
THEN
NULL;
END;
ELSE -- start remote tasker
tsksql := 'BEGIN ' || tsk_master_schema || '.tsk.registertask(:taskcode, :custid); END;';
EXECUTE IMMEDIATE tsksql USING p_taskcode, selfid;
END IF;
END;
-- veronderstelt dat taak al correct is geregistreerd
PROCEDURE starttask (p_taskcode VARCHAR2,
p_nextrun DATE DEFAULT SYSDATE,
p_customerid VARCHAR2 DEFAULT NULL)
AS
tsk_master_schema VARCHAR(32);
selfid fac_version.fac_version_cust%TYPE;
tsksql VARCHAR2 (4000);
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 = '*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)
WHERE fac_task_code = p_taskcode
AND fac_cust_key = (SELECT fac_cust_key
FROM fac_cust
WHERE fac_cust_customerid = COALESCE(p_customerid, selfid));
ELSE -- start remote tasker
tsksql := 'BEGIN ' || tsk_master_schema || '.tsk.starttask(:taskcode, :nextrun, :custid); END;';
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:
-- GRANT EXECUTE ON tsk TO PUBLIC
REGISTERRUN('$Id$')

File diff suppressed because it is too large Load Diff

View File

@@ -55,6 +55,9 @@ CREATE SEQUENCE fac_s_fac_session_key MINVALUE 1;
CREATE SEQUENCE fac_s_fac_sequence_key MINVALUE 1;
CREATE SEQUENCE fac_s_fac_bijlagen_key MINVALUE 1;
CREATE SEQUENCE fac_s_fac_layout_key MINVALUE 100;
CREATE SEQUENCE fac_s_fac_cust_key MINVALUE 1;
CREATE SEQUENCE fac_s_fac_task_key MINVALUE 1;
-- CREATE SEQUENCE fac_s_fac_queue_key MINVALUE 1;
-- Some free to use sequence to generate unique and sequential numbers
-- with custom procedures like exports or invoicing

View File

@@ -19,7 +19,7 @@ CREATE GLOBAL TEMPORARY TABLE tmp_set (
fac_setting_type
VARCHAR2(32) NOT NULL,
fac_setting_default
VARCHAR2(1024),
VARCHAR2(4000),
fac_setting_description
VARCHAR2(250) UNIQUE NOT NULL,
fac_setting_comment
@@ -47,16 +47,33 @@ 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')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_opdr_confirm_for_send' , 'number' , '0' , 'Ask confirmation before sending an e-Order to a supplier (0=do not ask| 1=ask)')
-- \Unused
DEFINE_SETTING('FAC', 0000, 'WEB_FACFAC', 'fac_otap' , 'string' , 'P' , 'OTAP environment. custenv.wsc overrule only')
DEFINE_SETTING('FAC', 0000, 'WEB_FACFAC', 'fac_portalert_XD' , 'string' , '', , 'Hot news text on portal Cross Domain!')
DEFINE_SETTING('FAC', 0000, 'WEB_FACFAC', 'forum_secret' , 'string' , 'rQf1yKO1VWP4xm3iGef1WgzFo5LPKBEz', 'Forum jwt secret (future use)')
DEFINE_SETTING('FAC', 0000, 'WEB_FACFAC', 'helppage_secret' , 'string' , 'yuszkRZXlGqjOgyE' , 'Helppage hmac secret')
DEFINE_SETTING('FAC', 0000, 'WEB_FACFAC', 'idp_internal_anyuser' , 'boolean' , 'false' , 'AUT_IDP_INTERNAL sso can be used to login for any user')
DEFINE_SETTING('FAC', 0000, 'WEB_FACFAC', 'logcenter_secret' , 'string' , 'd1RLxRhQMvuU7MkdVeLlcBdYKZkUNh7N', 'Logcenter jwt secret')
DEFINE_SETTING('FAC', 0000, 'WEB_FACFAC', 'sys_ip_restrict_internal' , 'string' , '172.20.48.|80.250.128.5|80.250.128.6|31.161.17.4|80.250.129.2|80.250.129.1', 'Regexp ip-restriction internal')
DEFINE_SETTING('FAC', 0000, 'WEB_FACFAC', 'sys_ip_restrict_internal' , 'string' , '172.20.48.|80.250.128.5|80.250.128.6|80.250.129.195|31.161.17.4|80.250.129.2|80.250.129.1', 'Regexp ip-restriction 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('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('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')
DEFINE_SETTING('ALG', 0001, 'WEB_FACFAC', 'alg_ruimte_comm_opp_key' , 'number' , '-1' , 'Key to be used for commercial ruimte oppervlakte')
@@ -97,7 +114,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')
@@ -105,6 +122,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')
@@ -134,11 +152,12 @@ DEFINE_SETTING('PRS', 0001, 'WEB_FACTAB', 'prs_kpn_string'
DEFINE_SETTING('PRS', 0001, 'WEB_FACTAB', 'prs_pers_string' , 'string' , ' p.prs_perslid_naam|| NVL2( p.prs_perslid_voorletters, '', '' || p.prs_perslid_voorletters, '''')|| NVL2( p.prs_perslid_tussenvoegsel, '' '' || p.prs_perslid_tussenvoegsel, '''')|| NVL2( p.prs_perslid_voornaam, '' ('' || p.prs_perslid_voornaam || '')'', '''')', NULL)
DEFINE_SETTING('PRS', 0001, 'WEB_FACTAB', 'scim_default_bedrijf' , 'number' , '-1' , 'Default company (prs_bedrijf_key) for SCIM new organisation units')
DEFINE_SETTING('RES', 0001, 'WEB_FACFAC', 'res_remoteurl_refuse' , 'string' , '' , 'Regexp, do not jump to these remote url (future use)')
DEFINE_SETTING('PRS', 0001, 'WEB_FACFAC', 'prs_purge_inactief' , 'number' , '1' , 'Purge prs_perslid_inactief users {1=daily, 0=disable}')
DEFINE_SETTING('FAC', 0000, 'WEB_FACTAB', '_optimizer_use_feedback' , 'string' , '' , '_optimizer_use_feedback (Future use)')
DEFINE_SETTING('FAC', 0000, 'WEB_FACTAB', 'cursor_sharing' , 'string' , '' , 'cursor_sharing (Future use)')
DEFINE_SETTING('FAC', 0000, 'WEB_FACTAB', 'flexFilesPath' , 'string' , '*_DATA' , 'Path for Flexbestanden type ''F'' en ''M'', zonder eindslash')
DEFINE_SETTING('FAC', 0000, 'WEB_FACTAB', 'max_logfile_size' , 'number' , '4194304' , 'Start new logfile after it reaches this size')
DEFINE_SETTING('FAC', 0000, 'WEB_FACTAB', 'max_logfile_size' , 'number' , '262144' , 'Start new logfile after it reaches this size')
DEFINE_SETTING('FAC', 0000, 'WEB_FACTAB', 'optimizer_features_enable' , 'string' , '' , 'optimizer_features_enable (Future use)')
DEFINE_SETTING('FAC', 0000, 'WEB_FACTAB', 'tempfilespath' , 'string' , NULL , 'Path for temp files (future use)')
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'style_image_path' , 'string' , NULL , 'path to folder storing styling template pictures')
@@ -146,8 +165,8 @@ DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'style_image_path'
DEFINE_SETTING('ALG', 0001, 'WEB_PRSSYS', 'alg_ruimtenr_aut_use' , 'number' , '0' , 'WEB_RUIUSE may change alg_ruimte_nr/omschrijving {0=WEB_RUIMAN required | 1=WEB_RUIUSE allowed too}')
DEFINE_SETTING('BES', 0001, 'WEB_FACTAB', 'bes_image_path' , 'string' , NULL , 'path to folder storing bes_srtdeel pictures')
DEFINE_SETTING('BES', 0001, 'WEB_FACTAB', 'besd_image_path' , 'string' , NULL , 'path to folder storing bes discipline pictures')
DEFINE_SETTING('BEZ', 0001, 'WEB_FACTAB', 'vis_afspraak_host_uses_keys' , 'number' , '0' , 'the field "Bezoek voor" is a listbox (1 = true) otherwise a textfield (0 or 2 for required). INITIEEL INRICHTEN (BEZ-tabellen leeg)!')
DEFINE_SETTING('BEZ', 0001, 'WEB_FACTAB', 'vis_afspraak_onrgoed_uses_keys' , 'number' , '0' , 'listboxes location until room instead of only a room text field; INITIEEL INRICHTEN (BEZ-tabellen leeg)!')
DEFINE_SETTING('BEZ', 0001, 'WEB_FACTAB', 'vis_afspraak_host_uses_keys' , 'number' , '0' , 'Use free text for host or select an existing user for visitor (0=free text, 1=list, 2=required list)')
DEFINE_SETTING('BEZ', 0001, 'WEB_FACTAB', 'vis_afspraak_onrgoed_uses_keys' , 'number' , '0' , 'Use free text room or select an existing room as destination for visitor (0=free text, 1=list)')
DEFINE_SETTING('BEZ', 0001, 'WEB_PRSSYS', 'vis_afspraak_tel_required' , 'number' , '2' , '0=optional with value, 1=required with value, 2=optional and empty, 3=required and empty')
DEFINE_SETTING('BEZ', 0001, 'WEB_FACTAB', 'vis_parking_key' , 'number' , '-1' , 'Catalog key (res_discipline_key) for Parking places')
DEFINE_SETTING('BEZ', 0001, 'WEB_PRSSYS', 'bez_fo_default_user' , 'number' , '0' , 'Use current user as default appointment host, { 1=user | 0=empty (default) }')
@@ -172,18 +191,18 @@ DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'PerformInterval'
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'allow_framed_facilitor' , 'boolean' , 'false' , 'Is it allowed to use Facilitor in an (i)frame?')
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'allowedLinkRegex' , 'string' , '^((ftp|http|https):\/\/|(mailto|tel):)' , 'Allowed link-regex in between [link][/link]-tags')
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'auto_https' , 'number' , '3' , '0=not https, 1=http redirects to https, (3=also all cookies ;Secure)')
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'fac_html_strictness' , 'number' , '0' , '0=allow html in message, res-room description, flex-labels, 1=do not allow (strict, more secure)')
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'fac_html_strictness' , 'number' , '0' , '0=allow html in messages, res-room descriptions, flex-labels, 1=do not allow (strict, more secure)')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'cal_showOn' , 'string' , 'button' , '''button'' or ''focus'' or ''both''')
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'csp_header' , 'string' , 'default-src ''self''; script-src ''self'' ''unsafe-eval'' ''unsafe-inline''; style-src ''self'' ''unsafe-inline''; frame-src ''self'' mailto: tel: callto:; img-src ''self'' data: {0}; block-all-mixed-content;', 'Content-Security-Policy header')
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'csp_header_extradata' , 'string' , '*.tile.openstreetmap.org', 'Content-Security-Policy header extra image source')
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'fac_lfmap_tileprovider' , 'string' , 'https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', 'Tile provider voor map-projection of data')
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'referrer_policy_header' , 'string' , 'strict-origin-when-cross-origin', 'Referrer-Policy header (future use)')
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'referrer_policy_header' , 'string' , 'same-origin' , 'Referrer-Policy header')
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'cssenvcust' , 'string' , '' , 'Custom css environment overrules')
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'csstemplate' , 'json' , '{}' , 'Color scheme.')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'fontawesomestyle' , 'string' , 'fal' , 'Icons style. Options are far (regular), fas (solid), fal (light)')
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'custfunctionspath' , 'string' , NULL , 'path to custfunctions.wsc')
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'email_regexp' , 'string' , '^\s*[A-Z0-9&\._%+-]+@[A-Z0-9\.-]+\.[A-Z]{2,}\s*([,;]\s*[A-Z0-9&\._%+-]+@[A-Z0-9\.-]+\.[A-Z]{2,}\s*)*$', 'Meerdere gescheiden door , of ;')
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'email_regexp_single' , 'string' , '^\s*[A-Z0-9&\._%+-]+@[A-Z0-9\.-]+\.[A-Z]{2,}\s*$', 'E<EFBFBD>n email adres')
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'email_regexp_single' , 'string' , '^\s*[A-Z0-9&\._%+-]+@[A-Z0-9\.-]+\.[A-Z]{2,}\s*$', 'E n email adres')
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'fac_accept_terms' , 'number' , '0' , '0 (default) no accept, 1=must accept L("lcl_terms_filename")')
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'fac_emailtoken_auth_expire' , 'number' , '0' , 'Minutes e-mail login token is valid (default 0)')
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'fac_logo_file' , 'string' , 'tmpl_logo.gif' , 'Customer logo file (Future use)')
@@ -191,8 +210,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')
@@ -200,7 +221,12 @@ 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_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}')
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'hsts_maxage' , 'number' , '31536000' , 'HTTP Strict Transport Security max-age (0=off, eg. 31536000 for one year)')
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'http_meta_head' , 'string' , '<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">', 'Submitted in each html <head>')
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'cookie_samesite' , 'string' , 'lax' , '(future use) Cookie Samesite setting (none/lax/strict). Set to ''none'' for return-from-punchout problems')
@@ -211,7 +237,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', 'mobile_imageportal' , 'boolean' , 'true' , 'Use the fancy mobile icon portal (true) or text portal (false)')
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}')
@@ -239,7 +265,6 @@ DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'sys_ip_lockmode'
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'sys_ip_restrict' , 'string' , '' , 'Regexp ip-restriction')
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'use_capacity_planning' , 'number' , '0' , 'De inzetbaarheid van personen en uitvoerbaarheid bij opdrachten kan worden aangegeven (0=nee {default}, 1=ja)')
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'view_dwf_with_slnkdwf' , 'boolean' , 'false' , 'View DWF document files using SLNKDWF')
DEFINE_SETTING('WGT', 0001, 'WEB_FACTAB', 'wgt_enabled' , 'number' , '1' , 'DEPRECATED Is the widget module available {0 | 1}, now part of UDR')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'widgetportal' , 'number' , '0' , 'Key of widgetpage to use as startpage (key) or the standard page (0)')
DEFINE_SETTING('FAQ', 0001, 'WEB_FACTAB', 'faq_enabled' , 'number' , '0' , 'Is kennisbank available {0 | 1} licensed separately')
DEFINE_SETTING('FIN', 0001, 'WEB_PRSSYS', 'fin_defaultboekmaand' , 'number' , '1' , 'How to determine default "boekmaand" for entered invoice with an order: 1=sysdate, 2=orderdate, 3=enddate')
@@ -254,8 +279,7 @@ DEFINE_SETTING('INS', 0001, 'WEB_PRSSYS', 'mjb_show_srt_with_tasks'
DEFINE_SETTING('INS', 0001, 'WEB_PRSSYS', 'mjb_show_ruimte' , 'number' , '0' , 'Show "Room" column in the MJOB console at groupings "Object" and "Tasks" {0=no | 1=yes}')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'defaultstdmelding' , 'number' , '-1' , 'The stdmeldingkey for generic calls received by e-mail')
DEFINE_SETTING('MLD', 0001, 'WEB_FACTAB', 'mld_contract_startdate_key' , 'number' , '-1' , 'key of flex prop in rental contract mutation call')
DEFINE_SETTING('MLD', 0001, 'WEB_FACTAB', 'mld_meldbron_extern' , 'array' , '' , 'Een array van meldbron_keys waarvoor geldt dat Extern nr. editable is')
DEFINE_SETTING('MLD', 0001, 'WEB_FACTAB', 'mld_meldbron_key' , 'number' , '5' , 'MLD_MELDBRON_KEY of meldbron ''intranet''')
DEFINE_SETTING('MLD', 0001, 'WEB_FACTAB', 'mld_meldbron_key' , 'number' , '5' , 'The default mld_meldbron_key for non-frontoffice calls. {5=Internet}')
DEFINE_SETTING('MLD', 0001, 'WEB_FACTAB', 'mld_opdr_discipline_mode' , 'number' , '1' , 'Autorisation discipline for orders. { 1=(default) use issue discipline 2=follow treatment team }')
DEFINE_SETTING('MLD', 0001, 'WEB_FACTAB', 'mld_opdr_minuren' , 'boolean' , 'false' , 'registreren min uren toegestaan')
DEFINE_SETTING('MLD', 0001, 'WEB_FACTAB', 'mld_ordermaterial_fac_usrtab_key' , 'number' , '-1' , 'fac_usrtab_key of ordermaterials')
@@ -290,13 +314,13 @@ DEFINE_SETTING('ALG', 0001, 'WEB_FACTAB', 'alg_image_path'
DEFINE_SETTING('ALG', 0001, 'WEB_PRSSYS', 'alg_photo_size' , 'string' , 'r512x512' , 'Resize uploads to this maximum ALG photo size. Ex: r200x150')
DEFINE_SETTING('ALG', 0001, 'WEB_PRSSYS', 'fg_maps_distance_apikey' , 'string' , '' , 'API Key for Google Maps distance API requests')
DEFINE_SETTING('BES', 0001, 'WEB_PRSSYS', 'bes_afleverruimte_verplicht' , 'number' , '0' , 'Afleverruimte visable and/or required {0=visable and not required (default) | 1=visable and required | 2=not visable and not required}')
DEFINE_SETTING('BES', 0001, 'WEB_PRSSYS', 'bes_fo_default_user' , 'number' , '0' , 'Use current user as default purchaser, { 1=user | 0=empty (default) }')
DEFINE_SETTING('BES', 0001, 'WEB_PRSSYS', 'bes_approval_all' , 'number' , '0' , 'Goedkeuring bestelling vereist t.o.v. eerstvolgende limiet (=0 default) of t.o.v. totale kosten (in <20><>n keer)(=1)')
DEFINE_SETTING('BES', 0001, 'WEB_PRSSYS', 'bes_approval_all' , 'number' , '0' , 'Goedkeuring bestelling vereist t.o.v. eerstvolgende limiet (=0 default) of t.o.v. totale kosten (in n keer)(=1)')
DEFINE_SETTING('BES', 0001, 'WEB_PRSSYS', 'bes_bestelling_prefix' , 'string' , '' , 'prefix voor het aanvraagnummer van de bestelling')
DEFINE_SETTING('BES', 0001, 'WEB_PRSSYS', 'bes_bestelopdr_flags' , 'number' , '0' , 'Number of flags that can be defined on purchase orders. Max 10')
DEFINE_SETTING('BES', 0001, 'WEB_PRSSYS', 'bes_bestelopdr_prefix' , 'string' , '' , 'prefix voor het opdrachtnummer van de bestelling')
DEFINE_SETTING('BES', 0001, 'WEB_PRSSYS', 'bes_confirm_order_before_submit' , 'boolean' , 'false' , 'Bevestig bestelaanvraag voordat het uitgevoerd wordt')
DEFINE_SETTING('BES', 0001, 'WEB_PRSSYS', 'bes_datum_limiet' , 'number' , '90' , 'max days in the future')
DEFINE_SETTING('BES', 0001, 'WEB_PRSSYS', 'bes_fo_default_user' , 'number' , '0' , 'Use current user as default purchaser { 0=empty (default) | &1=user | &2=issuer (from MLD) }')
DEFINE_SETTING('BES', 0001, 'WEB_PRSSYS', 'bes_pgb_fe_fiat' , 'number' , '0' , 'Een bestelling van FE-er moet naast PGB/AGB fiattering ook altijd gefiatteerd worden, anders altijd afwijzen {0=no | 1=yes}')
DEFINE_SETTING('BES', 0001, 'WEB_PRSSYS', 'bes_pgb_fiattering' , 'number' , '0' , 'Algemene fiatteringsproces noodzakelijk naast PGB/AGB fiatering? {0=no | 1=yes}')
DEFINE_SETTING('BES', 0001, 'WEB_PRSSYS', 'bes_photo_size' , 'string' , 'r512x512' , 'Resize uploads to this maximum BES photo size. Ex: r200x150')
@@ -320,6 +344,7 @@ DEFINE_SETTING('BEZ', 0001, 'WEB_PRSSYS', 'bez_show_progress_prop'
DEFINE_SETTING('BEZ', 0001, 'WEB_PRSSYS', 'bez_show_resname' , 'boolean' , 'false' , 'Show room name instead of real estate name {false=show real estate name | true=show room name}')
DEFINE_SETTING('BEZ', 0001, 'WEB_PRSSYS', 'bez_use_buildinghours' , 'number' , '0' , 'Gebouwtijden als tijdgrenzen van afspraken gebruiken {0=Nee (default), 1=Ja, 2=weekend niet, 3=volgens gebouwtijden maar weekends niet}')
DEFINE_SETTING('BEZ', 0001, 'WEB_PRSSYS', 'bez_change_range' , 'number' , '0' , 'minutes before & after start time that bezbof can change visitors')
DEFINE_SETTING('BEZ', 0001, 'WEB_PRSSYS', 'bez_chat_message' , 'string' , 'https://teams.microsoft.com/l/chat/0/0?users={0}&message={1}', 'Link to start Microsoft Teams chat')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'csscust' , 'string' , '' , 'Custom css overrules')
DEFINE_SETTING('BEZ', 0001, 'WEB_PRSSYS', 'vis_afspraak_limiet' , 'number' , '-1' , 'max number of days from now that visitors are allowed, in past or future {-1 = no limit}')
DEFINE_SETTING('BEZ', 0001, 'WEB_PRSSYS', 'vis_allow_check_all' , 'number' , '1' , 'multiple-checkin visitors { 0=no | 1=yes }')
@@ -346,7 +371,7 @@ DEFINE_SETTING('BEZ', 0001, 'WEB_PRSSYS', 'vis_show_alg_level'
DEFINE_SETTING('BEZ', 0001, 'WEB_PRSSYS', 'vis_t1' , 'float' , '8' , 'visitors day start (hour)')
DEFINE_SETTING('BEZ', 0001, 'WEB_PRSSYS', 'vis_t1_fo' , 'float' , '-1' , 'visitors day start (hour) frontoffice')
DEFINE_SETTING('BEZ', 0001, 'WEB_PRSSYS', 'vis_t1_std' , 'float' , '8' , 'standard visiting begin time of visitors (hour)')
DEFINE_SETTING('BEZ', 0001, 'WEB_PRSSYS', 'vis_t2' , 'float' , '18' , 'visitors day end (hour)')
DEFINE_SETTING('BEZ', 0001, 'WEB_PRSSYS', 'vis_t2' , 'float' , '18' , 'visitors day end (hour, max. 23.99)')
DEFINE_SETTING('BEZ', 0001, 'WEB_PRSSYS', 'vis_t2_fo' , 'float' , '-1' , 'visitors day end (hour) frontoffice')
DEFINE_SETTING('BEZ', 0001, 'WEB_PRSSYS', 'vis_t2_std' , 'float' , '18' , 'standard visiting end time of visitors (hour)')
DEFINE_SETTING('BEZ', 0001, 'WEB_PRSSYS', 'vis_user_history' , 'number' , '7' , 'number of days in the past the FE can see his vistors')
@@ -369,6 +394,9 @@ DEFINE_SETTING('CAD', 0001, 'WEB_PRSSYS', 'fg_dwgscale'
DEFINE_SETTING('CAD', 0001, 'WEB_PRSSYS', 'fg_hilitebordercolor' , 'number' , '0xF59D04' , 'Default contour hilite border coloring')
DEFINE_SETTING('CAD', 0001, 'WEB_PRSSYS', 'fg_hilitefillcolor' , 'number' , '0xE02D93' , 'Default contour hilite fill coloring')
DEFINE_SETTING('CAD', 0001, 'WEB_PRSSYS', 'fg_hilitesymbolfillcolor' , 'number' , '0xFFFF00' , 'Default symbol hilite fill coloring')
DEFINE_SETTING('CAD', 0001, 'WEB_PRSSYS', 'fg_infobordthema_key' , 'number' , '-1' , 'Default colortheme (key) for Graphics Infobord')
DEFINE_SETTING('CAD', 0001, 'WEB_PRSSYS', 'fg_infobordlabel_key' , 'number' , '-1' , 'Default labeltheme (key) for Graphics Infobord')
DEFINE_SETTING('CAD', 0001, 'WEB_PRSSYS', 'fg_infobordreport_key' , 'number' , '-1' , 'Default report (key) for Graphics Infobord')
DEFINE_SETTING('CAD', 0001, 'WEB_PRSSYS', 'fg_ininslabelSize' , 'number' , '250' , 'Default labelsize for objects inside (mm)')
DEFINE_SETTING('CAD', 0001, 'WEB_PRSSYS', 'fg_inlabelsize' , 'number' , '800' , 'Default labelsize for rooms inside (mm)')
DEFINE_SETTING('CAD', 0001, 'WEB_PRSSYS', 'fg_inwplabelsize' , 'number' , '400' , 'Default labelsize for worplaces inside (mm)')
@@ -382,6 +410,7 @@ DEFINE_SETTING('CAD', 0001, 'WEB_PRSSYS', 'fg_mobile_thema'
DEFINE_SETTING('CAD', 0001, 'WEB_PRSSYS', 'fg_outinslabelsize' , 'number' , '8000' , 'Default labelsize for objects outside (mm)')
DEFINE_SETTING('CAD', 0001, 'WEB_PRSSYS', 'fg_outlabelsize' , 'number' , '16000' , 'Default labelsize for terrains outside (mm)')
DEFINE_SETTING('CAD', 0001, 'WEB_PRSSYS', 'fg_papercolor' , 'number' , '15462399' , 'Background color (-1=as published)')
DEFINE_SETTING('CAD', 0001, 'WEB_PRSSYS', 'fg_planforcecolor' , 'number' , '-1' , 'Plan forced color (-1=as published, future use)')
DEFINE_SETTING('CAD', 0001, 'WEB_PRSSYS', 'fg_papercolorcpt' , 'number' , '13684944' , 'Background color for concept drawings')
DEFINE_SETTING('CAD', 0001, 'WEB_PRSSYS', 'fg_publiclayers' , 'array' , '' , 'Discipline keys for layers to be visible even without WEB_INSUSE authorisation')
DEFINE_SETTING('CAD', 0001, 'WEB_PRSSYS', 'fg_symbolweight' , 'number' , '60' , 'Linewidth for symbols (mm)')
@@ -390,7 +419,7 @@ DEFINE_SETTING('CAD', 0001, 'WEB_PRSSYS', 'fg_dwfviewer_installed'
DEFINE_SETTING('CAD', 0001, 'WEB_PRSSYS', 'cad_symbols_snap' , 'number' , '1' , 'Snap objects to grid (grid in mm), <1=off')
DEFINE_SETTING('CHT', 0001, 'WEB_PRSSYS', 'cht_bo_naam' , 'number' , '0' , 'Toon naam van servicedesk medewerker 0=eigen naam 1=algemene term')
DEFINE_SETTING('CNT', 0001, 'WEB_PRSSYS', 'cnt_all_kostenplaats' , 'number' , '0' , 'show all (1) active kostenplaats values or only the one i have mandate for (0) in list')
DEFINE_SETTING('CNT', 0001, 'WEB_PRSSYS', 'cnt_approval_all' , 'number' , '0' , 'Goedkeuring contract vereist t.o.v. eerstvolgende limiet (=0 default) of t.o.v. totale kosten (in <EFBFBD><EFBFBD>n keer)(=1)')
DEFINE_SETTING('CNT', 0001, 'WEB_PRSSYS', 'cnt_approval_all' , 'number' , '0' , 'Goedkeuring contract vereist t.o.v. eerstvolgende limiet (=0 default) of t.o.v. totale kosten (in n keer)(=1)')
DEFINE_SETTING('CNT', 0001, 'WEB_PRSSYS', 'cnt_contract_approval' , 'number' , '0' , 'Het contract approval mechanisme is wel (=1) of niet (=0) ingeschakeld')
DEFINE_SETTING('CNT', 0001, 'WEB_PRSSYS', 'cnt_contract_limit3' , 'number' , '125000' , 'De derde limiet van het contract approval mechanisme')
DEFINE_SETTING('CNT', 0001, 'WEB_PRSSYS', 'cnt_contract_limit2' , 'number' , '5000' , 'De tweede limiet van het contract approval mechanisme')
@@ -412,12 +441,13 @@ DEFINE_SETTING('CNT', 0001, 'WEB_PRSSYS', 'cnt_grace_period'
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'ProxyServerIPAddress' , 'string' , NULL , 'For webserver to reach outside world')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'interface_toggles' , 'number' , '1' , 'To keep track of the interface that is being used')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'ReplyAddress' , 'string' , '' , 'ReplyTo Address when e-mailing manually')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'fin_replyaddress' , 'string' , '' , 'Financial ReplyTo Address when e-mailing manually')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'anonymize_period' , 'number' , '365' , 'Period before data will be [GDPR] anonymized (days)')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'anonymize_mode' , 'number' , '13' , 'Data that will be [GDPR] anonymized (0=nothing, 1=tracking,2=notes,4=flexproperties,8=descriptions)')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'datapurge_period' , 'number' , '99' , 'Period (years) to keep dynamic data stored in database. Older data wil be permanently purged')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'aut_login_strip_domain' , 'number' , '1' , 'Strip AD domain from login name { 0=no, 1=yes (default) } (Future use)')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'auth_edit_advanced' , 'boolean' , 'false' , 'Start autorisation popup dialog in advanced mode')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'buttons_in_hamburger' , 'array' , 'fa-print,fa-envelope,fa-table,fa-fclt-refresh,fa-columns,fa-share-square', 'Hide these frameheader buttons behind a hamburger.')
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', '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')
@@ -460,11 +490,12 @@ DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'flexFilesOrdering'
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'helppage_url' , 'string' , 'https://help.facilitor.nl/fac_wrapper.php', 'Helppage')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'iconcolumns' , 'number' , '6' , 'number of columns in an iconmenu page.')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'inline_actions_hamburger' , 'number' , '0' , 'Use a hamburger-icon to view the inline actions {0=No | 1=Yes, onClick | 2=Yes, onMouseOver}')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'inline_actions_mld' , 'number' , '1' , 'Show inline actions in MLD-list {0=No | 1=Yes}')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'inline_actions_mld' , 'number' , '1' , 'Show inline actions in MLD-list {0=No | 1=Yes | 2=Yes, but suppress in embedded lists}')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'kosten_klant_default' , 'number' , '1' , 'initial status of kosten klant checkbox { 0 - unchecked | 1 - checked }')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'login_remember_days' , 'number' , '30' , 'Days to remember login. { 0 disable }')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'login_use_email' , 'number' , '0' , 'use email to check user authentication { 0 - use oslogin | 1 - use email }')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'login_use_email' , 'number' , '0' , 'Add users to the _Default authorisation group when ''Login'' { 1 = Or ''E-mail'' } is filled out')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'logoff_return_url' , 'string' , '../../' , 'Return url to go to after log off')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'max_horizontal_blocks' , 'number' , '3' , 'Max. horizontal blocks in detail-frames')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'max_tracking_length' , 'number' , '30' , 'Max. displayed length of single value in a tracking line, longer values are summarized')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'menu_collapse_threshold' , 'number' , '5' , 'Max number menugroups in a tab before we will collapse')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'menu_photo_size' , 'string' , 'r512x512' , 'Resize uploads to this maximum MENU photo size. Ex: r200x150')
@@ -480,8 +511,9 @@ DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'mobile_position_required'
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'note_collapsed' , 'number' , '1' , 'Notes overview collapsed/fold up (=1 default) or unfold (=0)')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'note_autocollapse' , 'string' , '' , 'Regexp note text that will allways start collapsed in note overviews (for technical system notes)')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'note_sort_ascending' , 'number' , '0' , 'Ordering of notes for FO and BO in note overviews {0 = descending | 1 = ascending}')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'note_draft_history_days' , 'number' , '30' , 'Save drafts of notes for this many days (-1 = do not save)')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'portalmenu_combine_single' , 'number' , '0' , '0: default, 1:If a portalmenukop consists of 1 item, should the image be moved in between the menukop and the menuitem? 2:only header')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'portalmenucols' , 'number' , '2' , 'Number of columns in portal menu')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'portalmenucols' , 'number' , '3' , 'Number of columns in portal menu')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'portalmenulines' , 'number' , '5' , 'Max. number of lines in portalmenu (incl. "More..."')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'portalmsgmax' , 'number' , '5' , 'Max. number of messages in messages frame {-1=unlimited | n=limit to n most recent messages | 0=no messages}')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'portalnewslength' , 'number' , '96' , 'Max. length of a line in statusinfo frame for hyperlinked messages {0..512}')
@@ -516,23 +548,33 @@ DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'submenu_open_delay'
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'timepickercolumns' , 'number' , '4' , 'Nr of columns for timepicker (increase for long days or short intervals)')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'udr_graph_colors1' , 'string' , '[''#003478'',''#6685ae'',''#e37b00'',''#0b94f9'',''#81ce58'',''#f3d736'',''#acaa65'',''#a222c4'',''#5b9bc3'',''#1c40eb'',''#037011'',''#d192e7'',''#f88625'',''#93b89f'',''#bf6b87'',''#a2b41a'',''#f76979'',''#f41181'',''#73eb59'',''#32d1d0'',''#a00bed'',''#66fe6b'',''#b94d5b'']' , 'Color used for single bar /line graphs (string!)')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'udr_graph_colors2' , 'string' , '[''#003478'',''#6685ae'',''#e37b00'',''#0b94f9'',''#81ce58'',''#f3d736'',''#acaa65'',''#a222c4'',''#5b9bc3'',''#1c40eb'',''#037011'',''#d192e7'',''#f88625'',''#93b89f'',''#bf6b87'',''#a2b41a'',''#f76979'',''#f41181'',''#73eb59'',''#32d1d0'',''#a00bed'',''#66fe6b'',''#b94d5b'']' , 'Colors used for stacked bar /line graphs (string!)')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'udr_graph_default_json' , 'string' , '' , 'Default json options for report graphs (string!)')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'udr_graph_bar_json' , 'string' , '' , 'Default json options for report graphs bar (string!)')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'udr_graph_gauge_json' , 'string' , '' , 'Default json options for report graphs gauge (string!)')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'udr_graph_pie_json' , 'string' , '' , 'Default json options for report graphs pie (string!)')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'udr_graph_line_json' , 'string' , '' , 'Default json options for report graphs line (string!)')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'udr_graph_block_json' , 'string' , '' , 'Default json options for report graphs block (string!)')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'udr_graph_gauge_colors' , 'string' , '[''#CC6666'', ''#E7E658'', ''#66CC66'']' , 'Colors being used for gaugemeter charts (string!)')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'udr_graph_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_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_FACFAC', 'ai_apikey' , 'string' , 'CCV3nRxb3ohPwxlwPQBjGFWqDSPTilfLHjsfhGBRjOEmlfgRtRzwJQQJ99AKACfhMk5XJ3w3AAABACOG7TGx', 'APIKEY for AI services')
DEFINE_SETTING('MSG', 0001, 'WEB_PRSSYS', 'msg_photo_size' , 'string' , 'r512x512' , 'Resize uploads to this maximum MSG photo size. Ex: r200x150')
DEFINE_SETTING('MSG', 0001, 'WEB_PRSSYS', 'msg_max_history' , 'number' , '30' , 'Show messages no longer than msg_max_history days ago')
DEFINE_SETTING('FAQ', 0001, 'WEB_PRSSYS', 'faq_kennisbank_popup' , 'number' , '3' , 'Show kennisbank popup {0=no | 01=1=FE | 10=2=FO | 11=3=FE+FO}')
DEFINE_SETTING('FAQ', 0001, 'WEB_PRSSYS', 'faq_max_results' , 'number' , '25' , 'Limit the FAQ results to this number')
DEFINE_SETTING('FAQ', 0001, 'WEB_PRSSYS', 'faq_max_results_mld' , 'number' , '0' , 'Initial number of faq items when editing an issue. 0 = show all.')
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}')
DEFINE_SETTING('FIN', 0001, 'WEB_PRSSYS', 'fin_enable_goedkeuren' , 'number' , '0' , 'Is it possible to validate (''goedkeuren'') an invoice {0=validation unavailable | 1=validation optional | 2=validation required}')
DEFINE_SETTING('FIN', 0001, 'WEB_PRSSYS', 'fin_enable_kostensoort' , 'number' , '1' , 'can factuur kostensoort be changed?')
DEFINE_SETTING('FIN', 0001, 'WEB_PRSSYS', 'fin_factuur_flags' , 'number' , '0' , 'Number of flags that can be defined on invoices. Max 10')
DEFINE_SETTING('FIN', 0001, 'WEB_PRSSYS', 'fin_factuur_flags_list_usage' , 'number' , '0' , 'Set rights that readonly can/cannot edit markings (bolletjes) toe {0=no | 1=yes}')
DEFINE_SETTING('FIN', 0001, 'WEB_PRSSYS', 'fin_factuur_verlegdmode' , 'number' , '0' , 'Use and validation of field fin_factuur_gbedrag: {0=field invisible | &1=visible and enterable | &2=required if invoicelines has a shifted VAT-value | &4=all invoicelines must have shifted VAT-value or must have standard VAT values (=not shifted)}')
DEFINE_SETTING('FIN', 0001, 'WEB_PRSSYS', 'fin_kostensoort_verplicht' , 'number' , '0' , 'Is kostensoort required? {0=not required | 1=required}')
DEFINE_SETTING('FIN', 0001, 'WEB_PRSSYS', 'fin_match_lowerlimit' , 'number' , '0' , 'Check lowerlimit also for matching {0=Only upperlimit (invoice<order+tolerance | 1=Upper and lowerlimit (order-tolerance<invoice<order+tolerance)}')
@@ -548,7 +590,7 @@ DEFINE_SETTING('INS', 0001, 'WEB_PRSSYS', 'ins_attach_obj_cntpers'
DEFINE_SETTING('INS', 0001, 'WEB_PRSSYS', 'ins_auth_obj_lendout' , 'number' , '0' , 'Authorization scope for objects which are lent out for lending registration (INSFOF/fo) {0=owner(borrower) (default) | 1=basic place/owner}')
DEFINE_SETTING('INS', 0001, 'WEB_PRSSYS', 'ins_can_edit_own_objects' , 'number' , '0' , 'Owner can edit objects {0|1, default 0}')
DEFINE_SETTING('INS', 0001, 'WEB_PRSSYS', 'ins_element_description' , 'string' , '' , 'SQL voor de objectomschrijving achter de "heeft betrekking op" knop voor het selecteren van elementen')
DEFINE_SETTING('INS', 0001, 'WEB_PRSSYS', 'ins_explode_objects' , 'number' , '1' , 'Explode the nummer of (new) object {0=no | 1=yes (default) | 2=choice: default no | choice: default yes}')
DEFINE_SETTING('INS', 0001, 'WEB_PRSSYS', 'ins_explode_objects' , 'number' , '1' , 'Explode the nummer of (new) object {0=no | 1=yes (default) | 2=choice: default no | 3=choice: default yes}')
DEFINE_SETTING('INS', 0001, 'WEB_PRSSYS', 'ins_fg_remote_maps' , 'string' , '' , 'API Key. if not empty use Google Maps instead of FG if x,y coordinates of an object are available')
DEFINE_SETTING('INS', 0001, 'WEB_PRSSYS', 'ins_flex_uitgifte_empty' , 'number' , '0' , 'Flexvelden die geen meetwaarden zijn leeg maken bij uitgifte {0=no (default) | 1=yes}')
DEFINE_SETTING('INS', 0001, 'WEB_PRSSYS', 'ins_inspect_service_depend' , 'number' , '0' , 'Company depends on the {0=servicecompanylocation {default} 1=contract scope 2=both}')
@@ -560,6 +602,8 @@ DEFINE_SETTING('INS', 0001, 'WEB_PRSSYS', 'ins_srtdeelsuggest_info'
DEFINE_SETTING('INS', 0001, 'WEB_PRSSYS', 'ins_state_history' , 'number' , '30' , 'Number of days to keep ins_deel_state_history records')
DEFINE_SETTING('INS', 0001, 'WEB_PRSSYS', 'ins_deel_flags' , 'number' , '0' , 'Number of flags that can be defined on objects. Max 10')
DEFINE_SETTING('INS', 0001, 'WEB_PRSSYS', 'ins_nr_separator' , 'string' , '' , 'Separator between prefix and number for ranges of objectcodes that are numbered automatically')
DEFINE_SETTING('INS', 0001, 'WEB_PRSSYS', 'ins_related_diagram_depth_min' , 'number' , '1' , 'The related objects diagram shows objects of this many levels back')
DEFINE_SETTING('INS', 0001, 'WEB_PRSSYS', 'ins_related_diagram_depth_max' , 'number' , '2' , 'The related objects diagram shows objects of this many levels forward')
DEFINE_SETTING('INS', 0001, 'WEB_PRSSYS', 'mjb_freeze_year' , 'number' , '2023' , 'Frozen (approved/activated) year of Preventive Maintenance (MJOB)')
DEFINE_SETTING('INS', 0001, 'WEB_PRSSYS', 'mjb_inflation' , 'float' , '0' , 'Default annual inflation rate (%) for Preventive Maintenance (MJOB)')
DEFINE_SETTING('INS', 0001, 'WEB_PRSSYS', 'mjb_operation_external' , 'number' , '0' , 'Operational handling of Preventive Maintenance (MJOB) tasks {0=internal | 1=external}')
@@ -579,17 +623,20 @@ DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_add_mldopmerk_on_opdrclose'
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_afhandeling_required_for_close' , 'number' , '0' , 'Het veld afhandeling verplicht bij het afmelden van een melding (0=no, 1=yes)')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_afhandeling_restrict_edit' , 'number' , '0' , 'Het veld afhandeling alleen in te vullen bij afmelden/afwijzen (0=no, 1=yes)')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_afmelden_extern' , 'number' , '0' , 'Are external orders visible and/or changeble by ORDBO2 (0=not visible | 1=visible for ORDBO2 | 2=visible and changeble by ORDBO2)')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_afmelden_popup_for_all_km' , 'number' , '0' , 'Toon afmeldkenmerken in het opdracht-afmeld-scherm (0=Alleen ontbrekende verplichte kenmerken | 1=Ja, allemaal')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_afrond_canflex' , 'boolean' , 'false' , 'Change flex of completed issue with MLDAFR ')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_afrond_canremark' , 'boolean' , 'false' , 'Change remark of completed issue with MLDAFR ')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_allow_for_others' , 'number' , '0' , 'Can i make calls for others ? {0=no | 1=yes | 2=yes, initial empty}')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_allow_parentmelding' , 'number' , '0' , 'Allow attaching a call to another manually (0=not | 1=allow without orders | 2=allow with closed orders')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_archive_by_gui' , 'boolean' , 'false' , 'Can a call be archived by a button (true) or just by export (false)')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_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)')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_can_change_prio_and_place_while_issued', 'boolean' , 'false' , 'Allow to change [prio] and [place] while issue is issued')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_can_reopen_call' , 'number' , '0' , 'Calls can be reopened {0=no(default) | 1=yes }')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_can_reopen_call' , 'number' , '0' , 'Calls can be reopened {0=no(default), +1=Yes Issuer, +2=Yes FO/BO, +4=By WEB_MLDREO authorisation}')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_clear_on_close' , 'number' , '0' , 'Clear when closing call (0=just close call | +1=reset attention, +2=reset Assigned to, +4=reset Back office groups, +8=reset Processor)')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_close_noti_default_off' , 'number' , '0' , 'Checkbox [melder notificeren] at cancel is default off (0=no interference, 1=default off)')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_close_opdr_default' , 'number' , '0' , 'De checkbox met de vraag of de open opdrachten ook afgemeld moeten worden is standaard niet(0=default) of wel(1) aangevinkt')
@@ -597,9 +644,8 @@ DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_close_ctr_default'
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_continue_edit_issuer' , 'boolean' , 'false' , '[DEPRECATED] Edit the issuer false= (default) of a continued complain')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_copy_objects_in_workflow' , 'number' , '0' , 'Copy object-references to the next step in workflow (0=do not copy | 1=copy)')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_disable_continuation' , 'boolean' , 'false' , 'Disable creating continuation calls { false | true }')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_edit_layout' , 'number' , '0' , '[DEPRECATED] Layout of mld edit screen {0=stdmelding first (default)| 1=place first}')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_properties_order' , 'number' , '0' , '[DEPRECATED] Positie van de kenmerken bij een melding {0=voor het omschrijving blok (default) | 1=na het omschrijving blok}')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_layout' , 'array' , 'A,B,C,D,E,F,G,H,I,J,K' , 'De volgorde van de blokken in het meldingen scherm' || CHR(10) || 'A: Aanvrager' || CHR(10) || 'B: Categorie' || CHR(10) || 'C: Plaats' || CHR(10) || 'D: Afleveradres' || CHR(10) || 'E: Behandeling' || CHR(10) || 'F: Actieve behandeling' || CHR(10) || 'G: Kennisbank' || CHR(10) || 'H: Heeft betrekking op' || CHR(10) || 'I: Aanvullende gegevens' || CHR(10) || 'J: Omschrijving' || CHR(10) || 'K: Afhandeling')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_afmeldtekst_compact_threshold' , 'number' , '10' , 'Threshold for compact view of closing texts into a single dropdown')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_enable_workflow' , 'number' , '1' , 'enable workflow in call handling {0=workflow disabled | 1=workflow enabled }')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_endate_ordbo2' , 'number' , '1' , 'Enddate can be editted by MLDORD/ORDBO2 {0=no | 1=yes (default)}')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_enforce_orderdates' , 'number' , '0' , 'Enforce order start/ending dates to be within call start/ending dates')
@@ -608,7 +654,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}')
@@ -620,9 +666,9 @@ DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_listagg_object_count'
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_locked_expire' , 'number' , '30' , 'Minutes after which edit-lock automatically released')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_max_history' , 'number' , '0' , 'Show calls and orders not longer then mld_max_history days ago (FE/FO/BO) ((mld_max_history <= 0) : show all finished calls and orders (default))')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_max_kosten_extern' , 'float' , '9999999' , 'limit order amount to be entered by external handlers')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_melding_actiecode' , 'number' , '1' , 'Use active backoffice/frontend flow')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_opdr_actiecode' , 'number' , '0' , 'Use active backoffice/contractor flow')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_opdr_actiecode' , 'number' , '0' , 'Use active backoffice/contractor flow {0=no default | 1=yes | 2=yes, but immutable through notes}')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_melding_autoprint' , 'number' , '0' , 'auto print melding form after insert by FO 2=unconditionally print complain | 1=print if ask_for_orders=0 | 0=no print')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_melding_oms_maxlen' , 'number' , '4000' , 'Maximum length of issue description')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_melding_close' , 'number' , '0' , 'Can close complain with orders in complain overview window without seeing complain details? {0=yes default | 1=no}')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_melding_flags' , 'number' , '0' , 'Number of flags fo/bo can define on complaint. Max 10')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_melding_recent' , 'number' , '60' , 'Tijdsinterval voor de recente wijzigingen in minuten')
@@ -638,18 +684,21 @@ DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_num_prefix_mode'
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_object_filled_in_alert' , 'number' , '1' , '{0=geen, 1=wel} alert tonen als er automatisch een object wordt ingevuld bij een melding.')
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 <EFBFBD><EFBFBD>n keer)(=1)')
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}')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_opdr_confirm_for_send' , 'number' , '0' , 'Ask confirmation before sending an e-Order to a supplier (0=do not ask| 1=ask)')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_opdr_ignore_caller_profile' , 'number' , '0' , 'Ignore profile of caller in approving process {0=No (default) | 1=Yes}')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_opdr_kpg_fin_limit2' , 'number' , '100000' , 'De tweede kpg limiet van het opdracht fiattering mechanisme')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_opdr_kpg_fin_limit1' , 'number' , '15000' , 'De eerste kpg limiet van het opdracht fiattering mechanisme')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_opdr_pref_contractors_only' , 'boolean' , 'false' , 'Show only preferred contractors (true) or all contractors (false)')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_opdr_pref_contractors_only' , 'number' , '0' , 'Show only preferred contractors (=1), all contractors (=0), or all contractors only for offers (=2)')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_opdr_refiat_preference' , 'number' , '0' , 'Bij herfiattering opnieuw fiatteren {0=(default) fiatteur moet opnieuw fiatteren, 1=goedkeurder kan aangeven of dat moet}')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_opdr_reapproval_rate' , 'float' , '-1' , 'Re-approval rate (%) {-1 = based on profile-limit (default) | >=0 }')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_opdr_sel_intern_uitv' , 'number' , '0' , 'Internal contractors can be selected for all services {0=no (default) | 1=Yes}')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_opdr_show_requestor_in_list' , 'number' , '1' , 'Show requestor (melder) column in opdr search list {0=no | 1=print only | 2=view only | 3=both}')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_opdr_costs_readonly_after_rfc' , 'number' , '0' , 'Cost fields of follow-up orders become readonly for suppliers when issued {0=no (default) | 1=yes}')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_opdr_note_default_notifyBO' , 'number' , '0' , 'Default value for "Behandelaar hierover notificeren" for order-notes {0=off(default) | &1; on | &2; immutable & hidden}')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_opdracht_flags' , 'number' , '0' , 'Number of flags fo/bo can define for orders. Max 10')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_opdracht_recent' , 'number' , '60' , 'Tijdsinterval voor de recente opdracht wijzigingen in minuten')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_ord_afmeld_future' , 'number' , '1' , 'Opdracht einddatum niet controleren bij afmelden {0=opdracht einddatum mag niet in de toekomst liggen, 1=default niets controleren)')
@@ -659,8 +708,6 @@ DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_ord_flexsummary'
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_ord_show_kostenplaats' , 'number' , '1' , 'show kostenplaats field for orders {0=don''t show | 1=editable | 2=show}')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_ord_show_ordernr' , 'number' , '0' , 'show ordernr field for orders {0=don''t show(&use mld_melding_ordernr) | 1=show}')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_order_autoprint' , 'number' , '3' , 'When to autoprint orders {0=print new order for extern and intern | 1=print with any save | 2=print new order for extern | 3=never print}')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_orderlist_columns_compact' , 'number' , '34052' , 'Bitwise coding of columns to show (when relevant) in compact orders list')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_orderlist_columns_full' , 'number' , '49470' , 'Bitwise coding of columns to show (when relevant) in full orders list')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_performer_can_change_flags' , 'boolean' , 'false' , 'Executor can change the flags of his orders.')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_pgb_fiattering' , 'number' , '0' , 'Voor een opdracht is het algemene fiatteringsproces noodzakelijk naast PGB/AGB fiatering? {0=no | 1=yes}')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_photo_size' , 'string' , 'r512x512' , 'Resize uploads to this maximum MLD photo size. Ex: r200x150')
@@ -673,8 +720,8 @@ 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_order_details' , 'number' , '1' , '*Show remark in backoffice Orders Management {0=no | 1=yes}')
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}')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_show_urgent_as_new' , 'boolean' , 'false' , 'Show urgent calls as new calls')
@@ -687,7 +734,7 @@ DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_uren_more'
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_uren_omschrijving' , 'number' , '1' , 'Description to show with hour registration {1=melder | 2=vakgroep/stdmelding | 3=opdrachtomschrijving | 4=opdrachttype-melder}')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_uren_weeks_back' , 'number' , '8' , 'Show this number of weeks in the overview, ending at the selected date')
DEFINE_SETTING('MLD', 0000, 'WEB_PRSSYS', 'mld_use_department' , 'number' , '0' , 'MLD also registers a department. You can see MLD of your department scope and below (0=don''t use | 1=use)')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_use_order_approval' , 'number' , '0' , 'Approval mechanism is used for mld orders (0=disabled | 1=enabled)')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_use_order_approval' , 'number' , '0' , 'Approval (costcentre/fiattering) mechanism is used for mld orders (0=disabled | 1=enabled)')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_use_plandate2' , 'number' , '0' , '*Allow use of planned end date {0=no | 1=only show in list | 2=yes, but don''t show in list | 3=yes and show in list}')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_ord_edit_plandates' , 'number' , '1' , 'Edit plandates { 1=in order (default), 2=with buttons, 3=both }')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_workflow_set_defaults' , 'number' , '0' , 'Set defaults for flexkenmerken if they weren''t set by the predecessor (0=do not set | 1=set defaults)')
@@ -715,7 +762,7 @@ DEFINE_SETTING('PRS', 0001, 'WEB_PRSSYS', 'prs_approvemethod'
DEFINE_SETTING('PRS', 0001, 'WEB_PRSSYS', 'prs_bedrijf_leveranciernr_unique' , 'number' , '0' , 'leveranciernr or prs_bedrijf unique (1) or not unique (0)')
DEFINE_SETTING('PRS', 0001, 'WEB_PRSSYS', 'prs_collegas_used' , 'number' , '9' , 'Can FE users indicate collegues for replacement. Use value as autlevel scope: everything (-1) ... nothing (9=default)')
DEFINE_SETTING('PRS', 0001, 'WEB_PRSSYS', 'prs_default_kpn_empty' , 'number' , '0' , 'Costcentre always default empty {0=no | 1=yes}')
DEFINE_SETTING('PRS', 0001, 'WEB_PRSSYS', 'prs_dep_default_kpn' , 'number' , '5' , 'A user can make costs for his own department by default {0=no | 1=yes | 2=all departments of company | 4=personal}')
DEFINE_SETTING('PRS', 0001, 'WEB_PRSSYS', 'prs_dep_default_kpn' , 'number' , '5' , 'A user can make costs for his own department by default {0=no | 1=yes | 2=all departments of company | 4=personal | &8=only department cost centres | &16=only project cost centres | &32=only building cost centres }')
DEFINE_SETTING('PRS', 0001, 'WEB_PRSSYS', 'prs_dep_default_kpn_voor' , 'number' , '0' , 'Gebruik de kostenplaatsen van de prs_perslid_voor indien gezet samen met mld_allow_for_others/bes_allow_for_others')
DEFINE_SETTING('PRS', 0001, 'WEB_PRSSYS', 'prs_fof_show_belongings' , 'number' , '1' , '0=hide belongings, 1=show belongings')
DEFINE_SETTING('PRS', 0001, 'WEB_PRSSYS', 'prs_h' , 'float' , '0.25' , 'Employability time stepsize')
@@ -735,7 +782,7 @@ DEFINE_SETTING('RES', 0001, 'WEB_PRSSYS', 'res_lookhistory_days'
DEFINE_SETTING('RES', 0001, 'WEB_PRSSYS', 'res_is_closed_after_days' , 'number' , '0' , 'Days after which a reservation is considered closed')
DEFINE_SETTING('RES', 0001, 'WEB_PRSSYS', 'res_release_equipment_on_close' , 'number' , '0' , 'Propose to release reserved equipment when closing a reservation prematurely {0=no | 1=yes}')
DEFINE_SETTING('RES', 0001, 'WEB_PRSSYS', 'fac_xml_max_factuur' , 'number' , '500' , 'Maximum number of lines for invoice in sales-invoice node')
DEFINE_SETTING('RES', 0001, 'WEB_PRSSYS', 'res_247organisation' , 'number' , '0' , '24/7 organisation (1= weekends are working days 0= weekends are holidays)')
DEFINE_SETTING('RES', 0001, 'WEB_PRSSYS', 'res_247organisation' , 'number' , '0' , '24/7 organisation (0= weekends are holidays | 1= weekends are working days | 2= weekends are holidays STRICT)')
DEFINE_SETTING('RES', 0001, 'WEB_PRSSYS', 'res_allow_for_others' , 'number' , '1' , 'Can I make reservations for others ? {0=no | 1=yes}')
DEFINE_SETTING('RES', 0001, 'WEB_PRSSYS', 'res_allow_multi_cat' , 'boolean' , 'false' , 'Can catering be done on multi day reservation {false | true}')
DEFINE_SETTING('RES', 0001, 'WEB_PRSSYS', 'res_allow_undelete' , 'boolean' , 'false' , 'Deleted reservations can be undeleted {false | true}')
@@ -753,6 +800,7 @@ DEFINE_SETTING('RES', 0001, 'WEB_PRSSYS', 'res_cat_t2'
DEFINE_SETTING('RES', 0001, 'WEB_PRSSYS', 'res_cat_with_expired_room' , 'boolean' , 'false' , 'Can catering be edited when room is expired {false | true}')
DEFINE_SETTING('RES', 0001, 'WEB_PRSSYS', 'res_copy_all_time_frame' , 'number' , '0' , 'Can copy full reservation when all reservation parts within this number of days')
DEFINE_SETTING('RES', 0001, 'WEB_PRSSYS', 'res_copy_to_bez' , 'number' , '3' , 'Duplicate properties to visitors {0=none | 1=remark | 2=flex | 3=remark and flex | &4=at all changes}')
DEFINE_SETTING('RES', 0001, 'WEB_PRSSYS', 'res_copy_flag' , 'number' , '1' , 'Copy status flag from current reservation {0=No | 1=Yes (default)}')
DEFINE_SETTING('RES', 0001, 'WEB_PRSSYS', 'res_default_CVAB_mode' , 'number' , '1' , '0 (00)=Te kiezen&default Afhalen, 1 (01)=Te kiezen, default Bezorgen (default), 2 (10)=Vast &default Afhalen 3 (11)=Vast, default Bezorgen')
DEFINE_SETTING('RES', 0001, 'WEB_PRSSYS', 'res_default_alg_ruimte_key' , 'number' , '-1' , 'Standard roomkey for catering')
DEFINE_SETTING('RES', 0001, 'WEB_PRSSYS', 'res_default_fe_status_key' , 'number' , '2' , '(5i)Default reservation status for FE (1=optie, 2=definitief)')
@@ -812,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')
@@ -824,12 +873,15 @@ DEFINE_SETTING('PUO', 0000, 'WEB_FACTAB', 'puo_uid' , 'string
DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'bdradrfiles_path' , 'string' , NULL , 'Technische adressen bijlagen folder')
DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_apppushurl' , 'string' , '' , 'URL for pushing APP1 notifications')
DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_app2pushurl' , 'string' , 'https://fcm.googleapis.com/fcm/send' , 'URL for pushing APP2 notifications')
DEFINE_SETTING('PUO', 0000, 'WEB_FACFAC', 'puo_app2secret' , 'string' , 'AAAACkskZvA:APA91bGv1P1_0myDdm9_wEj22f5PDjD3XrO_7X7o6Eok93wHNlXuGPMyl-bK508zc5-mdDjwIZPpamSmDDa6ykIJulcJGkJ3lZnJ-ngx-Cak-lzoL_-gWTb5GFvUDvFg5hnP1MNG1-SG', 'Push secret for APP2 notifications')
DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_app2pushurl' , 'string' , 'https://fcm.googleapis.com/v1/projects/facilitor-165209/messages:send' , 'URL for pushing APP2 notifications')
DEFINE_SETTING('PUO', 0000, 'WEB_FACFAC', 'puo_app2secret' , 'string' , '#included in next line', 'Google JSONKey secret for APP2 notifications')
UPDATE tmp_set
SET fac_setting_default = '
#include "facilitor-165209-firebase-adminsdk-xts0z-042cb975b9.json"
' WHERE fac_setting_name = 'puo_app2secret';
DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_bcc' , 'string' , '' , 'Blind copy email address for ORDERS only')
DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_cc' , 'string' , '' , 'Copy email address for ORDERS only')
DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_connectionflag' , 'number' , '0' , 'INTERNET_FLAG_PASSIVE = 0x8000000, else = 0')
DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_custorders' , 'boolean' , 'false' , 'true = use customer orderqueue')
DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_emergencymailaddress' , 'string' , '' , 'E-mail address for system notifications')
DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_failalert_threshold' , 'number' , '240' , 'Minimum minutes after first failed send-attempts before an alert is sent to the (PRSSYS) application manager(s)')
DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_faildelayincrement' , 'number' , '10' , 'Delay retry of failed orders up to failures*10 minutes')
@@ -838,7 +890,7 @@ DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_failextralogging' , 'number
DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_faillimit' , 'number' , '336' , 'After this time (hours) stop trying failed orders')
DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_fclt_web_apikey' , 'string' , '' , 'Putorders APIKEY to the Facilitor software')
DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_fclt_web_url' , 'string' , '' , 'Url to the Facilitor software (webserver internal address)')
DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_flags' , 'number' , '255' , '+1=send notifications, +2=send orders, +4=all orders Immediate')
DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_flags' , 'number' , '255' , '+1=send notifications to people, +2=send orders to technical addresses')
DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_forceapppushtoken' , 'string' , '' , 'Force this pushtoken for test purposes')
DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_forcefromaddress' , 'string' , '' , 'Force the from and reply address for test purposes eg john@example.com')
DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_forcemailaddress' , 'string' , '' , 'Force this email address for test purposes eg john@example.com')
@@ -849,10 +901,11 @@ DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_forceallowedgroep' , 'string
DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_fromaddress' , 'string' , '' , 'The fixed From address for Facilitor orders')
DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_logdestination' , 'number' , '1' , 'Where to log: 1=detailed file, 2=csv file, 3=both')
DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_loglevel' , 'number' , '1' , 'Level of logging (0-3) for troubleshooting purposes')
DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_schedule_putorders' , 'number' , '0' , 'Force putorders run at least every ## minutes even with empty queue (for pre_putorders)')
DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_mailbodycharset' , 'string' , 'unicode-1-1-utf-8' , 'Putorders e-mail charset')
DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_notificationinmailbody' , 'boolean' , 'true' , 'false = as attachments, true = in body (deprecated)')
DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_notificationxsl' , 'string' , '' , 'stylesheet to be applied for notifications')
DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_order_flexfiles' , 'number' , '0' , 'Include flexfiles with sent orders (deprecated, use technical address)')
DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_order_flexfiles' , 'number' , '0' , 'System default for attachments with orders as defined in the technical address (0=don''t send, 1=attach))')
DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_proxyserveripaddress' , 'string' , '127.0.0.1:8888' , 'Proxy Server IP Address, only used when UseProxy = true')
DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_receiptto' , 'string' , '' , 'Address to send the receipt confirmation to for ORDERS only')
DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_receivetimeout' , 'number' , '30' , 'Default receive timeout for http-communication. Increase for slow servers')
@@ -864,7 +917,7 @@ DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_sendusername' , 'string
DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_sendusing' , 'number' , '2' , '1=cdoSendUsingPickup (IIS SMTP Service must be installed), 2=cdoSendUsingPort')
DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_smsaccount' , 'string' , '' , 'SMS email address for protocol SMTP')
DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_smsprotocol' , 'string' , 'HTTP' , 'HTTP or SMTP(*)')
DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_smsprovider' , 'number' , '0' , '0=wireless-services.nl, 1=Aareon.nl')
DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_smsprovider' , 'number' , '0' , '0=unused, 1=aareon.nl')
DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_smtpauthenticate' , 'number' , '0' , 'Authentication when sendusing cdoSendUsingPort 0=cdoAnonymous, 1=cdoBasic, 2=cdoNTLM')
DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_smtpconnectiontimeout' , 'number' , '30' , 'SMTP timeout in seconds (future use)')
DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_smtpserver' , 'string' , 'localhost' , 'Server when sendusing cdoSendUsingPort')
@@ -879,8 +932,11 @@ 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')
DEFINE_SETTING('PUO', 0001, 'WEB_PRSSYS', 'puo_subjectprefixmld' , 'string' , 'Facilitor opdracht: Opdracht nr.' , 'Mail subject prefix for MLD orders')
DEFINE_SETTING('PUO', 0000, 'WEB_FACFAC', 'puo_chilkat_secret' , 'string' , 'AAREON.CB1062021_zK6SGtth69oK' , 'Facilitor Chilkat licence')

View File

@@ -621,6 +621,8 @@ CREATE_TABLE(fac_notificatie, 0)
fac_srtnotificatie_key
NUMBER(10)
REFERENCES fac_srtnotificatie(fac_srtnotificatie_key) ON DELETE CASCADE,
fac_notificatie_naam -- puur informatief voor logging/support, bijvoorbeeld opdrachtnummer
VARCHAR(80),
fac_notificatie_status
NUMBER(3)
NOT_NULL(fac_notificatie_status, fac_c_fac_notificatie_status),
@@ -670,7 +672,13 @@ CREATE_TABLE(fac_notificatie, 0)
DEFAULT SYSDATE NOT NULL,
fac_notificatie_failcount
NUMBER(10)
DEFAULT 0 NOT NULL
DEFAULT 0 NOT NULL,
fac_notificatie_failmessage /* de laatste failmessage, rest zoek je maar in Putorders logging */
VARCHAR(4000),
fac_notificatie_faildatum // de laatste
DATE,
fac_notificatie_realuser
VARCHAR2(64)
);
/* Welke notificatiejobs bestaan er
* Vermelding hierin veroorzaakt periodieke notificaties
@@ -709,7 +717,10 @@ CREATE_TABLE(fac_notificatie_job, 0)
fac_notificatie_job_nextrun
DATE,
fac_notificatie_job_lastrun
DATE
DATE,
fac_usrrap_key
NUMBER(10)
REFERENCES fac_usrrap(fac_usrrap_key) ON DELETE CASCADE
, CONSTRAINT fac_c_notificatie_job1 CHECK((fac_notificatie_job_interval IS NOT NULL AND fac_notificatie_job_seconds IS NULL) OR (fac_notificatie_job_interval IS NULL AND fac_notificatie_job_seconds IS NOT NULL))
);
/* Welke importapps bestaan er */
@@ -749,8 +760,8 @@ CREATE_TABLE(fac_import_app, 0)
VARCHAR(32),
fac_import_app_loglevel
NUMBER(1) DEFAULT 0 NOT NULL,
fac_import_app_action
VARCHAR(320) DEFAULT 'ORACLE' NOT NULL
fac_import_app_csv
NUMBER(1) DEFAULT 0 NOT NULL
);
/* Uitgevoerde importjobs */
@@ -862,7 +873,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
@@ -1066,12 +1077,15 @@ CREATE_TABLE(fac_imp_mld, 0)
, mld_stdmelding_omschrijving VARCHAR2(60)
, mld_stdmelding_groep VARCHAR2(30)
, mld_stdmelding_kostensoort VARCHAR2(60)
, mld_stdmelding_urgentie VARCHAR2(6)
, mld_stdmelding_uitvoertijd NUMBER(3)
, mld_stdmelding_accepttijd NUMBER(12,5)
, mld_stdmelding_accepttijd1 NUMBER(12,5)
, mld_stdmelding_accepttijd2 NUMBER(12,5)
, mld_stdmelding_accepttijd4 NUMBER(12,5)
, mld_stdmelding_uitvoertijd NUMBER(12,5)
, mld_stdmelding_uitvoertijd1 NUMBER(12,5)
, mld_stdmelding_uitvoertijd2 NUMBER(12,5)
, mld_stdmelding_uitvoertijd4 NUMBER(12,5)
, mld_discipline_directklaar NUMBER(1)
, mld_stdmelding_uitvoertijd1 NUMBER(3)
, mld_stdmelding_uitvoertijd2 NUMBER(3)
, mld_stdmelding_uitvoertijd4 NUMBER(3)
, prs_dienst VARCHAR2(60)
, mld_stdmelding_notfrontend VARCHAR2(1)
, alg_onrgoed_niveau VARCHAR2(1)
@@ -1177,9 +1191,9 @@ CREATE_TABLE(fac_imp_perslid, 0)
,prs_perslid_telefoonnr VARCHAR2 (20)
,prs_perslid_mobiel VARCHAR2 (20)
,prs_perslid_email VARCHAR2 (200)
,prs_srtperslid_omschrijving VARCHAR2 (60)
,prs_srtperslid_omschrijving VARCHAR2 (100)
,prs_perslid_nr VARCHAR2 (16)
,prs_perslid_oslogin VARCHAR2 (30)
,prs_perslid_oslogin VARCHAR2 (256)
,prs_perslid_wachtwoord VARCHAR2 (30)
,prs_perslid_partner_naam VARCHAR2(60)
,prs_perslid_partner_tussenv VARCHAR2(15)
@@ -1260,6 +1274,8 @@ CREATE_TABLE(fac_imp_ins, 0)
,ins_deel_vervaldatum DATE
,ins_deel_aantal NUMBER(8,2) DEFAULT(0) NOT NULL
,ins_deel_externnr VARCHAR2(256)
,ins_srtdeel_omschr_parent VARCHAR2 (100)
,ins_deel_omschr_parent VARCHAR2 (60)
);
CREATE_TABLE(fac_imp_sle, 0)
@@ -1368,10 +1384,10 @@ CREATE_TABLE(fac_imp_ext_bedrijf, 0)
prs_bedrijf_huurder NUMBER (1),
prs_bedrijf_ingids NUMBER (1),
prs_bedrijf_uurloon NUMBER (6, 2),
prs_overeenkomst_nr VARCHAR2 (20),
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),
@@ -1394,11 +1410,12 @@ CREATE_TABLE(fac_imp_bedrijfadres, 0)
prs_bedrijfadres_xsl VARCHAR2 (256),
prs_bedrijfadres_ext VARCHAR2 (10),
prs_bedrijfadres_attachfile VARCHAR2 (256),
prs_bedrijfadres_username VARCHAR2 (32),
prs_bedrijfadres_username VARCHAR2 (128),
prs_bedrijfadres_password VARCHAR2 (320),
prs_bedrijfadres_plugin VARCHAR2 (320),
prs_bedrijfadres_plugindata VARCHAR2 (4000),
prs_bedrijfadres_sender VARCHAR2 (512),
prs_bedrijfadres_replyaddress VARCHAR2 (512),
prs_bedrijfadres_lockuser_key NUMBER (10),
prs_bedrijfadres_lockexpire NUMBER (10)
);
@@ -1430,6 +1447,29 @@ CREATE_TABLE(fac_imp_oprognose, 0) (
VARCHAR2(128)
);
CREATE_TABLE(fac_imp_taak_mjob, 0)
( ins_deel_key NUMBER(10)
, ctr_discipline_key NUMBER(10)
, ismjob NUMBER(1)
, ins_srtcontrole_omschrijving VARCHAR2(60)
, ins_srtcontrole_key NUMBER(10)
, ins_srtcontrole_opmerking VARCHAR2(320)
, ins_srtcontrole_groep VARCHAR2(60)
, ins_srtcontrole_prioriteit NUMBER(3)
, fin_btwtabelwaarde_key NUMBER(10)
, prs_kostenplaats_key NUMBER(10)
, ins_srtcontroledl_xcp_aantal NUMBER(8,2)
, ins_srtcontroledl_xcp_aanteh VARCHAR2(30)
, ins_srtcontroledl_xcp_perc NUMBER(3)
, ins_srtcontroledl_xcp_opmerk VARCHAR2(320)
, ins_srtcontroledl_xcp_eenheid NUMBER(3)
, ins_srtcontroledl_xcp_periode NUMBER(6,2)
, ins_srtcontroledl_xcp_start DATE
, ins_srtcontroledl_xcp_eind DATE
, ins_srtcontroledl_xcp_materia NUMBER(9,2)
, prs_dienst_omschrijving VARCHAR2(60)
, ins_srtcontroledl_xcp_key NUMBER(10)
);
CREATE_TABLE (fac_setting,0) (
fac_setting_key
@@ -1490,7 +1530,8 @@ CREATE_TABLE (fac_version, 0) (
fac_version_putorders_date DATE,
fac_version_scheduler_date DATE,
fac_version_notify_date DATE,
fac_version_cleanup_date DATE
fac_version_cleanup_date DATE,
fac_version_tasker_date DATE
);
CREATE_TABLE(fac_typestaffel, 0)
@@ -1519,7 +1560,9 @@ CREATE_TABLE(fac_tracking, 0)
// Note: this column is defined in PRS_TAB.SRC
// prs_perslid_key NUMBER (10) REFERENCES prs_perslid (prs_perslid_key) ON DELETE SET NULL,
fac_tracking_oms
VARCHAR2(2048 CHAR)
VARCHAR2(2048 CHAR),
fac_tracking_subject_refkey /* optionele verwijzing naar iets (bv discipline) dat in de omschrijving genoemd wordt */
NUMBER (10)
);
CREATE_TABLE( fac_menuitems, 0)
@@ -1563,6 +1606,16 @@ CREATE_TABLE(fac_menu, 0)
fac_menu_aanmaak DATE DEFAULT SYSDATE
);
-- CREATE_TABLE(fac_queue, 0)
-- (
-- fac_queue_key NUMBER(10) PRIMARY KEY,
-- fac_queue_id VARCHAR2(255),
-- fac_queue_payload CLOB,
-- fac_queue_code VARCHAR2(50),
-- fac_queue_state VARCHAR2(50),
-- CONSTRAINT fac_u_fac_queue_id UNIQUE(fac_queue_id)
-- );
CREATE_TABLE(fac_nieuws_groep, 0)
(
fac_nieuws_groep_key
@@ -1595,6 +1648,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)
@@ -1619,7 +1674,8 @@ CREATE_TABLE(fac_faq, 0)
fac_faq_vervaldatum DATE, // geldigheid
fac_faq_lang VARCHAR2(3),
fac_faq_hint VARCHAR2(1000),
fac_faq_displaymode NUMBER(3) DEFAULT 0 NOT NULL -- +1=Altijd tonen melding, +2=Pop-up melding, +4=Altijd tonen opdracht, +8=Pop-up opdracht.
fac_faq_displaymode NUMBER(3) DEFAULT 0 NOT NULL, -- +1=Altijd tonen melding, +2=Pop-up melding, +4=Altijd tonen opdracht, +8=Pop-up opdracht, +16=Altijd tonen afspraak, +32=Pop-up opdracht.
fac_faq_module VARCHAR2(4) DEFAULT 'MLD' NOT NULL
);
CREATE_TABLE(fac_localeitems, 0) /* Alle mogelijk vertaalbare labels/teksten */
@@ -1683,7 +1739,7 @@ CREATE_TABLE(fac_code2label, 0)
CREATE_TABLE(fac_imp_factuur, 0) /* Standaard tabel voor de factuur-import */
(
leveranciernr VARCHAR2 (20), -- prs_bedrijf.overeenkomstnr
leveranciernr VARCHAR2 (30), -- prs_bedrijf.overeenkomstnr
ordernr VARCHAR2 (31), -- de code van de BROC (optionally even prefixed although unsupported with standard import)
factuurnr VARCHAR2 (30),
factuurdatum VARCHAR2 (10),
@@ -1769,6 +1825,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),
@@ -1820,8 +1877,7 @@ CREATE_TABLE (fac_kenmwaarden, 0)
fac_kenmwaarden_exprwaarde
VARCHAR2 (4000),
fac_kenmwaarden_kenmerktype
VARCHAR2(1)
CONSTRAINT fac_c_fac_kenmwaarden_kenmtype CHECK(fac_kenmwaarden_kenmerktype IN ('C','N','D','T','R','X','L','Q','F','M','E','S','l','B','V')),
VARCHAR2(1),
fac_kenmwaarden_kenmerklen
NUMBER(4),
fac_kenmwaarden_kenmerkdec
@@ -2050,11 +2106,15 @@ 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),
// 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)
@@ -2121,9 +2181,10 @@ CREATE_TABLE(fac_imp_cnt, 0)
(
nummer_intern VARCHAR2 (30),
nummer_extern VARCHAR2 (30),
cnt_soort VARCHAR2 (30),
cnt_soort VARCHAR2 (60),
beschrijving VARCHAR2 (50),
mantel_nr VARCHAR2 (30),
mantel_nr_versie VARCHAR2 (10),
omschrijving VARCHAR2 (1000),
afdeling VARCHAR2 (15),
perslid_eig VARCHAR2 (30),
@@ -2133,17 +2194,23 @@ CREATE_TABLE(fac_imp_cnt, 0)
datum_eind DATE,
datum_opzeg DATE,
datum_rappel DATE,
bedrijf_naam VARCHAR2 (60),
contact_naam VARCHAR2 (30),
soortcontact VARCHAR2 (1),
bedrijf_naam VARCHAR2 (200),
contact_naam VARCHAR2 (200),
kpn_code VARCHAR2 (30),
kostensoort VARCHAR2 (60),
bedrag NUMBER (11,2),
bedrag_termijn NUMBER (11,2),
uurtarief NUMBER (6,2),
korting NUMBER (4,2),
locatiecode VARCHAR2 (10),
terreincode VARCHAR2 (12),
gebouwcode VARCHAR2 (12),
verdiepingcode NUMBER (3),
ruimtecode VARCHAR2 (20),
verlengen VARCHAR2 (1),
versie VARCHAR2(10),
dienst VARCHAR2(60),
versie VARCHAR2 (10),
dienst VARCHAR2 (60),
flex1 VARCHAR2 (255),
flex2 VARCHAR2 (255),
flex3 VARCHAR2 (255),
@@ -2212,11 +2279,11 @@ CREATE_TABLE(fac_api, 0)
fac_api_omschrijving VARCHAR2(60),
fac_api_filepath VARCHAR2(64) NOT NULL,
fac_api_loglevel NUMBER DEFAULT 0,
fac_api_errorhandling NUMBER (10) DEFAULT 1 NOT NULL, // 0=200 on error, 1=400 on error
fac_usrrap_key NUMBER (10),
fac_api_viewmapping_json VARCHAR2 (4000),
fac_api_stylesheet VARCHAR2 (64),
fac_api_stylesheet_out VARCHAR2 (64),
fac_import_app_key NUMBER (10),
fac_api_options_json VARCHAR2 (4000)
);
@@ -2270,6 +2337,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),
@@ -2277,9 +2345,7 @@ CREATE_TABLE(faq_kenmerk,0)
faq_kenmerk_default VARCHAR2(4000),
faq_kenmerk_show_expr VARCHAR2(4000),
faq_kenmerk_dimensie VARCHAR2(10),
faq_kenmerk_kenmerktype VARCHAR2(1)
CONSTRAINT faq_c_faq_kenmerk_type1
CHECK(faq_kenmerk_kenmerktype IN ('C','N','D','T','R','X','L','Q','F','M','E','S','l','B','V')),
faq_kenmerk_kenmerktype VARCHAR2(1),
faq_kenmerk_systeem NUMBER(2),
faq_kenmerk_toonbaar NUMBER(1),
faq_kenmerk_inlijst NUMBER(1) DEFAULT 0 NOT NULL,
@@ -2384,4 +2450,29 @@ CREATE_TABLE(fac_layout, 0)
DEFAULT SYSDATE
);
CREATE_TABLE(fac_cust, 0)
(
fac_cust_key NUMBER(10)
CONSTRAINT fac_k_fac_cust_key PRIMARY KEY,
fac_cust_customerid VARCHAR(4) NOT NULL,
fac_cust_schema VARCHAR(30) DEFAULT '00' NOT NULL, // kopie fac_version_schema van de gebruiker
fac_cust_enabled NUMBER(1) DEFAULT 1 NOT NULL, // future use, disable during upgrades?
fac_cust_aanmaak DATE DEFAULT SYSDATE NOT NULL,
CONSTRAINT fac_u_fac_cust UNIQUE(fac_cust_customerid)
);
CREATE_TABLE(fac_task, 0)
(
fac_task_key NUMBER(10)
CONSTRAINT fac_k_fac_task_key PRIMARY KEY,
fac_cust_key NUMBER(10) REFERENCES fac_cust(fac_cust_key) ON DELETE CASCADE,
fac_task_code VARCHAR(32) NOT NULL,
fac_task_nextrun DATE,
fac_task_lastrun DATE,
fac_task_flags NUMBER(3) DEFAULT 1 NOT NULL, -- +1=enabled
fac_task_aanmaak DATE DEFAULT SYSDATE NOT NULL,
CONSTRAINT fac_u_fac_task UNIQUE(fac_cust_key, fac_task_code)
);
REGISTERONCE('$Id$')

View File

@@ -327,14 +327,6 @@ BEGIN
END;
/
CREATE_TRIGGER(fac_t_fac_notificatie_B_IU)
BEFORE INSERT OR UPDATE ON fac_notificatie
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(fac_notificatie_key, fac_s_fac_notificatie_key);
END;
/
CREATE_TRIGGER(fac_t_fac_notificatie_B_I)
BEFORE INSERT
ON fac_notificatie
@@ -343,7 +335,12 @@ DECLARE
loms web_user_messages.web_user_mess_dsc%TYPE;
lxmlnode fac_srtnotificatie.fac_srtnotificatie_xmlnode%TYPE;
lparamkey web_user_messages.web_user_mess_action_params%TYPE;
realuser VARCHAR(64);
BEGIN
UPDATE_PRIMARY_KEY(fac_notificatie_key, fac_s_fac_notificatie_key);
dbms_application_info.read_client_info (:NEW.fac_notificatie_realuser); -- is gezet achteraan m_connections.inc, wordt opgepikt door putorders
-- 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
@@ -356,6 +353,9 @@ BEGIN
IF INSTR (loms, chr(10)) > 0 THEN
loms := SUBSTR (loms, 1, INSTR (loms, chr(10)) -1);
END IF;
IF INSTR (loms, '<br>') > 0 THEN
loms := SUBSTR (loms, 1, INSTR (loms, '<br>') -1);
END IF;
-- meestal is dit de doorklik-key
lparamkey := COALESCE (:new.fac_notificatie_extrakey, :new.fac_notificatie_refkey);
@@ -400,14 +400,23 @@ BEGIN
END;
/
CREATE_TRIGGER(fac_t_fac_notificatie_A_U)
AFTER UPDATE ON fac_notificatie
CREATE_TRIGGER(fac_t_fac_notificatie_A_IU)
AFTER INSERT OR UPDATE
ON fac_notificatie
FOR EACH ROW
BEGIN
-- Ruim alle totaal verwerkte notificaties op.
DELETE FROM fac_notificatie
WHERE fac_notificatie_status IN (0,16)
AND fac_notificatie_systeemadres IS NULL
AND prs_bedrijfadres_key IS NULL;
IF INSERTING OR UPDATING ('fac_notificatie_notbefore')
THEN
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' -- future use
THEN
tsk.starttask(p_taskcode => 'EXCHANGE', p_nextrun => :NEW.fac_notificatie_notbefore);
END IF;
END IF;
END;
/
@@ -555,10 +564,10 @@ BEGIN
:new.fac_setting_module := UPPER(:new.fac_setting_module);
:new.fac_setting_name := LOWER(:new.fac_setting_name);
:new.prs_perslid_key := sys_context('USERENV', 'CLIENT_IDENTIFIER');
-- Het kan geen kwaad om wijzigingen te tracken
IF :new.fac_setting_datum <> :old.fac_setting_datum
THEN
:new.prs_perslid_key := sys_context('USERENV', 'CLIENT_IDENTIFIER');
INSERT INTO adm_tracking (adm_tracking_name, adm_tracking_revision, adm_tracking_osuser)
VALUES (SUBSTR('S('||:new.fac_setting_name||')', 1, 60),
SUBSTR(:new.fac_setting_pvalue, 1, 60),
@@ -568,22 +577,64 @@ BEGIN
END;
/
-- Door de COMPOUND TRIGGER kunnen we notifytrackingbedrijven doen in de AFTER STATEMENT
-- met alleen de newkey als parameter. Dat kan omdat bij mijn weten er eigenlijk
-- nooit een insert into meerdere FAC_TRACKING records is in een enkel statement
CREATE_TRIGGER(fac_t_fac_tracking_b_i)
BEFORE INSERT ON fac_tracking
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(fac_tracking_key, fac_s_fac_tracking_key);
-- dit event moet mogelijk ook actief worden genotificeerd,
-- dat kan expliciet worden onderdrukt door de omschrijving te prefixen met een #
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);
-- Moet ik nou nog iets doen om NULL te maken als dit alleen de # was?
-- En nu dus niet notificeren
ELSE
fac.notifytracking(:new.fac_srtnotificatie_key, :new.prs_perslid_key, :new.fac_tracking_oms, :new.fac_tracking_refkey, :new.fac_tracking_key);
END IF;
FOR INSERT
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
BEGIN
UPDATE_PRIMARY_KEY(fac_tracking_key, fac_s_fac_tracking_key);
IF newkey IS NOT NULL THEN
raise_application_error(-20001, 'Unexpected multi-insert of fac_tracking'); -- for safety
END IF;
-- dit event moet mogelijk ook actief worden genotificeerd,
-- 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
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
IS
BEGIN
IF newkey IS NOT NULL
THEN
fac.notifytracking(srtkey, prskey, omschr, refkey, newkey);
IF notify_bedrijven
THEN
fac.notifytrackingbedrijven (newkey);
END IF;
END IF;
END AFTER STATEMENT;
END;
/
@@ -851,7 +902,7 @@ BEGIN
APPLICATION_ERROR_GOTO(-20004, 'faq_m232,'|| KenmerkOmschr ||','
|| TO_CHAR(KenmerkLengte));
END IF;
ELSIF KenmerkType IN ('N', 'B')
ELSIF KenmerkType = 'N'
/*
** Number
*/
@@ -937,15 +988,15 @@ BEGIN
THEN
raise_application_error(-20000, 'faq_m238');
END IF;
IF :new.faq_kenmerk_kenmerktype IN ('C','N', 'B') AND :new.faq_kenmerk_lengte IS NULL
IF :new.faq_kenmerk_kenmerktype IN ('C','N') AND :new.faq_kenmerk_lengte IS NULL
THEN
raise_application_error(-20000, 'FAQ_C_FAQ_KENMERK_LENGTE');
END IF;
IF :new.faq_kenmerk_kenmerktype IN ('N', 'B') AND :new.faq_kenmerk_lengte > 20
IF :new.faq_kenmerk_kenmerktype = 'N' AND :new.faq_kenmerk_lengte > 20
THEN
:new.faq_kenmerk_lengte := 20;
END IF;
IF :new.faq_kenmerk_kenmerktype IN ('N', 'B') AND :old.faq_kenmerk_key IS NOT NULL
IF :new.faq_kenmerk_kenmerktype = 'N' AND :old.faq_kenmerk_key IS NOT NULL
THEN
IF :old.faq_kenmerk_nmin <> :new.faq_kenmerk_nmin OR
:old.faq_kenmerk_nmin IS NULL AND :new.faq_kenmerk_nmin IS NOT NULL
@@ -1051,4 +1102,44 @@ BEGIN
END;
/
CREATE_TRIGGER(fac_t_fac_cust_B_I)
BEFORE INSERT ON fac_cust
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(fac_cust_key, fac_s_fac_cust_key);
END;
/
CREATE_TRIGGER(fac_t_fac_cust_B_IU)
BEFORE INSERT OR UPDATE ON fac_cust
FOR EACH ROW
BEGIN
:new.fac_cust_customerid := UPPER(:new.fac_cust_customerid);
END;
/
CREATE_TRIGGER(fac_t_fac_task_B_I)
BEFORE INSERT ON fac_task
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(fac_task_key, fac_s_fac_task_key);
END;
/
CREATE_TRIGGER(fac_t_fac_task_B_IU)
BEFORE INSERT OR UPDATE ON fac_task
FOR EACH ROW
BEGIN
:new.fac_task_code := UPPER(:new.fac_task_code);
END;
/
-- CREATE_TRIGGER(fac_t_fac_queue_B_I)
-- BEFORE INSERT ON fac_queue
-- FOR EACH ROW
-- BEGIN
-- UPDATE_PRIMARY_KEY(fac_queue_key, fac_s_fac_queue_key);
-- END;
-- /
REGISTERRUN('$Id$')

View File

@@ -619,67 +619,52 @@ AS
-- Notificatie voor opdrachten in de queue die al meer dan S(puo_failalert_threshold) minuten gefaald zijn
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,
LTRIM (lcl.L ('lcl_facilitor_appl'))
|| ' alert: transmission of '
|| 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 || ' key ' || fac_notificatie_refkey)
|| ' to '
|| 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),
'??')
|| ' has failed '
|| fac_notificatie_failcount
|| ' times since '
|| TO_CHAR (q.fac_notificatie_datum, 'DD-MM-YYYY HH24:MI')
|| ' ('
|| 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
@@ -723,70 +708,23 @@ SELECT fac_notificatie_receiver_email, fac_notificatie_receiver_phone, fac_notif
fac_notificatie_extrakey, fac_notificatie_sender_email, fac_notificatie_lang, fac_notificatie_systeemadres,
fac_notificatie_attachments, fac_srtnotificatie_delay, fac_srtnotificatie_srtkm_key, fac_srtnotificatie_noticollegas,
prs_perslid_key_receiver, fac_notificatie_notbefore, fac_notificatie_failcount, prs_bedrijfadres_key,
prs_perslid_key_sender, fac_notificatie_geturl, fac_notificatie_getbody
prs_perslid_key_sender, fac_notificatie_geturl, fac_notificatie_getbody, fac_notificatie_naam, fac_notificatie_realuser
FROM fac_notificatie n
LEFT OUTER JOIN fac_srtnotificatie sn ON n.fac_srtnotificatie_key = sn.fac_srtnotificatie_key;
-- Queue met naar leveranciers te verzenden opdrachten tbv PutOrders: wat-moet-naar-wie-en-hoe
-- status=2: mail, status=4: sms (yet unused)
-- Tijdelijke dummy die niets oplevert, droppen met DB51
CREATE_VIEW(fac_v_orderqueue, 0)
(prs_bedrijf_key, alg_locatie_key, xmlnode, key, status, reference, sender, teverzenden_datum)
AS
SELECT b.prs_bedrijf_key, l.alg_locatie_key, 'bestelopdr', o.bes_bestelopdr_key, 2, o.bes_bestelopdr_id, alg_locatie_email, NULL teverzenden_datum
FROM prs_bedrijf b, bes_bestelopdr o, mld_adres ma, alg_locatie l
WHERE 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 EXISTS (SELECT '' FROM prs_bedrijfadres ba WHERE ba.prs_bedrijf_key = b.prs_bedrijf_key AND ba.prs_bedrijfadres_type = 'B')
AND o.bes_bestelopdr_status = 3
UNION ALL
SELECT b.prs_bedrijf_key, COALESCE (l1.alg_locatie_key, l2.alg_locatie_key), 'opdracht', o.mld_opdr_key, 2,
o.mld_melding_key || '/' || o.mld_opdr_bedrijfopdr_volgnr, COALESCE (l1.alg_locatie_email, l2.alg_locatie_email), o.mld_opdr_teverzenden_datum
FROM prs_bedrijf b, mld_opdr o, mld_melding m, mld_adres ma, alg_locatie l1, alg_locatie l2
WHERE b.prs_bedrijf_key = o.mld_uitvoerende_keys
AND o.mld_melding_key = m.mld_melding_key
AND m.mld_adres_key = ma.mld_adres_key(+)
AND ma.alg_locatie_key = l1.alg_locatie_key(+)
AND m.mld_alg_locatie_key = l2.alg_locatie_key(+)
AND EXISTS (SELECT '' FROM prs_bedrijfadres ba WHERE ba.prs_bedrijf_key = b.prs_bedrijf_key AND ba.prs_bedrijfadres_type = 'O')
AND (((o.mld_statusopdr_key = 5 OR o.mld_statusopdr_key = 4) AND o.mld_opdr_teverzenden = 1)
OR (o.mld_opdr_teverzenden = 2))
AND o.mld_opdr_verzonden IS NULL
UNION ALL
SELECT b.prs_bedrijf_key, l.alg_locatie_key, 'contract', c.cnt_contract_key, 2, cnt_contract_nummer_intern, COALESCE (l.alg_locatie_email, ins_discipline_email), NULL teverzenden_datum
FROM prs_bedrijf b, cnt_contract c, ins_tab_discipline d, alg_locatie l,
( SELECT cnt_contract_key,
DECODE (MIN (cp1.cnt_alg_plaats_code),
'L', MIN (cp1.cnt_alg_plaats_key),
MIN (alg_boom.alg_locatie_key)) cnt_locatie_key
FROM cnt_contract_plaats cp1,
(SELECT alg_r.alg_ruimte_key, alg_r.alg_verdieping_key, alg_v.alg_gebouw_key, alg_g.alg_locatie_key, 'R' alg_type
FROM alg_ruimte alg_r, alg_verdieping alg_v, alg_gebouw alg_g
WHERE alg_r.alg_verdieping_key = alg_v.alg_verdieping_key AND alg_v.alg_gebouw_key = alg_g.alg_gebouw_key
UNION
SELECT TO_NUMBER (NULL), alg_v.alg_verdieping_key, alg_v.alg_gebouw_key, alg_g.alg_locatie_key, 'V' alg_type
FROM alg_verdieping alg_v, alg_gebouw alg_g
WHERE alg_v.alg_gebouw_key = alg_g.alg_gebouw_key
UNION
SELECT TO_NUMBER (NULL), TO_NUMBER (NULL), alg_g.alg_gebouw_key, alg_g.alg_locatie_key, 'G' alg_type
FROM alg_gebouw alg_g) alg_boom
WHERE cp1.cnt_alg_plaats_key =
CASE cp1.cnt_alg_plaats_code
WHEN 'G' THEN alg_boom.alg_gebouw_key(+)
WHEN 'V' THEN alg_boom.alg_verdieping_key(+)
WHEN 'R' THEN alg_boom.alg_ruimte_key(+)
END
AND cp1.cnt_alg_plaats_code = alg_boom.alg_type(+)
AND cp1.cnt_contract_plaats_verwijder IS NULL
GROUP BY cnt_contract_key HAVING COUNT (1) = 1) cp
WHERE b.prs_bedrijf_key = c.cnt_prs_bedrijf_key
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 EXISTS (SELECT '' FROM prs_bedrijfadres ba WHERE ba.prs_bedrijf_key = b.prs_bedrijf_key AND ba.prs_bedrijfadres_type = 'C')
AND c.cnt_contract_verwijder IS NULL
AND c.cnt_contract_looptijd_tot > SYSDATE
AND c.cnt_contract_teverzenden = 1;
SELECT -1 prs_bedrijf_key,
-1 alg_locatie_key,
'dontcare' xmlnode,
-1 key,
-1 reference,
'' sender,
SYSDATE teverzenden_datum
FROM DUAL
WHERE 0 = 1;
// PLANMATIG ONDERHOUDS views (OPROGNOSE)
-- Basisview voor intern gebruik
@@ -804,7 +742,8 @@ SELECT op.*,
WHERE op.mld_melding_key = pk.mld_melding_key) prijs
FROM (SELECT m.mld_melding_key, MIN (s.mld_statuses_omschrijving) mld_statuses_omschrijving,
MIN (std.mld_stdmelding_omschrijving) mld_stdmelding_omschrijving,
MIN (m.mld_melding_omschrijving) mld_melding_omschrijving, MIN (m.mld_melding_datum) mld_melding_datum,
MIN (TO_CHAR (SUBSTR (mld_melding_omschrijving, 0, 4000))) mld_melding_omschrijving,
MIN (m.mld_melding_datum) mld_melding_datum,
MIN (l.alg_locatie_code) alg_locatie_code, MIN (v.alg_gebouw_key) alg_gebouw_key,
MIN (v.alg_gebouw_naam) alg_gebouw_naam,
MIN (l.alg_locatie_code || ' - ' || v.alg_gebouw_naam) alg_locatie_gebouw_naam,
@@ -908,34 +847,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)
@@ -1049,92 +987,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)
@@ -1163,37 +1098,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
@@ -1860,7 +1801,8 @@ AS
AND ff.fac_functie_key(+) = fm.fac_functie_key
AND itd.ins_discipline_key(+) = fm.ins_discipline_key
AND isd.ins_srtdiscipline_key(+) = fm.ins_srtdiscipline_key
AND fac_menu_volgnr IS NOT NULL;
AND fac_menu_volgnr IS NOT NULL
AND fm.prs_perslid_key IS NULL;
CREATE_VIEW(fac_v_exp_flex_res, 0)
AS
@@ -1882,6 +1824,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,
@@ -1928,6 +1871,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,
@@ -2023,6 +1967,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,
@@ -2176,6 +2121,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,
@@ -2195,7 +2141,7 @@ AS
WHERE km.cnt_srtkenmerk_key = kms.cnt_srtkenmerk_key
AND kms.fac_kenmerkdomein_key = kmd.fac_kenmerkdomein_key(+)
AND kmd.fac_usrtab_key = fut.fac_usrtab_key(+)
AND km.cnt_srtcontract_key = cd.ins_discipline_key
AND km.cnt_srtcontract_key = cd.ins_discipline_key(+)
AND km.cnt_kenmerk_verwijder IS NULL
AND kms.cnt_srtkenmerk_verwijder IS NULL
AND kmd.fac_kenmerkdomein_verwijder IS NULL
@@ -2222,6 +2168,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,
@@ -2235,7 +2182,7 @@ AS
ins_discipline_omschrijving fclt_f_discipline,
ins_srtgroep_omschrijving fclt_f_groep,
ins_srtdeel_omschrijving fclt_f_objectsoort,
NULL fclt_f_empty_1,
NULL empty_1,
ins_kenmerk_meetwaarde kenmerk_meetwaarde,
ins_kenmerk_wissen kenmerk_wissen
FROM (SELECT kmd.*,
@@ -2348,6 +2295,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,
@@ -2367,6 +2315,57 @@ AS
AND km.fin_kenmerk_verwijder IS NULL
AND kmd.fac_kenmerkdomein_verwijder IS NULL;
CREATE_VIEW(fac_v_exp_flex_ctr, 0)
AS
SELECT d.fac_kenmerkdomein_omschrijving
, d.fac_kenmerkdomein_objectnaam
, d.fac_kenmerkdomein_kolomnaam
, d.fac_kenmerkdomein_kolomtxt
, t.fac_usrtab_naam
, s.ins_srtkenmerk_code srtkenmerk_code
, s.ins_srtkenmerk_omschrijving srtkenmerk_omschrijving
, s.ins_srtkenmerk_kenmerktype srtkenmerk_kenmerktype
, s.ins_srtkenmerk_systeem srtkenmerk_systeem
, s.ins_srtkenmerk_lengte srtkenmerk_lengte
, s.ins_srtkenmerk_dec srtkenmerk_dec
, s.ins_srtkenmerk_nmin srtkenmerk_nmin
, s.ins_srtkenmerk_nmax srtkenmerk_nmax
, s.ins_srtkenmerk_dimensie srtkenmerk_dimensie
, k.ins_kenmerk_bewerkniveau kenmerk_type
, 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
, k.ins_kenmerk_uniek kenmerk_uniek
, k.ins_kenmerk_hint kenmerk_hint
, k.ins_kenmerk_regexp kenmerk_regexp
, k.ins_kenmerk_show_expr kenmerk_show_expr
, k.ins_kenmerk_code kenmerk_code
, k.ins_kenmerk_omschrijving kenmerk_omschr
, TO_CHAR(k.ins_kenmerk_verwijder, 'YYYY-MM-DD HH24:MI:SS') kenmerk_verwijder
, p.ins_discipline_omschrijving fclt_f_discipline
, c.ins_srtcontrole_omschrijving fclt_f_srtcontrole
, NULL empty_1
, NULL empty_2
, NULL empty_3
, ins_kenmerk_wissen kenmerk_wissen
FROM ins_kenmerk k
, ins_srtkenmerk s
, ins_srtcontrole c
, ctr_discipline p
, fac_kenmerkdomein d
, fac_usrtab t
WHERE k.ins_srtkenmerk_key = s.ins_srtkenmerk_key
AND k.ins_srtinstallatie_key = c.ins_srtcontrole_key
AND c.ctr_discipline_key = p.ins_discipline_key
AND s.fac_kenmerkdomein_key = d.fac_kenmerkdomein_key(+)
AND d.fac_usrtab_key = t.fac_usrtab_key(+)
AND k.ins_kenmerk_niveau = 'C'
AND k.ins_kenmerk_bewerkniveau = 'D';
-- Rapporten worden niet standaard aangemaakt bij gebruikers
CREATE_VIEW(fac_v_rap_lcl_lang, 0) AS
SELECT nl.fac_locale_xsl_label fclt_f_label,
@@ -2405,33 +2404,47 @@ SELECT fac_locale_xref_filepath FCLT_F_BESTAND,
AND fac_locale_xsl_lang = 'NL'
AND fac_locale_xsl_module = 'ASP';
-- Standard sample report shows GUI usage (menu, reports, search) stats of last 100 days
-- Standard sample report shows GUI usage (bookmark, menu, reports, search) stats of last 100 days
CREATE_VIEW(fac_v_rap_gui_usage_last100, 0) AS
SELECT fac_gui_counter_group fclt_f_action,
COALESCE (fac_gui_counter_info,
fac_menu_altlabel,
lcl.l (fac_menuitems_label),
fac_usrrap_omschrijving)
SELECT c.fac_gui_counter_group fclt_f_action,
COALESCE (c.fac_gui_counter_info,
m.fac_menu_altlabel,
lcl.l (mi.fac_menuitems_label),
r.fac_usrrap_omschrijving)
detail,
COALESCE (r.fac_usrrap_view_name, m.fac_menu_alturl, mi.fac_menuitems_url) techdetail,
COALESCE (b.fac_bookmark_path,
r.fac_usrrap_view_name,
m.fac_menu_alturl,
mi.fac_menuitems_url)
techdetail,
DECODE (COALESCE ( (CASE WHEN UPPER(b.fac_bookmark_path) LIKE 'APPL/PDA/%' THEN 3 END)
, m.fac_menu_altgroep
, mi.fac_menuitems_groep
), 3, 'Mobile', 'Default')
device,
SUM (fac_gui_counter_count) total
FROM fac_gui_counter c
LEFT JOIN fac_menu m
ON c.fac_gui_counter_group = 'menu' AND c.fac_gui_counter_refkey = m.fac_menu_key
LEFT JOIN fac_bookmark b
ON c.fac_gui_counter_group = 'bookmark' AND c.fac_gui_counter_refkey = b.fac_bookmark_key
LEFT OUTER JOIN fac_menuitems mi
ON m.fac_menuitems_key = mi.fac_menuitems_key
LEFT JOIN fac_usrrap r
ON c.fac_gui_counter_group = 'report' AND c.fac_gui_counter_refkey = r.fac_usrrap_key
WHERE fac_gui_counter_group NOT IN ('searchresult', 'searchchoice')
AND c.fac_gui_counter_date > SYSDATE - 100
GROUP BY fac_gui_counter_group,
fac_gui_counter_info,
fac_menu_altlabel,
fac_menuitems_label,
fac_usrrap_omschrijving,
WHERE c.fac_gui_counter_group NOT IN ('searchresult', 'searchchoice')
AND c.fac_gui_counter_date > SYSDATE - 100
GROUP BY c.fac_gui_counter_group,
c.fac_gui_counter_info,
m.fac_menu_altlabel,
mi.fac_menuitems_label,
r.fac_usrrap_omschrijving,
r.fac_usrrap_view_name,
m.fac_menu_alturl,
mi.fac_menuitems_url
mi.fac_menuitems_url,
b.fac_bookmark_path,
m.fac_menu_altgroep,
mi.fac_menuitems_groep
HAVING SUM (fac_gui_counter_count) > 1;
CREATE_VIEW(fac_v_rap_gui_usage_device, 0)
@@ -2442,21 +2455,27 @@ CREATE_VIEW(fac_v_rap_gui_usage_device, 0)
)
AS
SELECT COALESCE (fac_gui_counter_info, fac_menu_altlabel, lcl.l (fac_menuitems_label)) detail,
DECODE (COALESCE (m.fac_menu_altgroep, mi.fac_menuitems_groep), 3, 'Mobile', 'Default')
DECODE (COALESCE ( (CASE WHEN UPPER(b.fac_bookmark_path) LIKE 'APPL/PDA/%' THEN 3 END)
, m.fac_menu_altgroep
, mi.fac_menuitems_groep
), 3, 'Mobile', 'Default')
device,
SUM (fac_gui_counter_count) total
FROM fac_gui_counter c
LEFT JOIN fac_menu m
ON c.fac_gui_counter_group = 'menu' AND c.fac_gui_counter_refkey = m.fac_menu_key
LEFT JOIN fac_bookmark b
ON c.fac_gui_counter_group = 'bookmark' AND c.fac_gui_counter_refkey = b.fac_bookmark_key
LEFT OUTER JOIN fac_menuitems mi
ON m.fac_menuitems_key = mi.fac_menuitems_key
WHERE fac_gui_counter_group IN ('menu') AND c.fac_gui_counter_date > SYSDATE - 100
WHERE fac_gui_counter_group IN ('menu', 'bookmark') AND c.fac_gui_counter_date > SYSDATE - 100
GROUP BY fac_gui_counter_group,
fac_gui_counter_info,
fac_menu_altlabel,
fac_menuitems_label,
m.fac_menu_altgroep,
mi.fac_menuitems_groep;
mi.fac_menuitems_groep,
b.fac_bookmark_path;
CREATE_VIEW(fac_v_rap_language, 0)
(
@@ -2572,6 +2591,7 @@ AS
kenmerk,
CASE
WHEN km.faq_kenmerk_kenmerktype = 'R'
OR km.faq_kenmerk_kenmerktype = 'r'
OR km.faq_kenmerk_kenmerktype = 'S'
THEN
flx.getdomeinwaarde (km.fac_kenmerkdomein_key,
@@ -2585,7 +2605,7 @@ AS
END
waarde_c,
CASE
WHEN km.faq_kenmerk_kenmerktype IN ('N', 'B')
WHEN km.faq_kenmerk_kenmerktype = 'N'
THEN
TO_NUMBER (kw.faq_kenmerkwaarde_waarde)
ELSE
@@ -2601,7 +2621,7 @@ AS
END
waarde_d,
CASE
WHEN km.faq_kenmerk_kenmerktype IN ('R', 'S')
WHEN km.faq_kenmerk_kenmerktype IN ('R', 'r', 'S')
THEN
flx.getdomeinwaarde (km.fac_kenmerkdomein_key, kw.faq_kenmerkwaarde_waarde)
ELSE

View File

@@ -13,18 +13,23 @@ AS
SELECT b.prs_bedrijf_naam Bedrijfsnaam
, b.prs_leverancier_nr Leveranciernummer
, a.prs_bedrijfadres_type Kanaal
, a.mld_typeopdr_key Opdrachttype
, (SELECT m.mld_typeopdr_omschrijving
FROM mld_typeopdr m
WHERE m.mld_typeopdr_key = a.mld_typeopdr_key) Opdrachttype
, a.prs_bedrijfadres_url Adres
, a.prs_bedrijfadres_ordermode Ordermode
, a.prs_bedrijfadres_certificate Certificaat
, a.prs_bedrijfadres_xsl Xsltemplate
, a.prs_bedrijfadres_xsl Xsl_template
, a.prs_bedrijfadres_ext Extensie
, a.prs_bedrijfadres_attachfile Vastebijlage
, a.prs_bedrijfadres_attachfile Vaste_bijlage
, a.prs_bedrijfadres_username Login
, a.prs_bedrijfadres_password Wachtwoord
, a.prs_bedrijfadres_sender Afzender
, a.prs_bedrijfadres_lockuser_key Vastegebruiker
, a.prs_bedrijfadres_lockexpire Expiredays
, a.prs_bedrijfadres_replyaddress Reply_adres
, (SELECT p.prs_perslid_oslogin
FROM prs_perslid p
WHERE p.prs_perslid_key = a.prs_bedrijfadres_lockuser_key) Vaste_gebruiker
, a.prs_bedrijfadres_lockexpire Expire_days
FROM prs_bedrijfadres a
, prs_v_aanwezigbedrijf b
WHERE a.prs_bedrijf_key = b.prs_bedrijf_key
@@ -37,8 +42,10 @@ CREATE OR REPLACE VIEW fac_v_exp_contactpersoon
AS
SELECT b.prs_bedrijf_naam Bedrijfsnaam
, b.prs_leverancier_nr Leveranciernummer
, NULL Persoonmatchcode
, NULL Persoonmatchwaarde
, DECODE (u.prs_perslid_email, NULL
, DECODE (u.prs_perslid_oslogin, NULL, NULL, 2), 1) Persoonmatchcode
, DECODE (u.prs_perslid_email, NULL
, DECODE (u.prs_perslid_oslogin, NULL, NULL, u.prs_perslid_oslogin), u.prs_perslid_email) Persoonmatchwaarde
, c.prs_contactpersoon_naam ContactPersoonAchternaam
, c.prs_contactpersoon_tussenv Tussenvoegsel
, c.prs_contactpersoon_voorletters Voorletters
@@ -49,20 +56,25 @@ SELECT b.prs_bedrijf_naam Bedrijfsnaam
, c.prs_contactpersoon_telefoon_2 Mobiel
, c.prs_contactpersoon_email Email
, c.prs_contactpersoon_functie Functie
, c.prs_contactpersoon_opmerking Opmerking
, REPLACE (c.prs_contactpersoon_opmerking, CHR(13)) Opmerking
, l.alg_locatie_code Locatiecode
FROM prs_contactpersoon c
, prs_v_aanwezigbedrijf b
, prs_contactpersoon_locatie p
, prs_v_aanwezigperslid u
, prs_v_aanwezigbedrijf b
, alg_v_aanweziglocatie l
WHERE c.prs_bedrijf_key = b.prs_bedrijf_key(+)
WHERE c.prs_bedrijf_key = b.prs_bedrijf_key
AND c.prs_perslid_key = u.prs_perslid_key(+)
AND c.prs_contactpersoon_key = p.prs_contactpersoon_key(+)
AND p.alg_locatie_key = l.alg_locatie_key(+)
AND c.prs_contactpersoon_verwijder IS NULL
;
-- import: FIP: Aanvullen externe bedrijven
-- importsheet: Inventarisatie Externe bedrijven, tabblad Externe Bedrijven
-- importtabel: fac_imp_ext_bedrijf
-- NB: Overeenkomstdatum als varchar2 ophalen omdat alleen de datum (dd-mm-yyyy) ingelezen wordt.
-- Met trunc() blijft het een timestamp!
CREATE OR REPLACE VIEW fac_v_exp_ext_bedrijf
AS
SELECT b.prs_bedrijf_naam Bedrijfsnaam
@@ -90,8 +102,8 @@ SELECT b.prs_bedrijf_naam Bedrijfsnaam
, CASE WHEN b.prs_bedrijf_ingids = 1 THEN 'J' ELSE '' END Tooningids
, b.prs_bedrijf_uurloon Uurloon
, b.prs_overeenkomst_nr Overeenkomstnummer
, b.prs_overeenkomst_datum Overeenkomstdatum
, b.prs_bedrijf_opmerking Opmerking
, TO_CHAR(b.prs_overeenkomst_datum,'dd-mm-yyyy') Overeenkomstdatum
, REPLACE (b.prs_bedrijf_opmerking, CHR(13)) Opmerking
, d.prs_dienst_omschrijving Dienst
, CASE WHEN l.alg_locatie_key IS NULL
THEN (SELECT MAX(v.alg_locatie_code) FROM alg_v_gebouw_gegevens v WHERE v.alg_gebouw_key = l.alg_gebouw_key)
@@ -111,7 +123,10 @@ SELECT b.prs_bedrijf_naam Bedrijfsnaam
, prs_dienst d
WHERE b.prs_relatietype_key = r.prs_relatietype_key(+)
AND b.prs_bedrijf_key = l.prs_bedrijf_key(+)
AND l.prs_dienst_key = d.prs_dienst_key
AND l.prs_dienst_key = d.prs_dienst_key(+)
AND b.prs_bedrijf_verwijder IS NULL
AND r.prs_relatietype_verwijder IS NULL
AND b.prs_bedrijf_intern IS NULL
;
-- import: FIP: 9-Aanvullen van inspectiedefinities
@@ -140,6 +155,8 @@ SELECT d.ins_discipline_omschrijving Disciplineomschrijving
-- import: FIP: 6-Aanvullen objecten
-- importsheet: Inventarisatie Objecten-56894
-- importtabel: fac_imp_ins
-- NB: Ingangsdatum en vervaldatum als varchar2 ophalen omdat alleen de datum (dd-mm-yyyy) ingelezen wordt.
-- Met trunc() blijft het een timestamp!
CREATE OR REPLACE VIEW fac_v_exp_ins
AS
SELECT DISTINCT d.ins_discipline_omschrijving Disciplineomschrijving
@@ -148,7 +165,7 @@ AS
, sd.ins_srtdeel_code Objectsoortcode
, sd.ins_srtdeel_omschrijving Objectsoortomschrijving
, id.ins_deel_omschrijving Objectidentificatie
, id.ins_deel_opmerking Objectopmerking
, REPLACE (id.ins_deel_opmerking, CHR(13)) Objectopmerking
, sd.ins_srtdeel_uitleenbaar Reserveerbaar
, sd.ins_srtdeel_eenheid Eenheid
, sd.ins_srtdeel_prijs Prijs
@@ -162,10 +179,12 @@ AS
, c.prs_kostensoort_oms Cataloguskostensoort
, NULL Persoonmatchcode
, NULL Persoonmatchwaarde
, id.ins_deel_aanmaak Ingangsdatum
, id.ins_deel_vervaldatum Vervaldatum
, TO_CHAR(id.ins_deel_aanmaak,'dd-mm-yyyy') Ingangsdatum
, 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
@@ -197,8 +216,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(+)
@@ -211,65 +230,58 @@ AS
-- import: FIP: 5-Aanvullen servicedesk
-- importsheet: Inventarisatie Meldingen
-- importtabel: fac_imp_mld
CREATE OR REPLACE VIEW fac_v_exp_mld
CREATE OR REPLACE FORCE VIEW fac_v_exp_mld
AS
SELECT s.ins_srtdiscipline_omschrijving Vakgroeptype
, s.ins_srtdiscipline_prefix Prefix
, s.ins_srtdiscipline_alg Plaatsgegevens
, s.ins_srtdiscipline_ins Objectgegevens
, s.ins_srtdiscipline_bes Bestelgegevens
, i.ins_discipline_omschrijving Vakgroep
, m.mld_stdmelding_omschrijving Standaardmelding
, g.mld_stdmeldinggroep_naam Groep
, k.prs_kostensoort_oms Kostensoort
, REPLACE(CASE WHEN m.mld_stdmelding_t_accepttijd.eenheid = 'U'
THEN m.mld_stdmelding_t_accepttijd.tijdsduur / 24
ELSE m.mld_stdmelding_t_accepttijd.tijdsduur
END, ',', '.') Acceptatietijd
, REPLACE(CASE WHEN m.mld_stdmelding_t_uitvoertijd.eenheid = 'U'
THEN m.mld_stdmelding_t_uitvoertijd.tijdsduur / 24
ELSE m.mld_stdmelding_t_uitvoertijd.tijdsduur
END, ',', '.') Uitvoertijd
, REPLACE(CASE WHEN m.mld_stdmelding_t_uitvtijd_pr1.eenheid = 'U'
THEN m.mld_stdmelding_t_uitvtijd_pr1.tijdsduur / 24
ELSE m.mld_stdmelding_t_uitvtijd_pr1.tijdsduur
END, ',', '.') Uitvoertijd_kritiek
, REPLACE(CASE WHEN m.mld_stdmelding_t_uitvtijd_pr2.eenheid = 'U'
THEN m.mld_stdmelding_t_uitvtijd_pr2.tijdsduur / 24
ELSE m.mld_stdmelding_t_uitvtijd_pr2.tijdsduur
END, ',', '.') Uitvoertijd_hoog
, REPLACE(CASE WHEN m.mld_stdmelding_t_uitvtijd_pr4.eenheid = 'U'
THEN m.mld_stdmelding_t_uitvtijd_pr4.tijdsduur / 24
ELSE m.mld_stdmelding_t_uitvtijd_pr4.tijdsduur
END, ',', '.') Uitvoertijd_laag
, p.mld_disc_params_directklaar Directklaar
, d.prs_dienst_omschrijving Dienst
, m.mld_stdmelding_notfrontend Not_frontend
, m.alg_onrgoed_niveau alg_niveau
, t.mld_typeopdr_omschrijving Opdrachttype
, m.mld_stdmelding_hint Hint
, m.mld_stdmelding_kopieerbaar Kopieerbaar
, m.mld_stdmelding_afmeldtext Tekst_bij_afmelden
, DECODE(m.mld_stdmelding_doublecheck, 0, 'N', 1, 'I', 2, 'A', 3, 'B', 'N') Dubbele_meldingen
, m.mld_stdmelding_slabewaken Sla_bewaken
, i.ins_discipline_image Disc_image
, m.mld_stdmelding_image Stdm_image
, m.mld_stdmelding_externnr Externnr
FROM mld_stdmelding m
, mld_typeopdr t
, mld_stdmeldinggroep g
, prs_kostensoort k
, prs_dienst d
, mld_discipline i
, mld_disc_params p
, ins_srtdiscipline s
WHERE m.mld_ins_discipline_key = i.ins_discipline_key
AND m.mld_ins_discipline_key = p.mld_ins_discipline_key
AND i.ins_srtdiscipline_key = s.ins_srtdiscipline_key
AND m.mld_typeopdr_key = t.mld_typeopdr_key(+)
AND m.mld_stdmeldinggroep_key = g.mld_stdmeldinggroep_key(+)
AND m.prs_kostensoort_key = k.prs_kostensoort_key(+)
AND m.prs_dienst_key = d.prs_dienst_key(+)
SELECT sd.ins_srtdiscipline_omschrijving vakgroeptype
, sd.ins_srtdiscipline_prefix prefix
, COALESCE(sd.ins_srtdiscipline_alg, 0) plaatsgegevens
, COALESCE(sd.ins_srtdiscipline_ins, 0) objectgegevens
, COALESCE(sd.ins_srtdiscipline_bes, 0) bestelgegevens
, md.ins_discipline_omschrijving vakgroep
, sm.mld_stdmelding_omschrijving standaardmelding
, mg.mld_stdmeldinggroep_naam groep
, ks.prs_kostensoort_oms kostensoort
, REPLACE(mld.uitvoertijd_to_unit(sm.mld_stdmelding_t_accepttijd, 'U'), ',', '.') acceptatietijd
, REPLACE(mld.uitvoertijd_to_unit(sm.mld_stdmelding_t_accept_pr1, 'U'), ',', '.') acceptatietijd_kritiek
, REPLACE(mld.uitvoertijd_to_unit(sm.mld_stdmelding_t_accept_pr2, 'U'), ',', '.') acceptatietijd_hoog
, REPLACE(mld.uitvoertijd_to_unit(sm.mld_stdmelding_t_accept_pr4, 'U'), ',', '.') acceptatietijd_laag
, REPLACE(mld.uitvoertijd_to_unit(sm.mld_stdmelding_t_uitvoertijd, 'D'), ',', '.') uitvoertijd
, REPLACE(mld.uitvoertijd_to_unit(sm.mld_stdmelding_t_uitvtijd_pr1, 'D'), ',', '.') uitvoertijd_kritiek
, REPLACE(mld.uitvoertijd_to_unit(sm.mld_stdmelding_t_uitvtijd_pr2, 'D'), ',', '.') uitvoertijd_hoog
, REPLACE(mld.uitvoertijd_to_unit(sm.mld_stdmelding_t_uitvtijd_pr4, 'D'), ',', '.') uitvoertijd_laag
, mp.mld_disc_params_directklaar directklaar
, pd.prs_dienst_omschrijving dienst
, sm.mld_stdmelding_notfrontend notfrontend
, sm.alg_onrgoed_niveau alg_niveau
, mt.mld_typeopdr_omschrijving opdrachttype
, sm.mld_stdmelding_hint hint
, sm.mld_stdmelding_kopieerbaar kopieerbaar
, 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
, md.ins_discipline_image disc_image
, sm.mld_stdmelding_image stdm_image
, sm.mld_stdmelding_externnr externnr
FROM mld_stdmelding sm
, mld_discipline md
, ins_srtdiscipline sd
, mld_disc_params mp
, prs_dienst pd
, mld_stdmeldinggroep mg
, prs_kostensoort ks
, mld_typeopdr mt
WHERE sm.mld_ins_discipline_key = md.ins_discipline_key
AND sm.mld_ins_discipline_key = mp.mld_disc_params_key(+)
AND md.ins_srtdiscipline_key = sd.ins_srtdiscipline_key(+)
AND sm.mld_stdmeldinggroep_key = mg.mld_stdmeldinggroep_key(+)
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
@@ -282,7 +294,7 @@ SELECT r.alg_regio_omschrijving Regio,
l.alg_locatie_code Locatiecode,
l.alg_locatie_omschrijving Locatieomschrijving,
g.alg_gebouw_code Gebouwcode,
g.alg_gebouw_omschrijving Gebouwomschrijving,
g.alg_gebouw_naam Gebouwomschrijving,
sg.alg_srtgebouw_omschrijving Gebouwfunctie,
l.alg_locatie_verantw Contactpersoon,
l.alg_locatie_verantw_tel Telefoonnummer,
@@ -335,7 +347,10 @@ SELECT l.alg_locatie_code Locatiecode
, r.alg_ruimte_bruto_vloeropp Vloeroppervlak
, pa.prs_afdeling_naam Afdelingscode
, ra.prs_ruimteafdeling_bezetting Bezetting
, s.prs_verhuurbaar ReserveerbareRuimte
, CASE WHEN rb.aantal IS NULL
THEN 0
ELSE 1
END ReserveerbareRuimte
, rd.ins_discipline_omschrijving Categorie
, rp.res_disc_params_expire_dagen Expiredagen
, rr.res_ruimte_prijs Prijs
@@ -348,23 +363,35 @@ SELECT l.alg_locatie_code Locatiecode
, NULL Kenmerk3
, NULL Kenmerk4
, NULL Kenmerk5
FROM alg_locatie l
, alg_gebouw g
, alg_verdieping v
, alg_ruimte r
, alg_srtruimte s
, prs_ruimteafdeling ra
, prs_afdeling pa
, res_alg_ruimte rar
, res_ruimte rr
, res_discipline rd
FROM alg_v_aanweziglocatie l
, alg_v_aanweziggebouw g
, alg_v_aanwezigverdieping v
, alg_v_aanwezigruimte r
, alg_v_aanwezigsrtruimte s
, prs_v_aanwezigruimteafdeling ra
, prs_v_aanwezigafdeling pa
, res_v_aanwezigalg_ruimte rar
, res_v_aanwezigruimte rr
, res_v_aanwezigdiscipline rd
, res_disc_params rp
, res_ruimte_opstelling rro
, res_opstelling ro
, res_v_aanwezigopstelling ro
, (SELECT rar.alg_ruimte_key
, COUNT(*) aantal
FROM res_v_aanwezigalg_ruimte rar
, res_ruimte rr
WHERE rar.res_ruimte_key = rr.res_ruimte_key
AND rr.res_ruimte_verwijder IS NULL
AND ( rr.res_ruimte_vervaldatum IS NULL
OR rr.res_ruimte_vervaldatum > SYSDATE
)
AND rr.res_ruimte_cv = 0
GROUP BY rar.alg_ruimte_key
) rb
WHERE l.alg_locatie_key = g.alg_locatie_key
AND g.alg_gebouw_key = v.alg_gebouw_key
AND v.alg_verdieping_key = r.alg_verdieping_key
AND r.alg_srtruimte_key = s.alg_srtruimte_key
AND r.alg_srtruimte_key = s.alg_srtruimte_key(+)
AND r.alg_ruimte_key = ra.alg_ruimte_key(+)
AND ra.prs_afdeling_key = pa.prs_afdeling_key(+)
AND r.alg_ruimte_key = rar.alg_ruimte_key(+)
@@ -373,6 +400,10 @@ SELECT l.alg_locatie_code Locatiecode
AND rd.ins_discipline_key = rp.res_ins_discipline_key(+)
AND rr.res_ruimte_key = rro.res_ruimte_key(+)
AND rro.res_opstelling_key = ro.res_opstelling_key(+)
AND r.alg_ruimte_key = rb.alg_ruimte_key(+)
AND rro.res_ruimte_opstel_verwijder IS NULL
AND (g.alg_gebouw_vervaldatum IS NULL OR g.alg_gebouw_vervaldatum > TRUNC(SYSDATE))
AND (rr.res_ruimte_vervaldatum IS NULL OR rr.res_ruimte_vervaldatum > TRUNC(SYSDATE));
;
-- import: FIP: 3-Aanvullen organisatiestructuur
@@ -390,10 +421,13 @@ SELECT b.prs_bedrijf_naam Bedrijfsnaam
FROM prs_afdeling a
, prs_afdeling ap
, prs_kostenplaats k
, prs_bedrijf b
, prs_v_aanwezigbedrijf b
WHERE a.prs_kostenplaats_key = k.prs_kostenplaats_key(+)
AND a.prs_bedrijf_key = b.prs_bedrijf_key(+)
AND a.prs_afdeling_parentkey = ap.prs_afdeling_key(+)
AND a.prs_afdeling_verwijder IS NULL
AND ap.prs_afdeling_verwijder IS NULL
AND k.prs_kostenplaats_verwijder IS NULL
;
-- import: FIP: 4-Aanvullen personen
@@ -403,9 +437,9 @@ CREATE OR REPLACE VIEW fac_v_exp_perslid
AS
SELECT l.alg_locatie_code Locatiecode
, o.alg_gebouw_code Gebouwcode
, o.alg_verdieping_code Bouwlaagvolgnummer
, v.alg_verdieping_volgnr Bouwlaagvolgnummer
, o.alg_ruimte_nr Ruimtenummer
, w.prs_werkplek_volgnr Werkplekvolgnummer
, b.prs_perslidwerkplek_volgnr Werkplekvolgnummer
, w.prs_werkplek_omschrijving Omschrijving
, a.prs_afdeling_naam Afdelingscode
, p.prs_perslid_naam PersoonAchternaam
@@ -419,8 +453,8 @@ SELECT l.alg_locatie_code Locatiecode
, s.prs_srtperslid_omschrijving Functie
, p.prs_perslid_nr Personeelsnummer
, p.prs_perslid_oslogin Loginnaam
, p.prs_perslid_wachtwoord_hash Password
, null NVT1
, null Password
, k.prs_kostenplaats_nr Kostenplaatsnr
, null NVT2
, null NVT3
, null NVT4
@@ -452,16 +486,140 @@ SELECT l.alg_locatie_code Locatiecode
, prs_afdeling a
, alg_v_onroerendgoed_gegevens o
, alg_locatie l
, alg_verdieping v
, prs_perslidwerkplek b
, prs_werkplek w
, prs_kostenplaats k
WHERE p.prs_srtperslid_key = s.prs_srtperslid_key(+)
AND p.prs_afdeling_key = a.prs_afdeling_key(+)
AND p.alg_onroerendgoed_keys = o.alg_onroerendgoed_keys(+)
AND p.alg_onroerendgoed_type = o.alg_type(+)
AND w.prs_alg_ruimte_key = o.alg_onroerendgoed_keys(+)
AND o.alg_locatie_key = l.alg_locatie_key(+)
AND o.alg_verdieping_key = v.alg_verdieping_key(+)
AND p.prs_perslid_key = b.prs_perslid_key(+)
AND b.prs_werkplek_key = w.prs_werkplek_key(+)
AND p.prs_kostenplaats_key = k.prs_kostenplaats_key(+)
AND p.prs_perslid_verwijder IS NULL
AND p.prs_perslid_inactief IS NULL
AND p.prs_perslid_flags = 0
AND p.prs_perslid_apikey IS NULL
;
CREATE OR REPLACE FORCE VIEW fac_v_exp_contract
AS
SELECT c.cnt_contract_nummer_intern ContractNr --A_nummer_intern
, c.cnt_contract_versie Versie --B_versie
, c.cnt_contract_nummer ExternNr --C_nummer_extern
, (SELECT ins_discipline_omschrijving
FROM cnt_discipline
WHERE ins_discipline_key = c.ins_discipline_key) ContractSoort --D_contractsoort
, c.cnt_contract_omschrijving Beschrijving --E_beschrijving
, m.cnt_contract_nummer_intern MantelNr --F_mantel_nummer
, m.cnt_contract_versie MantelNr_versie --G_mantel_versie
, TRANSLATE(c.cnt_contract_document, chr(10)||chr(13), '\n') Omschrijving --H_omschrijving
, (SELECT prs_dienst_omschrijving
FROM prs_dienst
WHERE prs_dienst_key = c.prs_dienst_key) Dienst --I_dienst
, a.prs_afdeling_naam Eigenaar_afd --J_afdeling
, e.prs_perslid_email Eigenaar_email --K_eigenaar
, b.prs_perslid_email Beheerder_email --L_beheerder
, TRANSLATE(c.cnt_contract_opmerking, chr(10)||chr(13), '\n') Opmerking --M_opmerking
, TO_CHAR(c.cnt_contract_looptijd_van, 'dd-mm-yyyy') Ingangsdatum --N_ingangsdatum
, TO_CHAR(cnt.cnt_getTermijndatum( cnt.cnt_getTermijndatum( c.cnt_contract_looptijd_tot
, c.cnt_contract_opzegtermijn
, -1)
, c.cnt_contract_rappeltermijn
, -1), 'dd-mm-yyyy') Rappeldatum --O_rappeldatum
, TO_CHAR(cnt.cnt_getTermijndatum( c.cnt_contract_looptijd_tot
, c.cnt_contract_opzegtermijn
, -1), 'dd-mm-yyyy') Opzegdatum --P_opzegdatum
, TO_CHAR(c.cnt_contract_looptijd_tot, 'dd-mm-yyyy') Einddatum --Q_einddatum
, CASE WHEN c.cnt_prs_perslid_key IS NOT NULL
THEN 'P'
ELSE 'B'
END Soort_contactpartij --R_soortcontact
, CASE WHEN c.cnt_prs_perslid_key IS NOT NULL
THEN (SELECT prs_perslid_email
FROM prs_perslid
WHERE prs_perslid_key = c.cnt_prs_perslid_key)
ELSE (SELECT prs_bedrijf_naam
FROM prs_bedrijf
WHERE prs_bedrijf_key = c.cnt_prs_bedrijf_key)
END Bedrijfsnaam --S_bedrijfnaam
, (SELECT prs_contactpersoon_email
FROM prs_contactpersoon
WHERE prs_contactpersoon_key = c.prs_contactpersoon_key) ContactNaam --T_contactpersoon
, (SELECT prs_kostenplaats_nr
FROM prs_kostenplaats
WHERE prs_kostenplaats_key = c.prs_kostenplaats_key) KostenplaatsCode --U_kostenplaatscode
, (SELECT prs_kostensoort_oms
FROM prs_kostensoort
WHERE prs_kostensoort_key = c.prs_kostensoort_key) KostensoortCode --V_kostensoortcode
, TO_CHAR(c.cnt_contract_kosten) Contractbedrag --W_contractbedrag
, 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
, 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
, mm.cnt_contract_versie
FROM cnt_contract mm
, cnt_disc_params md
WHERE mm.ins_discipline_key = md.cnt_ins_discipline_key
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(+)
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_kostenplaats_key = k.prs_kostenplaats_key
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
ORDER BY c.cnt_contract_nummer_intern
, c.cnt_contract_versie
;
REGISTERRUN('$Id$')

View File

@@ -0,0 +1,13 @@
{
"type": "service_account",
"project_id": "facilitor-165209",
"private_key_id": "042cb975b9b456956773da035272efce0cf00285",
"private_key": "-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCQQJNL05OmzmCp\nu5yFfOdH21TkMGFYDvAUYqlvGu3waIEbnYU4Gu2FEj2rGRgcnrgOKWYxp+b58BkM\nWxBZ61wgpRIvvFUTHSmR3pLU3eRaxTlqJPFYHAQavi28a38nlM5EMXWGmLOKI25j\nUe4vbU3+WnP0kTTjLnSK0Pcm/bSp/b/zuERi1WcDtFLvVP/ZdwnAy/CzILbkC8Wm\nCckVYgFmcxK91mZ755mafn5Pn4zt8HkA4NzZivqhM4vOn7zXaJnwON2sQNxUTyJv\n+q8Pa4FRHHBPVO86uKWEUlciRDoVokZyon7a0QeVJv5otuLJF1p15+jUNN5eMGgV\nUOBkfzBnAgMBAAECggEAOVUpFfCcFSaeXaee8KExjSo75cvizKx3OCr0e5/A5RWs\nBs1HFwMA1yxmTTwWjL16mspSfzbkAv+t/O6uo4Z7YdAp18YrLAMhtAO56Rfd/EO5\n65mOQL411Wkz5Vj2O0WV652av+muJh+p7piwKbJwVsEdqB0UX5zlngyqxpj8drk2\niIEwz6diyRWv3dczZfhbbZLfVuRDLicfcyLK566OIg1a2WhniZbntksrwFLC5lkq\n8nRepvgTeIGg9b5Q+zP74iENU/onfyLSZ82KB+SVgC68D5wBjAVcoVk1MCD7SpSE\nkze4Dbo+rdOVFb/vB7g80pT8EagFZ8jpvzWQyE6HaQKBgQDEWhYHkXVffwEle9lo\nmanlFAkR/OYw99oglWhkAUWsBonegxccdDkprpnoaeQxzFhr5vwdd/Bt4J1y5W48\nhJUF61AN7FJ1+3DfBZ7Lg9i/HmtoaQUebTFjJOU6V4FIP/LkWke4xKinmg2sr875\nL9aTkMyFEPLL4vXYp/AJxIaUjwKBgQC8EsxphJ6vSnkX5wrFRKEfrswwHb9+N9kx\n5UVeO8SRyt3PJ1lJqpqgIHcQh18HFtdbSwgLZOYZilkyfDIoVNx7UJyb59vFTKdO\n/epGyT583MQk8Yoy0bdQEPgkTWk2yKjhW7CJcTLDpd2/GNf7r5mHsk1Qwi5XaxKu\nmeHX6KICqQKBgDVFC3z6JZHG7xSwSQdryP/xM5TBu+HFHFSCtFONVM2a6ISJpBeA\nIJICYJcBQ3uPKN39SKDmDUCCE7U8MXARuCxm7s0YNDb2BGU9LRuhpYgURKeK9myO\nyztOozH004o6bzcslxC1qdvum48iE1DffaODQTlIo9ZUuMYSqbi8rJZZAoGALwpk\npl/NcPqnnxrizsSDqHEIEWDfbKp7YMd/ujooyG59XDrzUkGhuztjjHbPhe5onyT9\nNhxekTTRapc11HClVRKsmTI8/fRWRKOt3VaokoKFbNgdQOjDePtFlY7nKhS2aOeO\nGFJ/5/+snwePvhwFwrMOM4zeGm9llNZYbrB5FUECgYEAo/VqIOKag9wwMhw7CiYv\nSx2xtRf4KJT9cEtNYm3DBLZrJsUNKdIH8MujHTZ83ISybN0j9OkcA+5jEsFGGcnt\niKQ2wVPcSEm74ujx+RjOtElrTfYaUf1da/eqIH+cCrLfGA4qdglt7jGDKYSJ/nlC\n3hqreqJE75MQnvGOOr3Eoh4=\n-----END PRIVATE KEY-----\n",
"client_email": "firebase-adminsdk-xts0z@facilitor-165209.iam.gserviceaccount.com",
"client_id": "106239533568553355908",
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"token_uri": "https://oauth2.googleapis.com/token",
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
"client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/firebase-adminsdk-xts0z%40facilitor-165209.iam.gserviceaccount.com",
"universe_domain": "googleapis.com"
}

View File

@@ -60,17 +60,15 @@ PROJEXE=z:\Project\FACILITOR\BUILD
##
## New style using schemanumbers
##
CURRENTVERSION=46
NEXTVERSION=47
FILEVERSION=
NEXTCAREVERSION=37
CURRENTVERSION=50
NEXTVERSION=51
FILEVERSION=a
NEXTROOT=DB$(NEXTVERSION)$(FILEVERSION)
CURRENTUPDATE=DB$(CURRENTVERSION)to$(NEXTVERSION)
UPROOT=$(PROJSRC)\_UP
SRCUPDATE=$(UPROOT)\$(CURRENTUPDATE)
SRCRECREA=$(UPROOT)\recreate
CARERECREA=$(UPROOT)\recare
##
## PATH DEFINES
##
@@ -100,11 +98,9 @@ CLEANUP1=$(MAKTOOLS)\sedclean.bat
##
## RESULTS
##
all: $(EXE)\$(NEXTROOT)\$(CURRENTUPDATE)$(FILEVERSION).SQL \
all: $(EXE)\$(NEXTROOT)\FCLT$(NEXTVERSION)$(FILEVERSION).SQL \
$(EXE)\$(NEXTROOT)\RECRE$(NEXTVERSION)$(FILEVERSION).SQL \
$(EXE)\CARE\CARE$(NEXTCAREVERSION).SQL \
$(EXE)\CARE\RECAR$(NEXTCAREVERSION).SQL \
$(EXE)\$(NEXTROOT)\FCLT$(NEXTVERSION)$(FILEVERSION).SQL
$(EXE)\$(NEXTROOT)\$(CURRENTUPDATE)$(FILEVERSION).SQL
##
## DEPENDENCIES AND ACTIONS
@@ -197,10 +193,21 @@ $(EXE)\$(NEXTROOT)\FCLT$(NEXTVERSION)$(FILEVERSION).SQL: \
$(MSRC)\fac\fac_pacl.src \
$(MSRC)\fac\fac_pacflex.src \
$(MSRC)\fac\fac_pacdel.src \
$(MSRC)\fac\fac_pactsk.src \
$(MSRC)\fac\fac_seq.src \
$(MSRC)\fac\fac_tab.src \
$(MSRC)\fac\fac_tri.src \
$(MSRC)\fac\fac_vie.src \
$(MSRC)\fac\fac_vieexp.src \
$(MSRC)\ini\ini_ind.src \
$(MSRC)\ini\ini_ini.src \
$(MSRC)\ini\ini_pac.src \
$(MSRC)\ini\ini_seq.src \
$(MSRC)\ini\ini_tab.src \
$(MSRC)\ini\ini_tri.src \
$(MSRC)\ini\fmis\fmis_ini.sql \
$(MSRC)\ini\itsm\itsm_ini.sql \
$(MSRC)\ini\plat\plat_ini.sql \
$(MSRC)\ins\ins_ind.src \
$(MSRC)\ins\ins_ini.src \
$(MSRC)\ins\ins_lcl.src \
@@ -320,38 +327,4 @@ $(EXE)\$(NEXTROOT)\RECRE$(NEXTVERSION)$(FILEVERSION).SQL: \
$(WRAP1) iname=$(TEMP)\$(*B)_.sql oname=$(TEMP)\$(*B).sql
COPY $(TEMP)\$(*B).sql $(EXE)\$(NEXTROOT)\RECRE$(NEXTVERSION)$(FILEVERSION).SQL
##########################################################################
####
#### FACILITOR CARE-WEBB EXTENSION
####
##########################################################################
$(EXE)\CARE\CARE$(NEXTCAREVERSION).SQL: \
$(MAK)\fclt.nmk \
$(MSRC)\modules.h \
$(MSRC)\care.src \
$(MSRC)\care\care_tab.src \
$(MSRC)\care\care_ind.src \
$(MSRC)\care\care_vie.src \
$(MSRC)\care\care_pac.src \
$(MSRC)\care\care_ini.src
@IF NOT EXIST $(EXE)\CARE\NUL mkdir $(EXE)\CARE
$(PRECOMP) $(PRECOMP_OPTIONS) $(MSRC)\care.src>$(TEMP)\$(*B)_.sql
$(CLEANUP1) $(TEMP)\$(*B)_.sql
COPY $(TEMP)\$(*B)_.sql $(EXE)\CARE\CARE$(NEXTCAREVERSION)_.SQL
$(WRAP1) iname=$(TEMP)\$(*B)_.sql oname=$(TEMP)\$(*B).sql
COPY $(TEMP)\$(*B).sql $(EXE)\CARE\CARE$(NEXTCAREVERSION).SQL
$(EXE)\CARE\RECAR$(NEXTCAREVERSION).SQL: \
$(CARERECREA).src \
$(MAK)\fclt.nmk \
$(MSRC)\care.src \
$(MSRC)\comsql.h \
$(EXE)\CARE\CARE$(NEXTCAREVERSION).sql
@IF NOT EXIST $(EXE)\CARE\NUL mkdir $(EXE)\CARE
$(PRECOMP) $(PRECOMP_OPTIONS) $(CARERECREA).src>$(TEMP)\$(*B)_.sql
$(CLEANUP1) $(TEMP)\$(*B)_.sql
COPY $(TEMP)\$(*B)_.sql $(EXE)\CARE\RECAR$(NEXTCAREVERSION)_.SQL
$(WRAP1) iname=$(TEMP)\$(*B)_.sql oname=$(TEMP)\$(*B).sql
COPY $(TEMP)\$(*B).sql $(EXE)\CARE\RECAR$(NEXTCAREVERSION).SQL
## END-OF-FILE

View File

@@ -59,7 +59,7 @@ WHENEVER SQLERROR CONTINUE;
PROMPT [&fcltlogfile]
PROMPT
PROMPT Copyright 1996-2024 Aareon Nederland B.V. All rights reserved.
PROMPT Copyright 1996-2025 Aareon Nederland B.V. All rights reserved.
PROMPT
PROMPT This is the generated list-file of EVALCONCAT(FCLT,_DBV).sql which was used
PROMPT to create the Facilitor(r) EVALCONCAT(DB,_DBV) schema in Oracle
@@ -100,6 +100,7 @@ SET ECHO ON
#include "aut\aut_tab.src"
#include "cnd\cnd_tab.src"
#include "exc\exc_tab.src"
#include "ini\ini_tab.src"
/* SEQUENCES */
#include "fac\fac_seq.src"
@@ -122,6 +123,7 @@ SET ECHO ON
#include "ctr\ctr_seq.src"
#include "aut\aut_seq.src"
#include "exc\exc_seq.src"
#include "ini\ini_seq.src"
/* INDICES */
#include "fac\fac_ind.src"
@@ -144,6 +146,7 @@ SET ECHO ON
#include "ctr\ctr_ind.src"
#include "aut\aut_ind.src"
#include "exc\exc_ind.src"
#include "ini\ini_ind.src"
/* VIEWS, PACKAGES, TRIGGERS and LOCALES */
#include "_up/recreate.inc"
@@ -169,6 +172,7 @@ SET ECHO ON
#include "ctr\ctr_ini.src"
#include "aut\aut_ini.src"
#include "exc\exc_ini.src"
#include "ini\ini_ini.src"
COMMIT;
@@ -200,5 +204,5 @@ SELECT 'Schema FACILITOR@' || USER || ' is now ' || fac.getdbversion() FROM DUAL
PROMPT
PROMPT Your schema initialisation is ready. Please check the logfile for errors.
PROMPT If in doubt please contact: FACILITOR Helpdesk +31 53 4800 710
PROMPT Copyright (c) 1996-2024 Aareon Nederland B.V. All rights reserved.
PROMPT Copyright (c) 1996-2025 Aareon Nederland B.V. All rights reserved.
SPOOL OFF

View File

@@ -544,12 +544,13 @@ AS
DBMS_OUTPUT.put_line ('Totaal gefactureerd periode: ' || totaaltermijngefactureerd);
END IF;
IF totaalgefactureerd <=
contractkosten + fac.safe_to_number (fac.getsetting ('cnt_factuur_totaalmarge'))
AND fin.tolerantiematch (discipline,
ftype,
totaaltermijngefactureerd,
COALESCE (factuurschemabedrag, contracttermijnkosten)) = 1
IF ( totaalgefactureerd <=
contractkosten + fac.safe_to_number (fac.getsetting ('cnt_factuur_totaalmarge'))
OR contractkosten IS NULL)
AND fin.tolerantiematch (discipline,
ftype,
totaaltermijngefactureerd,
COALESCE (factuurschemabedrag, contracttermijnkosten)) = 1
THEN
retval := 1;
ELSE

View File

@@ -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
@@ -209,7 +212,6 @@ CREATE_TABLE(fin_kenmerk,0)
VARCHAR2(10)
,fin_kenmerk_kenmerktype
VARCHAR2(1)
CONSTRAINT fin_c_fin_kenmerk_type1 CHECK(fin_kenmerk_kenmerktype IN ('C','N','D','T','R','X','L','Q','F','M','E','S','l','B','V'))
,fin_kenmerk_systeem
NUMBER(2)
,fin_kenmerk_toonbaar

View File

@@ -3,8 +3,8 @@
* $Id$
*/
CREATE_TRIGGER(fin_t_fin_factuur_b_iu)
BEFORE INSERT OR UPDATE ON fin_factuur
CREATE_TRIGGER(fin_t_fin_factuur_b_i)
BEFORE INSERT ON fin_factuur
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(fin_factuur_key, fin_s_fin_factuur_key);
@@ -13,8 +13,8 @@ BEGIN
END;
/
CREATE_TRIGGER(fin_t_fin_factuurregel_b_iu)
BEFORE INSERT OR UPDATE ON fin_factuurregel
CREATE_TRIGGER(fin_t_fin_factuurregel_b_i)
BEFORE INSERT ON fin_factuurregel
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(fin_factuurregel_key, fin_s_fin_factuurregel_key);
@@ -84,7 +84,7 @@ BEGIN
APPLICATION_ERROR_GOTO(-20004, 'fin_M232,'|| KenmerkOmschr ||','
|| TO_CHAR(KenmerkLengte));
END IF;
ELSIF KenmerkType IN ('N', 'B')
ELSIF KenmerkType = 'N'
/*
** Number
*/
@@ -304,12 +304,12 @@ BEGIN
THEN
raise_application_error(-20000, 'fin_M238');
END IF;
IF :new.fin_kenmerk_kenmerktype IN ('C','N', 'B') AND :new.fin_kenmerk_lengte IS NULL
IF :new.fin_kenmerk_kenmerktype IN ('C','N') AND :new.fin_kenmerk_lengte IS NULL
THEN
raise_application_error(-20000, 'fin_C_fin_KENMERK_LENGTE');
END IF;
-- Numeriek mag niet te lang zijn (numeric overflow)
IF :new.fin_kenmerk_kenmerktype IN ('N', 'B') AND :new.fin_kenmerk_lengte > 20
IF :new.fin_kenmerk_kenmerktype = 'N' AND :new.fin_kenmerk_lengte > 20
THEN
:new.fin_kenmerk_lengte := 20;
END IF;

View File

@@ -77,108 +77,101 @@ CREATE_VIEW(fin_v_udr_factuur, 1)
bedrag_excl_btw,
status,
opmerking,
budgethouder
budgethouder,
budgethouder_key
)
AS
SELECT f.fin_factuur_key,
f.fin_factuur_datum factuur_datum,
(SELECT b.prs_bedrijf_naam
FROM prs_bedrijf b
WHERE prs_bedrijf_key =
COALESCE (o.mld_uitvoerende_keys, c.cnt_prs_bedrijf_key, bo.prs_bedrijf_key))
uitvoerende,
(SELECT b.prs_leverancier_nr
FROM prs_bedrijf b
WHERE prs_bedrijf_key =
COALESCE (o.mld_uitvoerende_keys, c.cnt_prs_bedrijf_key, bo.prs_bedrijf_key))
leverancier_nr,
fin_factuur_nr factuurnr_extern,
CASE
WHEN f.mld_opdr_key IS NOT NULL THEN lcl.l ('lcl_fin_mld_opdr')
WHEN f.cnt_contract_key IS NOT NULL THEN lcl.l ('lcl_fin_cnt_contract')
WHEN f.bes_bestelopdr_key IS NOT NULL THEN lcl.l ('lcl_fin_bestelling')
END
CASE,
COALESCE (
NVL2 (
f.mld_opdr_key,
ins_srtdiscipline_prefix
|| TO_CHAR (o.mld_melding_key)
|| '/'
|| o.mld_opdr_bedrijfopdr_volgnr,
NULL),
NVL2 (
f.cnt_contract_key,
'C'
|| cnt_contract_nummer_intern
|| NVL2 (cnt_contract_versie, '.' || cnt_contract_versie, ''),
NULL),
NVL2 (f.bes_bestelopdr_key, bo.bes_bestelopdr_id, NULL),
' ')
opdrachtnr,
f.mld_opdr_key,
f.cnt_contract_key,
f.bes_bestelopdr_key,
NVL2 (
k.prs_kostenplaats_nr,
prs_kostenplaats_nr || ' '
|| lcl.x ('prs_kostenplaats_omschrijving',
k.prs_kostenplaats_key,
k.prs_kostenplaats_omschrijving),
'')
kostenplaats,
DECODE (k.prs_kostenplaats_extern, 1, lcl.l ('lcl_yes'), lcl.l ('lcl_no')),
cd.ins_discipline_omschrijving,
(SELECT MIN (ins_discipline_omschrijving)
FROM bes_discipline bd,
bes_srtgroep bg,
bes_srtdeel bs,
bes_bestelling_item bi,
bes_bestelopdr_item boi
WHERE boi.bes_bestelopdr_key = bo.bes_bestelopdr_key
AND bi.bes_bestelopdr_item_key = boi.bes_bestelopdr_item_key
AND bs.bes_srtdeel_key = bi.bes_srtdeel_key
AND bg.bes_srtgroep_key = bs.bes_srtgroep_key
AND bd.ins_discipline_key = bg.ins_discipline_key)
bes_discipline_omschrijving,
ks.prs_kostensoort_oms,
ks.prs_kostensoort_opmerking,
ks.prs_kostensoort_refcode,
ks.prs_kostensoort_altcode,
DECODE (ks.prs_kostensoort_btw, 1, lcl.l ('lcl_yes'), lcl.l ('lcl_no')),
mld_stdmelding_omschrijving,
f.fin_factuur_totaal + f.fin_factuur_totaal_btw bedrag_incl_btw,
f.fin_factuur_totaal bedrag_excl_btw,
fs.fin_factuur_statuses_omschr,
f.fin_factuur_opmerking,
(SELECT p.prs_perslid_naam_full
FROM prs_v_perslid_fullnames_all p
WHERE prs_perslid_key = fin.getfiatteur(f.fin_factuur_key))
budgethouder
FROM fin_factuur f,
prs_kostenplaats k,
mld_opdr o,
mld_melding m,
mld_discipline d,
mld_stdmelding sm,
ins_srtdiscipline sd,
cnt_contract c,
cnt_discipline cd,
bes_bestelopdr bo,
prs_kostensoort ks,
fin_factuur_statuses fs
WHERE fin.getfactuurkostenplaats(f.fin_factuur_key) = k.prs_kostenplaats_key(+)
AND f.prs_kostensoort_key = ks.prs_kostensoort_key(+)
AND f.mld_opdr_key = o.mld_opdr_key(+)
AND o.mld_melding_key = m.mld_melding_key(+)
AND m.mld_stdmelding_key = sm.mld_stdmelding_key(+)
AND sm.mld_ins_discipline_key = d.ins_discipline_key(+)
AND d.ins_srtdiscipline_key = sd.ins_srtdiscipline_key(+)
AND f.cnt_contract_key = c.cnt_contract_key(+)
AND c.ins_discipline_key = cd.ins_discipline_key(+)
AND f.bes_bestelopdr_key = bo.bes_bestelopdr_key(+)
AND f.fin_factuur_statuses_key = fs.fin_factuur_statuses_key
AND f.fin_factuur_verwijder IS NULL;
WITH
fiatteur_data
AS
(SELECT f.fin_factuur_key, fin.getfiatteur (f.fin_factuur_key) AS budgethouder_key
FROM fin_factuur f)
SELECT f.fin_factuur_key
, f.fin_factuur_datum
factuur_datum
, (SELECT b.prs_bedrijf_naam
FROM prs_bedrijf b
WHERE prs_bedrijf_key = COALESCE (o.mld_uitvoerende_keys, c.cnt_prs_bedrijf_key, bo.prs_bedrijf_key))
uitvoerende
, (SELECT b.prs_leverancier_nr
FROM prs_bedrijf b
WHERE prs_bedrijf_key = COALESCE (o.mld_uitvoerende_keys, c.cnt_prs_bedrijf_key, bo.prs_bedrijf_key))
leverancier_nr
, fin_factuur_nr
factuurnr_extern
, CASE
WHEN f.mld_opdr_key IS NOT NULL THEN lcl.l ('lcl_fin_mld_opdr')
WHEN f.cnt_contract_key IS NOT NULL THEN lcl.l ('lcl_fin_cnt_contract')
WHEN f.bes_bestelopdr_key IS NOT NULL THEN lcl.l ('lcl_fin_bestelling')
END
CASE
, COALESCE (NVL2 (f.mld_opdr_key, ins_srtdiscipline_prefix || TO_CHAR (o.mld_melding_key) || '/' || o.mld_opdr_bedrijfopdr_volgnr, NULL)
, NVL2 (f.cnt_contract_key, 'C' || cnt_contract_nummer_intern || NVL2 (cnt_contract_versie, '.' || cnt_contract_versie, ''), NULL)
, NVL2 (f.bes_bestelopdr_key, bo.bes_bestelopdr_id, NULL)
, ' ')
opdrachtnr
, f.mld_opdr_key
, f.cnt_contract_key
, f.bes_bestelopdr_key
, NVL2 (k.prs_kostenplaats_nr, prs_kostenplaats_nr || ' ' || lcl.x ('prs_kostenplaats_omschrijving', k.prs_kostenplaats_key, k.prs_kostenplaats_omschrijving), '')
kostenplaats
, DECODE (k.prs_kostenplaats_extern, 1, lcl.l ('lcl_yes'), lcl.l ('lcl_no'))
, cd.ins_discipline_omschrijving
, (SELECT MIN (ins_discipline_omschrijving)
FROM bes_discipline bd
, bes_srtgroep bg
, bes_srtdeel bs
, bes_bestelling_item bi
, bes_bestelopdr_item boi
WHERE boi.bes_bestelopdr_key = bo.bes_bestelopdr_key
AND bi.bes_bestelopdr_item_key = boi.bes_bestelopdr_item_key
AND bs.bes_srtdeel_key = bi.bes_srtdeel_key
AND bg.bes_srtgroep_key = bs.bes_srtgroep_key
AND bd.ins_discipline_key = bg.ins_discipline_key)
bes_discipline_omschrijving
, ks.prs_kostensoort_oms
, ks.prs_kostensoort_opmerking
, ks.prs_kostensoort_refcode
, ks.prs_kostensoort_altcode
, DECODE (ks.prs_kostensoort_btw, 1, lcl.l ('lcl_yes'), lcl.l ('lcl_no'))
, mld_stdmelding_omschrijving
, f.fin_factuur_totaal + f.fin_factuur_totaal_btw
bedrag_incl_btw
, f.fin_factuur_totaal
bedrag_excl_btw
, fs.fin_factuur_statuses_omschr
, f.fin_factuur_opmerking
, (SELECT p.prs_perslid_naam_full
FROM prs_v_perslid_fullnames_all p
WHERE p.prs_perslid_key = fd.budgethouder_key)
AS budgethouder
, fd.budgethouder_key
FROM fin_factuur f
, prs_kostenplaats k
, mld_opdr o
, mld_melding m
, mld_discipline d
, mld_stdmelding sm
, ins_srtdiscipline sd
, cnt_contract c
, cnt_discipline cd
, bes_bestelopdr bo
, prs_kostensoort ks
, fin_factuur_statuses fs
, fiatteur_data fd
WHERE fin.getfactuurkostenplaats (f.fin_factuur_key) = k.prs_kostenplaats_key(+)
AND f.prs_kostensoort_key = ks.prs_kostensoort_key(+)
AND f.fin_factuur_key = fd.fin_factuur_key
AND f.mld_opdr_key = o.mld_opdr_key(+)
AND o.mld_melding_key = m.mld_melding_key(+)
AND m.mld_stdmelding_key = sm.mld_stdmelding_key(+)
AND sm.mld_ins_discipline_key = d.ins_discipline_key(+)
AND d.ins_srtdiscipline_key = sd.ins_srtdiscipline_key(+)
AND f.cnt_contract_key = c.cnt_contract_key(+)
AND c.ins_discipline_key = cd.ins_discipline_key(+)
AND f.bes_bestelopdr_key = bo.bes_bestelopdr_key(+)
AND f.fin_factuur_statuses_key = fs.fin_factuur_statuses_key
AND f.fin_factuur_verwijder IS NULL;
// Dit is strict geen fin view, maar het is de UDR-versie van het kostenoverzicht
// dat bedragen rapporteert over de BROC.

752
INI/FMIS/fmis_ini.sql Normal file
View File

@@ -0,0 +1,752 @@
--
-- $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.
--
-- 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)
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)
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)
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;
-- beetje lomp, wat vinden we?
UPDATE fac_imp_mld SET mld_stdmelding_slabewaken = 0, mld_stdmelding_notfrontend = 0
WHERE ins_srtdiscipline_omschrijving <> 'FMIS-Melding';
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-%';
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
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
WHERE mld_srtkenmerk_omschrijving = 'Bijlagen' and mld_srtkenmerk_kenmerktype = 'M';
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);
-- Activiteiten zijn er default al, catalogi dan, plus de combinaties
INSERT INTO ins_tab_discipline (ins_discipline_omschrijving, ins_discipline_module, ins_discipline_min_level) VALUES ('Vergaderruimte', 'RES', 3);
INSERT INTO res_disc_params (res_ins_discipline_key) SELECT MAX (ins_discipline_key) FROM ins_tab_discipline WHERE ins_discipline_omschrijving = 'Vergaderruimte';
INSERT INTO ins_tab_discipline (ins_discipline_omschrijving, ins_discipline_module, ins_discipline_min_level) VALUES ('Flexplekken', 'RES', 5);
INSERT INTO res_disc_params (res_ins_discipline_key, res_disc_params_expire_dagen, res_disc_params_cancel_dagen)
SELECT MAX (ins_discipline_key), 0, 0 FROM ins_tab_discipline WHERE ins_discipline_omschrijving = 'Flexplekken';
INSERT INTO res_activiteit (res_activiteit_omschrijving, res_srtactiviteit_key, res_activiteit_intervals)
SELECT 'Werkplekreservering', res_srtactiviteit_key,
'[{ "name": "Hele dag", "begin": "08:00", "end": "17:00"}, { "name": "Ochtend", "begin": "08:00", "end": "12:00"}, { "name": "Middag", "begin": "13:00", "end": "17:00"}]'
FROM res_srtactiviteit
WHERE res_srtactiviteit_omschrijving = 'Flexwerken';
-- De catalogus om ruimten te reserveren moet nog wel aan de activiteit gekoppeld worden.
INSERT INTO res_activiteitdiscipline (res_discipline_key, res_activiteit_key)
SELECT ins_discipline_key, res_activiteit_key
FROM res_activiteit ra, ins_tab_discipline id
WHERE res_activiteit_omschrijving = 'Vergadering' -- van de core
AND id.ins_discipline_omschrijving = 'Vergaderruimte';
INSERT INTO res_activiteitdiscipline (res_discipline_key, res_activiteit_key)
SELECT ins_discipline_key, res_activiteit_key
FROM res_activiteit ra, ins_tab_discipline id
WHERE ra.res_activiteit_omschrijving = 'Werkplekreservering'
AND id.ins_discipline_omschrijving = 'Flexplekken';
-- Voeg de artikelscope voor alle catering catalogi (min_level=2) toe voor alle locaties
-- Als ik onbeperkt wil, is dit dan nodig?
INSERT INTO res_srtartikel_onrgoed (alg_onrgoed_key, alg_onrgoed_niveau, res_discipline_key)
SELECT alg_locatie_key, 'L', ins_discipline_key
FROM res_discipline rd, alg_locatie l
WHERE ins_discipline_min_level = 2;
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');
fac.writelog ('INI.FMIS_INI','I', 'BEZ completed', '');
-- 6. CNT
DECLARE
v_discipline_key ins_tab_discipline.ins_discipline_key%TYPE;
v_key cnt_srtkenmerk.cnt_srtkenmerk_key%TYPE;
BEGIN
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;
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');
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');
INSERT INTO ins_tab_discipline (ins_discipline_omschrijving, ins_discipline_module) VALUES ('Huishoudelijke mededelingen', 'MSG');
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_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
FROM fac_functie
WHERE fac_functie_code = 'WEB_ALGUSE';
INSERT INTO cad_thema (cad_thema_omschrijving, cad_legenda_key, cad_thema_view, cad_thema_type, fac_functie_key)
SELECT 'Open meldingen', 2, 'cad_v_thema_openmeldingen', 1, fac_functie_key
FROM fac_functie
WHERE fac_functie_code = 'WEB_MLDBAC';
INSERT INTO cad_thema (cad_thema_omschrijving, cad_legenda_key, cad_thema_view, cad_thema_type, fac_functie_key)
SELECT 'Bezetting: aantal werkplekken', 1, 'cad_v_thema_aantalwp', 1, fac_functie_key
FROM fac_functie
WHERE fac_functie_code = 'WEB_PRSBOF';
INSERT INTO cad_thema (cad_thema_omschrijving, cad_legenda_key, cad_thema_view, cad_thema_type, fac_functie_key)
SELECT 'Oppervlakte: Gemiddeld/werkplek', 1, 'cad_v_thema_wpopp', 1, fac_functie_key
FROM fac_functie
WHERE fac_functie_code = 'WEB_PRSBOF';
INSERT INTO cad_thema (cad_thema_omschrijving, cad_legenda_key, cad_thema_view, cad_thema_type, fac_functie_key)
SELECT 'Actuele bezetting', 1, 'cad_v_thema_srtruimtesensor', 1, fac_functie_key
FROM fac_functie
WHERE fac_functie_code = 'WEB_RESFOF';
INSERT INTO cad_thema (cad_thema_omschrijving, cad_legenda_key, cad_thema_view, cad_thema_type, fac_functie_key)
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';
-- CAD labels
INSERT INTO cad_label (cad_label_omschrijving, cad_label_view, cad_label_type, fac_functie_key, cad_label_size)
SELECT 'Ruimtefunctie/opp', 'cad_v_label_srtruimteopp', '1', fac_functie_key, 360
FROM fac_functie
WHERE fac_functie_code = 'WEB_ALGUSE';
INSERT INTO cad_label (cad_label_omschrijving, cad_label_view, cad_label_type, fac_functie_key, cad_label_size)
SELECT 'Bewoners', 'cad_v_label_bewoner', '1', fac_functie_key, 300
FROM fac_functie
WHERE fac_functie_code = 'WEB_PRSUSE';
INSERT INTO cad_label (cad_label_omschrijving, cad_label_view, cad_label_type, fac_functie_key, cad_label_size)
SELECT 'Werkplekken', 'cad_v_label_werkplekken', '1', fac_functie_key, 800
FROM fac_functie
WHERE fac_functie_code = 'WEB_PRSBOF';
INSERT INTO cad_label (cad_label_omschrijving, cad_label_view, cad_label_type, fac_functie_key, cad_label_size)
SELECT 'Bewoners/werkplekken', 'cad_v_label_bewonerwp', '1', fac_functie_key, 800
FROM fac_functie
WHERE fac_functie_code = 'WEB_PRSUSE';
INSERT INTO cad_label (cad_label_omschrijving, cad_label_view, cad_label_type, fac_functie_key, cad_label_size, cad_label_visible)
SELECT 'Flexibele ruimtes', 'cad_v_label_bezetbareruimtes', '1', fac_functie_key, 500, 0
FROM fac_functie
WHERE fac_functie_code = 'WEB_RESFOF';
INSERT INTO cad_label (cad_label_omschrijving, cad_label_view, cad_label_type, fac_functie_key, cad_label_size, cad_label_visible)
SELECT 'Werkplekbezetting', 'cad_v_label_deel_res_datum', '17', fac_functie_key, 700, 0
FROM fac_functie
WHERE fac_functie_code = 'WEB_RESUSE';
--- 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'
, '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)
SELECT 'EN', MAX(fac_usrrap_key), 'FAC_USRRAP_INFO', 'Reservation overview for information screens' FROM fac_usrrap WHERE fac_usrrap_view_name = 'res_v_rap_infobordframe';
UPDATE fac_setting SET fac_setting_pvalue = (SELECT MAX(cad_thema_key) FROM cad_thema WHERE cad_thema_view = 'cad_v_thema_srtruimtesensor') WHERE fac_setting_name = 'fg_infobordthema_key' AND fac_setting_pvalue IS NULL;
UPDATE fac_setting SET fac_setting_pvalue = (SELECT MAX(cad_thema_key) FROM cad_thema WHERE cad_thema_view = 'cad_v_label_bezetbareruimtes') WHERE fac_setting_name = 'fg_infobordlabel_key' AND fac_setting_pvalue IS NULL;
UPDATE fac_setting SET fac_setting_pvalue = (SELECT MAX(fac_usrrap_key) FROM fac_usrrap WHERE fac_usrrap_view_name = 'res_v_rap_infobordframe') WHERE fac_setting_name = 'fg_infobordreport_key' AND fac_setting_pvalue IS NULL;
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(!)
-- 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', '');
-- 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');
-- 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.
-- Medewerker 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')
AND f.fac_functie_module = d.ins_discipline_module
AND g.fac_groep_upper = '_DEFAULT'
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);
-- Frontoffice 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_RESFOF', 'WEB_MLDFOF', 'WEB_BESFOF', 'WEB_BEZFOF', 'WEB_FAQFOF', 'WEB_INSFOF')
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(+)
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);
-- Backoffice 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_RESBOF', 'WEB_MLDBOF', 'WEB_ORDBOF', 'WEB_BESBOF', 'WEB_BEZBOF', 'WEB_FAQBOF', 'WEB_INSUSE', 'WEB_INSMAN', 'WEB_CNTMAN', 'WEB_CNTUSE')
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(+)
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);
-- Beheerder 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_BESMSU', 'WEB_BEZMSU', 'WEB_FAQMSU', 'WEB_INSMSU',
'WEB_RESMGT', 'WEB_MLDMGT', 'WEB_BESMGT', 'WEB_BEZMGT', 'WEB_FAQMGT', 'WEB_INSMGT',
'WEB_RESBAC', 'WEB_MLDBAC', 'WEB_BESBAC', 'WEB_BEZBAC')
AND f.fac_functie_module = d.ins_discipline_module
AND g.fac_groep_upper = '_ADMIN'
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);
-- _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.
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_module = d.ins_discipline_module
AND g.fac_groep_upper = '_FACILITOR'
AND f.fac_functie_discipline = 1
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);
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,
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;
-- Wil ik dit, en zo, en specifiek? Core!
INSERT INTO fac_menu (fac_menu_altlabel,
fac_menu_altgroep,
fac_menu_volgnr,
fac_menu_alturl,
fac_functie_key,
fac_menu_level,
ins_discipline_key)
SELECT 'Reserveer werkplek**',
0,
650,
'appl/res/res_rsv_deel_by_placetime.asp?selectmode=1&res_disc='
|| rd.ins_discipline_key
|| '&limit=15',
f.fac_functie_key,
0,
rd.ins_discipline_key
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
SELECT 'Onze organisatie', 'DIR', 'Directie', 'D' FROM DUAL UNION ALL
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', '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;
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'
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_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',
prs_perslid_key
FROM prs_perslid
WHERE prs_perslid_oslogin = '_FACILITOR';
fac.writelog ('INI.FMIS_INI','I', 'All completed', '');
------ payload end ------
BEGIN adm.systrackscriptId ('$Id$', 1); END;

7
INI/INI_IND.SRC Normal file
View File

@@ -0,0 +1,7 @@
/* $Revision$
* $Id$
*/
CREATE UNIQUE INDEX ini_i_ini_setup_name1 ON ini_setup(UPPER(ini_setup_name));
REGISTERONCE('$Id$')

11
INI/INI_INI.SRC Normal file
View File

@@ -0,0 +1,11 @@
/* $Revision$
* $Id$
*/
// Basis setup raamwerken
DEF_SETUP('FMIS', 'Facility Management');
DEF_SETUP('ITSM', 'IT Service Management (ITIL v4)');
//DEF_SETUP('P2P', 'Inkoop en bestellen (P2P)*');
//DEF_SETUP('REMS', 'Vastgoedbeheer*');
REGISTERONCE('$Id$')

69
INI/INI_PAC.SRC Normal file
View File

@@ -0,0 +1,69 @@
/* $Revision$
* $Id$
*/
/*
* Dit is een frame, de echte functionaliteit zit in de verschillende includes
*
* Ambitie is om deze includes zodanig te definieren dat ze tbv development als los script gedraaid kunnen worden
* en ze hier pas in de proc komen, maar dat is nog maar de vraag of dat lukt. JE mag dan iig geen SQLPlus gebruiken.
*/
#include "comsql.h"
CREATE OR REPLACE PACKAGE ini
AS
FUNCTION getImportKey (p_import_app_code VARCHAR2) RETURN NUMBER;
PROCEDURE fmis_ini;
PROCEDURE itsm_ini;
PROCEDURE init (modulenaam IN VARCHAR2);
END ini;
/
CREATE OR REPLACE PACKAGE BODY ini AS
-- Local tooling for INI
FUNCTION getImportKey (p_import_app_code VARCHAR2)
RETURN NUMBER
AS
v_import_key NUMBER;
v_import_app_key NUMBER;
BEGIN
SELECT fac_import_app_key
INTO v_import_app_key
FROM fac_import_app
WHERE fac_import_app_code = UPPER(p_import_app_code);
INSERT INTO fac_import (fac_import_app_key, fac_import_datum_gelezen)
VALUES (v_import_app_key, SYSDATE)
RETURNING fac_import_key INTO v_import_key;
RETURN v_import_key;
END;
-- End of local tooling
PROCEDURE fmis_ini
AS
BEGIN
#include "fmis/fmis_ini.sql"
END;
PROCEDURE itsm_ini
AS
BEGIN
#include "itsm/itsm_ini.sql"
END;
PROCEDURE init (modulenaam IN VARCHAR2)
AS
BEGIN
-- not yet supported
NULL;
END;
END ini;
/
REGISTERRUN('$Id$')

8
INI/INI_SEQ.SRC Normal file
View File

@@ -0,0 +1,8 @@
/*
* $Revision$
* $Id$
*/
CREATE SEQUENCE ini_s_ini_setup_key MINVALUE 1;
REGISTERONCE('$Id$')

20
INI/INI_TAB.SRC Normal file
View File

@@ -0,0 +1,20 @@
/*
* $Revision$
* $Id$
*/
/* Initial(/basis) setup framework */
CREATE_TABLE (ini_setup, 0)
(
ini_setup_key
VARCHAR2(30)
CONSTRAINT ini_k_ini_setup_key PRIMARY KEY,
ini_setup_name /* Afkorting, bijv. FMIS */
VARCHAR2(60),
ini_setup_name_full /* Voluit, bijv. Facility Management Information System */
VARCHAR2(255),
ini_setup_date
DATE
);
REGISTERONCE('$Id$')

15
INI/INI_TRI.SRC Normal file
View File

@@ -0,0 +1,15 @@
/*
* $Revision$
* $Id$
*
*/
CREATE_TRIGGER(ini_t_ini_setup_B_I)
BEFORE INSERT ON ini_setup
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(ini_setup_key, ini_s_ini_setup_key);
END;
/
REGISTERRUN('$Id$')

2667
INI/ITSM/itsm_ini.sql Normal file

File diff suppressed because it is too large Load Diff

14
INI/PLAT/plat_ini.sql Normal file
View File

@@ -0,0 +1,14 @@
--
-- $Id$
--
-- Script bevat initiele configuratie voor een standaard Plato inrichting van Facilitor
-- Plato is de MJOB-tool voor woco's, dat zou samenwerken met Tobias
--
--
fac.writelog ('INI.PLAT_INI','I', 'All completed', '');
------ payload end ------
BEGIN adm.systrackscriptId ('$Id$', 1); END;

View File

@@ -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');

View File

@@ -54,16 +54,15 @@ CREATE OR REPLACE PACKAGE BODY ins AS
END;
-- Determine max+1 volgnr for an object (deel or onderdeel) op basis van het format prefix+volgnummer
-- De laagste is 001 maar vervolgens wordt het gevonde aantal cijfers aangehouden, dus prefix0001+1 = prefix0002
-- De laagste is 001 maar vervolgens wordt het gevonden aantal cijfers aangehouden, dus prefix0001+1 = prefix0002
-- Zo nodig wordt er een cijfer bij gedaan. De prefix wordt case-insensitive beschouwd.
-- Alleen actuele objecten worden beschouwd, dus dit is in zekere zin een beetje tijdsafhankelijk
FUNCTION nextdescription( pprefix IN VARCHAR2
, pparentkey IN NUMBER
, pseparator IN VARCHAR2 DEFAULT 'default') RETURN VARCHAR2 IS
nextvolgnr VARCHAR2(30); -- overdreven
returnstring ins_deel.ins_deel_omschrijving%TYPE;
lprefix VARCHAR2(30); -- overdreven, inclusief evt separator
lseparator VARCHAR(30); -- ook overdreven
lseparator VARCHAR2(30); -- ook overdreven
BEGIN
IF pseparator = 'default'
THEN
@@ -71,34 +70,37 @@ CREATE OR REPLACE PACKAGE BODY ins AS
ELSE
lseparator := pseparator;
END IF;
lprefix := pprefix||lseparator;
lprefix := pprefix || lseparator;
-- uniqueness is assumed over the entire database
IF pparentkey IS NULL
THEN
SELECT COALESCE(LPAD( TO_CHAR(MAX(TO_NUMBER(SUBSTR(ins_deel_upper, LENGTH(lprefix)+1,LENGTH(ins_deel_upper)-LENGTH(lprefix))))+1) , MAX(LENGTH(ins_deel_upper)-LENGTH(lprefix)),'0'),'001')
SELECT CASE
WHEN COALESCE(MAX(TO_NUMBER(SUBSTR(ins_deel_upper, LENGTH(lprefix) + 1))) + 1, 1) < 1000
THEN COALESCE(LPAD(TO_CHAR(MAX(TO_NUMBER(SUBSTR(ins_deel_upper, LENGTH(lprefix) + 1))) + 1), MAX(LENGTH(ins_deel_upper) - LENGTH(lprefix)), '0'), '001')
ELSE TO_CHAR(MAX(TO_NUMBER(SUBSTR(ins_deel_upper, LENGTH(lprefix) + 1))) + 1)
END nextvolgnr
INTO nextvolgnr
FROM ins_deel
WHERE ins_deel_upper LIKE UPPER(lprefix)||'%'
AND fac.safe_to_integer(SUBSTR(ins_deel_upper, LENGTH(lprefix)+1,LENGTH(ins_deel_upper)-LENGTH(lprefix))) IS NOT NULL
WHERE ins_deel_upper LIKE UPPER(lprefix) || '%'
AND fac.safe_to_integer(SUBSTR(ins_deel_upper, LENGTH(lprefix) + 1)) IS NOT NULL
AND LTRIM(SUBSTR (ins_deel_upper, LENGTH (lprefix) + 1), '0') = TO_CHAR(fac.safe_to_integer ((SUBSTR (ins_deel_upper, LENGTH (lprefix) + 1))))
AND ins_deel_parent_key IS NULL
AND ins_deel_verwijder IS NULL;
ELSIF pparentkey IS NOT NULL
THEN
SELECT COALESCE(LPAD( TO_CHAR(MAX(TO_NUMBER(SUBSTR(ins_deel_upper, LENGTH(lprefix)+1,LENGTH(ins_deel_upper)-LENGTH(lprefix))))+1) , MAX(LENGTH(ins_deel_upper)-LENGTH(lprefix)),'0'),'001')
SELECT CASE
WHEN COALESCE(MAX(TO_NUMBER(SUBSTR(ins_deel_upper, LENGTH(lprefix) + 1))) + 1, 1) < 1000
THEN COALESCE(LPAD(TO_CHAR(MAX(TO_NUMBER(SUBSTR(ins_deel_upper, LENGTH(lprefix) + 1))) + 1), MAX(LENGTH(ins_deel_upper) - LENGTH(lprefix)), '0'), '001')
ELSE TO_CHAR(MAX(TO_NUMBER(SUBSTR(ins_deel_upper, LENGTH(lprefix) + 1))) + 1)
END nextvolgnr
INTO nextvolgnr
FROM ins_deel
WHERE ins_deel_upper LIKE UPPER(lprefix)||'%'
AND fac.safe_to_integer(SUBSTR(ins_deel_upper, LENGTH(lprefix)+1,LENGTH(ins_deel_upper)-LENGTH(lprefix))) IS NOT NULL
WHERE ins_deel_upper LIKE UPPER(lprefix) || '%'
AND fac.safe_to_integer(SUBSTR(ins_deel_upper, LENGTH(lprefix) + 1)) IS NOT NULL
AND ins_deel_parent_key = pparentkey
AND ins_deel_verwijder IS NULL;
END IF;
-- bij overflow moet er een digit bij komen: 999+1=1000 en bovenstaande levert dan 100
IF LOG (10, TO_NUMBER(nextvolgnr)) = ROUND (LOG (10, TO_NUMBER(nextvolgnr)), 0) AND LENGTH(nextvolgnr) >= LOG (10, TO_NUMBER(nextvolgnr))
THEN
nextvolgnr := nextvolgnr||'0';
END IF;
returnstring := pprefix||lseparator||nextvolgnr;
returnstring := pprefix || lseparator || nextvolgnr;
RETURN returnstring;
END;

View File

@@ -31,9 +31,9 @@ CREATE_TABLE(ins_srtdiscipline,0)
ins_srtdiscipline_mld
NUMBER(1) DEFAULT (0)
CONSTRAINT ins_c_ins_srtdiscipline_mld CHECK(ins_srtdiscipline_mld IN (0,1)),
ins_srtdiscipline_bes /* reserved for future use */
ins_srtdiscipline_bes
NUMBER(1) DEFAULT (0)
CONSTRAINT ins_c_ins_srtdiscipline_bes CHECK(ins_srtdiscipline_bes IN (0,1)),
CONSTRAINT ins_c_ins_srtdiscipline_bes CHECK(ins_srtdiscipline_bes IN (0,1,2)),
ins_srtdiscipline_prs /* reserved for future use */
NUMBER(1) DEFAULT (0)
CONSTRAINT ins_c_ins_srtdiscipline_prs CHECK(ins_srtdiscipline_prs IN (0,1)),
@@ -701,7 +701,7 @@ CREATE_TABLE(ins_deelsrtcontrole, 0)
NOT NULL REFERENCES ins_deel ON DELETE CASCADE,
ins_srtcontrole_key
NUMBER(10)
NOT NULL
NOT NULL
CONSTRAINT ins_r_ins_srtcontrole_key1 REFERENCES ins_srtcontrole(ins_srtcontrole_key),
ins_deelsrtcontrole_datum
DATE,
@@ -716,7 +716,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,
@@ -773,8 +773,7 @@ CREATE_TABLE(ins_srtkenmerk, 0)
ins_srtkenmerk_dimensie
VARCHAR2(10),
ins_srtkenmerk_kenmerktype
VARCHAR2(1)
CONSTRAINT ins_c_ins_srtkenmerk_kenmtype CHECK(ins_srtkenmerk_kenmerktype IN ('C','N','D','T','R','X','L','Q','F','M','E','S','l','B','V')),
VARCHAR2(1),
ins_srtkenmerk_systeem -- &1 = systeemkm, &2 = primary, show in list
NUMBER(2)
DEFAULT 0 NOT NULL,
@@ -818,7 +817,7 @@ CREATE_TABLE(ins_kenmerk, 0)
ins_kenmerk_niveau
VARCHAR2(1)
CONSTRAINT ins_c_ins_kenmerk_niveau2 CHECK
(ins_kenmerk_niveau IS NOT NULL AND (ins_kenmerk_niveau IN('D', 'G', 'S', 'C'))), /* C=srtcontrole */
(ins_kenmerk_niveau IS NOT NULL AND (ins_kenmerk_niveau IN ('D', 'G', 'S', 'T', 'C', 'E'))), /* D=Discipline, G=Objectgroep, S=Objectsoort, T=Alle taken, C=Periodiek taken, E=Taakcategorie */
ins_kenmerk_bewerkniveau /* Kenmerk behoort bij individueel Deel of algemeen Srtdeel */
VARCHAR2(1) DEFAULT 'D' NOT NULL
CONSTRAINT ins_c_ins_kenmerk_bewerk CHECK(ins_kenmerk_bewerkniveau IN ('D', 'S')),
@@ -828,6 +827,8 @@ CREATE_TABLE(ins_kenmerk, 0)
VARCHAR2(60),
ins_kenmerk_verplicht
NUMBER(1),
ins_kenmerk_verplicht_status
NUMBER(1),
ins_kenmerk_groep
NUMBER(1)
DEFAULT 0 NOT NULL,
@@ -849,6 +850,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
@@ -871,7 +875,7 @@ CREATE_TABLE(ins_kenmerk, 0)
fac_functie_key
NUMBER(10)
CONSTRAINT fac_r_ins_kenmerk_functie REFERENCES fac_functie (fac_functie_key),
CONSTRAINT ins_r_ins_srtinstallatie_key1 CHECK(ins_srtinstallatie_key IS NOT NULL OR ins_kenmerk_niveau = 'D'),
CONSTRAINT ins_r_ins_srtinstallatie_key1 CHECK(ins_srtinstallatie_key IS NOT NULL OR ins_kenmerk_niveau IN ('D', 'T')),
CONSTRAINT ins_u_ins_kenmerk UNIQUE(ins_srtkenmerk_key, ins_srtinstallatie_key, ins_kenmerk_niveau, ins_kenmerk_omschrijving, ins_kenmerk_groep, ins_kenmerk_verwijder)
);

View File

@@ -207,7 +207,8 @@ BEGIN
FROM cnt_v_aanwezigcontract_object, cnt_v_aanwezigcontract
WHERE cnt_v_aanwezigcontract_object.cnt_contract_key = cnt_v_aanwezigcontract.cnt_contract_key
AND cnt_v_aanwezigcontract_object.cnt_ins_deel_key = :old.ins_deel_key
AND cnt_v_aanwezigcontract.cnt_contract_looptijd_tot > sysdate;
AND cnt_v_aanwezigcontract.cnt_contract_looptijd_tot > SYSDATE
AND cnt_v_aanwezigcontract.cnt_contract_status <> 1;
raise_application_error(-20000, 'cnt_m030');
EXCEPTION
WHEN NO_DATA_FOUND THEN NULL;
@@ -319,6 +320,9 @@ BEGIN
ELSIF :new.ins_alg_ruimte_type = 'P'
THEN
CHECK_KEY_REFERENCE(prs_v_aanwezigperslid , prs_perslid_key , :new.ins_alg_ruimte_key, 'ins_m195');
ELSIF :new.ins_alg_ruimte_type IS NULL
THEN
CHECK_KEY_REFERENCE(ins_v_aanwezigdeel , ins_deel_key , :new.ins_alg_ruimte_key, 'ins_m205');
ELSE
raise_application_error(-20000, 'ins_m84');
END IF;
@@ -354,7 +358,7 @@ CREATE OR REPLACE TRIGGER ins_t_ins_deel_A_U
AFTER UPDATE ON ins_deel
FOR EACH ROW
DECLARE
lmelder_oslogin CONSTANT VARCHAR2 (10) := '_SENSOR';
lmelder_oslogin CONSTANT VARCHAR2 (10) := '_SYSTEEM';
new_date DATE;
prev_state ins_deel_state_history.ins_deel_state%TYPE;
lstate_history_key ins_deel_state_history.ins_deel_state_history_key%TYPE;
@@ -436,7 +440,7 @@ BEGIN
EXCEPTION
WHEN NO_DATA_FOUND
THEN
fac.putsystemnotification ('Invalid configuration: missing _SENSOR user',
fac.putsystemnotification ('Invalid configuration: missing _SYSTEEM user',
1);
END;
@@ -802,17 +806,17 @@ BEGIN
raise_application_error(-20000, 'INS_M156');
END IF;
IF :new.ins_srtkenmerk_kenmerktype IN ('C', 'N', 'B') AND :new.ins_srtkenmerk_lengte IS NULL
IF :new.ins_srtkenmerk_kenmerktype IN ('C', 'N') AND :new.ins_srtkenmerk_lengte IS NULL
THEN
raise_application_error(-20000, 'INS_C_INS_SRTKENMERK_LENGTE');
END IF;
-- Numeriek mag niet te lang zijn (numeric overflow)
IF :new.ins_srtkenmerk_kenmerktype IN ('N', 'B') AND :new.ins_srtkenmerk_lengte > 20
IF :new.ins_srtkenmerk_kenmerktype = 'N' AND :new.ins_srtkenmerk_lengte > 20
THEN
:new.ins_srtkenmerk_lengte := 20;
END IF;
IF :new.ins_srtkenmerk_kenmerktype IN ('N', 'B') AND :old.ins_srtkenmerk_key IS NOT NULL
IF :new.ins_srtkenmerk_kenmerktype = 'N' AND :old.ins_srtkenmerk_key IS NOT NULL
THEN
IF :old.ins_srtkenmerk_nmin <> :new.ins_srtkenmerk_nmin OR
(:old.ins_srtkenmerk_nmin IS NULL AND :new.ins_srtkenmerk_nmin IS NOT NULL)
@@ -928,7 +932,7 @@ BEGIN
THEN
APPLICATION_ERROR_GOTO(-20004, 'ins_m143,'||SrtKenmerkOmschr||','||TO_CHAR(SrtKenmerkLengte));
END IF;
ELSIF SrtKenmerkType IN ('N', 'B') /* Number */
ELSIF SrtKenmerkType = 'N' /* Number */
THEN
/* Controleer of er een numerieke waarde ingevuld is */
IF SrtKenmerkDec IS NULL OR SrtKenmerkDec = 0
@@ -1037,7 +1041,7 @@ BEGIN
THEN
APPLICATION_ERROR_GOTO(-20004, 'ins_m143,'||SrtKenmerkOmschr||','||TO_CHAR(SrtKenmerkLengte));
END IF;
ELSIF SrtKenmerkType IN ('N', 'B') /* Number */
ELSIF SrtKenmerkType = 'N' /* Number */
THEN
/* Controleer of er een numerieke waarde ingevuld is */
IF SrtKenmerkDec IS NULL OR SrtKenmerkDec = 0

View File

@@ -39,16 +39,65 @@ AS
AND fac_code2label_domein = 'controle'
AND fac_locale_xsl_lang = lcl.getuserlanguage ();
/* Voor onderdelen de plaats/eigenaar van de parent. */
CREATE_VIEW(ins_v_deelenonderdeel, 0)
AS
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,
ins_v_aanwezigdeel,0) AND
ins_deel_parent_key IS NULL;
/* Views met ins_onderdeel moeten voorwaarde : "AND ins_deel_parent_key IS NOT NULL" bevatten... */
DEFINIEER_VIEW_AANWEZIG(ins_deel, ins_deel_verwijder,
DEFINIEER_VIEW_AANWEZIG(ins_v_deelenonderdeel, ins_deel_verwijder,
ins_v_aanwezigonderdeel,0) AND
ins_deel_parent_key IS NOT NULL;
DEFINIEER_VIEW_AANWEZIG(ins_v_deelenonderdeel, ins_deel_verwijder,
ins_v_aanwezigdeelenonderdeel,0);
CREATE_VIEW(ins_v_srtgroep_gegevens,0) AS
SELECT ins_D.ins_discipline_key, ins_D.ins_discipline_omschrijving,
@@ -470,6 +519,169 @@ AS SELECT INS_D.ins_discipline_key
* komt te staan.
*/
CREATE_VIEW(ins_v_deelenonderdeel_gegevens,0)
( ins_discipline_key
, ins_discipline_omschrijving
, ins_srtgroep_key
, ins_srtgroep_omschrijving
, ins_srtgroep_upper
, ins_srtdeel_key
, ins_srtdeel_omschrijving
, ins_srtdeel_upper
, alg_locatie_key
, alg_gebouw_key
, alg_gebouw_code
, alg_gebouw_naam
, alg_gebouw_omschrijving
, alg_gebouw_upper
, alg_verdieping_key
, alg_verdieping_omschrijving
, alg_verdieping_upper
, alg_verdieping_code
, alg_ruimte_key
, alg_ruimte_nr
, alg_ruimte_upper_nr
, prs_werkplek_key
, prs_werkplek_module
, prs_werkplek_volgnr
, alg_terreinsector_key
, alg_terreinsector_omschrijving
, alg_terreinsector_upper
, alg_plaatsaanduiding
, prs_afdeling_key
, prs_afdeling_omschrijving
, prs_afdeling_upper
, prs_perslid_key
, prs_perslid_volnaam
, prs_perslid_upper
, ins_deel_key
, ins_deel_omschrijving
, ins_deel_upper
, ins_deel_aantal
, ins_deel_oppervlak
, ins_deel_omtrek
, ins_deel_aanmaak
, ins_deel_opmerking
, ins_deel_getekend
, ins_deel_vervaldatum
)
AS SELECT INS_D.ins_discipline_key
, INS_D.ins_discipline_omschrijving
, INS_SG.ins_srtgroep_key
, INS_SG.ins_srtgroep_omschrijving
, INS_SG.ins_srtgroep_upper
, INS_SD.ins_srtdeel_key
, INS_SD.ins_srtdeel_code||'-'||INS_SD.ins_srtdeel_omschrijving
, INS_SD.ins_srtdeel_upper
, INS_DE.ins_alg_locatie_key
, INS_AO.alg_gebouw_key
, INS_AO.alg_gebouw_code
, INS_AO.alg_gebouw_naam
, INS_AO.alg_gebouw_omschrijving
, INS_AO.alg_gebouw_upper
, INS_AO.alg_verdieping_key
, INS_AO.alg_verdieping_omschrijving
, INS_AO.alg_verdieping_upper
, INS_AO.alg_verdieping_code
, INS_AO.alg_ruimte_key
, INS_AO.alg_ruimte_nr
, INS_AO.alg_ruimte_upper_nr
, INS_AO.prs_werkplek_key
, INS_AO.prs_werkplek_module
, INS_AO.prs_werkplek_volgnr
, INS_AO.alg_terreinsector_key
, INS_AO.alg_terreinsector_omschrijving
, INS_AO.alg_terreinsector_upper
, INS_AO.alg_plaatsaanduiding
, to_number(NULL)
, NULL
, NULL
, to_number(NULL)
, NULL
, NULL
, INS_DE.ins_deel_key
, INS_DE.ins_deel_omschrijving
, INS_DE.ins_deel_upper
, INS_DE.ins_deel_aantal
, INS_DE.ins_deel_oppervlak
, INS_DE.ins_deel_omtrek
, INS_DE.ins_deel_aanmaak
, INS_DE.ins_deel_opmerking
, INS_DE.ins_deel_getekend
, INS_DE.ins_deel_vervaldatum
FROM ins_v_deelenonderdeel INS_DE
, ins_tab_discipline INS_D
, ins_v_alg_overzicht INS_AO
, ins_srtdeel INS_SD
, ins_srtgroep INS_SG
WHERE INS_DE.ins_deel_verwijder IS NULL
AND INS_AO.alg_onroerendgoed_keys = INS_DE.ins_alg_ruimte_key
AND INS_AO.alg_onroerendgoed_type = INS_DE.ins_alg_ruimte_type
AND INS_DE.ins_alg_ruimte_type IN ('T','R','W')
AND INS_AO.alg_locatie_key = INS_DE.ins_alg_locatie_key
AND INS_SD.ins_srtdeel_key = INS_DE.ins_srtdeel_key
AND INS_SG.ins_srtgroep_key = INS_SD.ins_srtgroep_key
AND INS_D.ins_discipline_key = INS_DE.ins_discipline_key
AND INS_DE.ins_discipline_key IN (SELECT ins_discipline_key FROM ins_discipline)
UNION
SELECT INS_D.ins_discipline_key
, INS_D.ins_discipline_omschrijving
, INS_SG.ins_srtgroep_key
, INS_SG.ins_srtgroep_omschrijving
, INS_SG.ins_srtgroep_upper
, INS_SD.ins_srtdeel_key
, INS_SD.ins_srtdeel_code||'-'||INS_SD.ins_srtdeel_omschrijving
, INS_SD.ins_srtdeel_upper
, INS_DE.ins_alg_locatie_key
, to_number(NULL)
, NULL
, NULL
, NULL
, NULL
, to_number(NULL)
, NULL
, NULL
, to_number(NULL)
, to_number(NULL)
, NULL
, NULL
, to_number(NULL)
, NULL
, to_number(NULL)
, to_number(NULL)
, NULL
, NULL
, decode(PRS_AP.prs_roerendgoed_type,'A',prs_afdeling_upper,'P',prs_perslid_volnaam)
, PRS_AP.prs_afdeling_key
, PRS_AP.prs_afdeling_omschrijving
, PRS_AP.prs_afdeling_upper
, PRS_AP.prs_perslid_key
, PRS_AP.prs_perslid_volnaam
, PRS_AP.prs_perslid_upper
, INS_DE.ins_deel_key
, INS_DE.ins_deel_omschrijving
, INS_DE.ins_deel_upper
, INS_DE.ins_deel_aantal
, INS_DE.ins_deel_oppervlak
, INS_DE.ins_deel_omtrek
, INS_DE.ins_deel_aanmaak
, INS_DE.ins_deel_opmerking
, INS_DE.ins_deel_getekend
, INS_DE.ins_deel_vervaldatum
FROM ins_v_deelenonderdeel INS_DE
, ins_tab_discipline INS_D
, prs_v_afdeling_perslid PRS_AP
, ins_srtdeel INS_SD
, ins_srtgroep INS_SG
WHERE INS_DE.ins_deel_verwijder IS NULL
AND PRS_AP.prs_roerendgoed_key = INS_DE.ins_alg_ruimte_key
AND PRS_AP.prs_roerendgoed_type = INS_DE.ins_alg_ruimte_type
AND INS_DE.ins_alg_ruimte_type IN ('A','P')
AND INS_SD.ins_srtdeel_key = INS_DE.ins_srtdeel_key
AND INS_SG.ins_srtgroep_key = INS_SD.ins_srtgroep_key
AND INS_D.ins_discipline_key = INS_DE.ins_discipline_key
AND INS_DE.ins_discipline_key IN (SELECT ins_discipline_key FROM ins_discipline);
CREATE_VIEW(ins_v_orgdeel_gegevens,0)
( ins_discipline_key
, ins_discipline_omschrijving
@@ -680,7 +892,7 @@ AS
select de.ins_discipline_key,gr.ins_srtgroep_key,de.ins_srtdeel_key
,de.ins_alg_locatie_key,ve.alg_gebouw_key,ru.alg_verdieping_key
,de.ins_alg_ruimte_key,to_number(null),to_number(null),to_number(null),to_number(null),de.ins_deel_key
from ins_deel de,ins_srtgroep gr, ins_srtdeel sd, alg_ruimte ru,alg_verdieping ve
from ins_v_deelenonderdeel de,ins_srtgroep gr, ins_srtdeel sd, alg_ruimte ru,alg_verdieping ve
where de.ins_discipline_key = gr.ins_discipline_key
and de.ins_srtdeel_key = sd.ins_srtdeel_key
and sd.ins_srtgroep_key = gr.ins_srtgroep_key
@@ -691,7 +903,7 @@ union
select de.ins_discipline_key,gr.ins_srtgroep_key,de.ins_srtdeel_key
,de.ins_alg_locatie_key,ve.alg_gebouw_key,ru.alg_verdieping_key
,ru.alg_ruimte_key,de.ins_alg_ruimte_key,to_number(null),to_number(null),to_number(null),de.ins_deel_key
from ins_deel de,ins_srtgroep gr, ins_srtdeel sd, prs_werkplek wp, alg_ruimte ru, alg_verdieping ve
from ins_v_deelenonderdeel de,ins_srtgroep gr, ins_srtdeel sd, prs_werkplek wp, alg_ruimte ru, alg_verdieping ve
where de.ins_discipline_key = gr.ins_discipline_key
and de.ins_srtdeel_key = sd.ins_srtdeel_key
and sd.ins_srtgroep_key = gr.ins_srtgroep_key
@@ -703,7 +915,7 @@ union
select de.ins_discipline_key,gr.ins_srtgroep_key,de.ins_srtdeel_key
,de.ins_alg_locatie_key,to_number(null),to_number(null),to_number(null),to_number(null)
,de.ins_alg_ruimte_key,to_number(null),to_number(null),de.ins_deel_key
from ins_deel de,ins_srtgroep gr, ins_srtdeel sd
from ins_v_deelenonderdeel de,ins_srtgroep gr, ins_srtdeel sd
where de.ins_discipline_key = gr.ins_discipline_key
and de.ins_srtdeel_key = sd.ins_srtdeel_key
and sd.ins_srtgroep_key = gr.ins_srtgroep_key and de.ins_alg_ruimte_type = 'T'
@@ -712,7 +924,7 @@ union
select de.ins_discipline_key,gr.ins_srtgroep_key,de.ins_srtdeel_key
,de.ins_alg_locatie_key,to_number(null),to_number(null)
,to_number(null),to_number(null), to_number(null),de.ins_alg_ruimte_key,to_number(null),de.ins_deel_key
from ins_deel de,ins_srtgroep gr,ins_srtdeel sd
from ins_v_deelenonderdeel de,ins_srtgroep gr,ins_srtdeel sd
where de.ins_discipline_key = gr.ins_discipline_key
and de.ins_srtdeel_key = sd.ins_srtdeel_key
and sd.ins_srtgroep_key = gr.ins_srtgroep_key and de.ins_alg_ruimte_type = 'A'
@@ -721,7 +933,7 @@ union
select de.ins_discipline_key,gr.ins_srtgroep_key,de.ins_srtdeel_key
,de.ins_alg_locatie_key,to_number(null),to_number(null)
,to_number(null),to_number(null),to_number(null),af.prs_afdeling_key,de.ins_alg_ruimte_key,de.ins_deel_key
from ins_deel de,ins_srtgroep gr,ins_srtdeel sd,prs_perslid pl,prs_afdeling af
from ins_v_deelenonderdeel de,ins_srtgroep gr,ins_srtdeel sd,prs_perslid pl,prs_afdeling af
where de.ins_discipline_key = gr.ins_discipline_key
and de.ins_srtdeel_key = sd.ins_srtdeel_key
and sd.ins_srtgroep_key = gr.ins_srtgroep_key
@@ -738,7 +950,7 @@ AS
select de.ins_discipline_key,gr.ins_srtgroep_key,de.ins_srtdeel_key
,de.ins_alg_locatie_key,ve.alg_gebouw_key,ru.alg_verdieping_key
,de.ins_alg_ruimte_key_org,TO_NUMBER(null),TO_NUMBER(null),TO_NUMBER(null),TO_NUMBER(null),de.ins_deel_key
from ins_deel de,ins_srtgroep gr, ins_srtdeel sd, alg_ruimte ru,alg_verdieping ve
from ins_v_deelenonderdeel de,ins_srtgroep gr, ins_srtdeel sd, alg_ruimte ru,alg_verdieping ve
where de.ins_discipline_key = gr.ins_discipline_key
and de.ins_srtdeel_key = sd.ins_srtdeel_key
and sd.ins_srtgroep_key = gr.ins_srtgroep_key
@@ -749,7 +961,7 @@ union
select de.ins_discipline_key,gr.ins_srtgroep_key,de.ins_srtdeel_key
,de.ins_alg_locatie_key,ve.alg_gebouw_key,ru.alg_verdieping_key
,ru.alg_ruimte_key,de.ins_alg_ruimte_key_org,TO_NUMBER(null),TO_NUMBER(null),TO_NUMBER(null),de.ins_deel_key
from ins_deel de,ins_srtgroep gr, ins_srtdeel sd, prs_werkplek wp, alg_ruimte ru, alg_verdieping ve
from ins_v_deelenonderdeel de,ins_srtgroep gr, ins_srtdeel sd, prs_werkplek wp, alg_ruimte ru, alg_verdieping ve
where de.ins_discipline_key = gr.ins_discipline_key
and de.ins_srtdeel_key = sd.ins_srtdeel_key
and sd.ins_srtgroep_key = gr.ins_srtgroep_key
@@ -761,7 +973,7 @@ union
select de.ins_discipline_key,gr.ins_srtgroep_key,de.ins_srtdeel_key
,de.ins_alg_locatie_key,TO_NUMBER(null),TO_NUMBER(null),TO_NUMBER(null),TO_NUMBER(null)
,de.ins_alg_ruimte_key_org,TO_NUMBER(null),TO_NUMBER(null),de.ins_deel_key
from ins_deel de,ins_srtgroep gr, ins_srtdeel sd
from ins_v_deelenonderdeel de,ins_srtgroep gr, ins_srtdeel sd
where de.ins_discipline_key = gr.ins_discipline_key
and de.ins_srtdeel_key = sd.ins_srtdeel_key
and sd.ins_srtgroep_key = gr.ins_srtgroep_key and de.ins_alg_ruimte_type_org = 'T'
@@ -770,7 +982,7 @@ union
select de.ins_discipline_key,gr.ins_srtgroep_key,de.ins_srtdeel_key
,de.ins_alg_locatie_key,TO_NUMBER(null),TO_NUMBER(null)
,TO_NUMBER(null),TO_NUMBER(null), TO_NUMBER(null),de.ins_alg_ruimte_key_org,TO_NUMBER(null),de.ins_deel_key
from ins_deel de,ins_srtgroep gr,ins_srtdeel sd
from ins_v_deelenonderdeel de,ins_srtgroep gr,ins_srtdeel sd
where de.ins_discipline_key = gr.ins_discipline_key
and de.ins_srtdeel_key = sd.ins_srtdeel_key
and sd.ins_srtgroep_key = gr.ins_srtgroep_key and de.ins_alg_ruimte_type_org = 'A'
@@ -779,7 +991,7 @@ union
select de.ins_discipline_key,gr.ins_srtgroep_key,de.ins_srtdeel_key
,de.ins_alg_locatie_key,TO_NUMBER(null),TO_NUMBER(null)
,TO_NUMBER(null),TO_NUMBER(null),TO_NUMBER(null),af.prs_afdeling_key,de.ins_alg_ruimte_key_org,de.ins_deel_key
from ins_deel de,ins_srtgroep gr,ins_srtdeel sd,prs_perslid pl,prs_afdeling af
from ins_v_deelenonderdeel de,ins_srtgroep gr,ins_srtdeel sd,prs_perslid pl,prs_afdeling af
where de.ins_discipline_key = gr.ins_discipline_key
and de.ins_srtdeel_key = sd.ins_srtdeel_key
and sd.ins_srtgroep_key = gr.ins_srtgroep_key
@@ -830,12 +1042,12 @@ AS SELECT INS_D.ins_discipline_key
, INS_DE.ins_deel_upper
, INS_DE.ins_deel_aantal
, INS_DE2.ins_deel_omschrijving
FROM ins_deel INS_DE
, ins_discipline INS_D
, ins_v_alg_overzicht INS_AO
, ins_srtdeel INS_SD
, ins_srtgroep INS_SG
, ins_deel INS_DE2
FROM ins_v_deelenonderdeel INS_DE
, ins_discipline INS_D
, ins_v_alg_overzicht INS_AO
, ins_srtdeel INS_SD
, ins_srtgroep INS_SG
, ins_v_deelenonderdeel INS_DE2
WHERE INS_DE.ins_deel_verwijder IS NULL
AND INS_DE.ins_deel_parent_key = INS_DE2.ins_deel_key
AND INS_AO.alg_onroerendgoed_keys = INS_DE.ins_alg_ruimte_key
@@ -867,12 +1079,12 @@ AS SELECT INS_D.ins_discipline_key
, INS_DE.ins_deel_upper
, INS_DE.ins_deel_aantal
, INS_DE2.ins_deel_omschrijving
FROM ins_deel INS_DE
FROM ins_v_deelenonderdeel INS_DE
, ins_discipline INS_D
, prs_v_afdeling_perslid PRS_AP
, ins_srtdeel INS_SD
, ins_srtgroep INS_SG
, ins_deel INS_DE2
, ins_v_deelenonderdeel INS_DE2
WHERE INS_DE.ins_deel_verwijder IS NULL
AND INS_DE.ins_deel_parent_key = INS_DE2.ins_deel_key
AND PRS_AP.prs_roerendgoed_key = INS_DE.ins_alg_ruimte_key
@@ -1329,11 +1541,11 @@ AS SELECT ALG_L.alg_locatie_code ||'-'
, INS_D.ins_deel_omschrijving
, INS_D.ins_deel_verwijder
, ALG_V.alg_verdieping_key
FROM ins_deel INS_D
, alg_ruimte ALG_R
, alg_verdieping ALG_V
, alg_gebouw ALG_G
, alg_locatie ALG_L
FROM ins_v_deelenonderdeel INS_D
, alg_ruimte ALG_R
, alg_verdieping ALG_V
, alg_gebouw ALG_G
, alg_locatie ALG_L
WHERE INS_D.ins_alg_ruimte_key = ALG_R.alg_ruimte_key
AND INS_D.ins_alg_ruimte_type = 'R'
AND ALG_R.alg_verdieping_key = ALG_V.alg_verdieping_key
@@ -1358,12 +1570,12 @@ AS SELECT ALG_L.alg_locatie_code ||'-'
, INS_D.ins_deel_omschrijving
, INS_D.ins_deel_verwijder
, ALG_V.alg_verdieping_key
FROM ins_deel INS_D
, prs_werkplek PRS_W
, alg_ruimte ALG_R
, alg_verdieping ALG_V
, alg_gebouw ALG_G
, alg_locatie ALG_L
FROM ins_v_deelenonderdeel INS_D
, prs_werkplek PRS_W
, alg_ruimte ALG_R
, alg_verdieping ALG_V
, alg_gebouw ALG_G
, alg_locatie ALG_L
WHERE INS_D.ins_alg_ruimte_key = PRS_W.prs_werkplek_key
AND INS_D.ins_alg_ruimte_type = 'W'
AND PRS_W.prs_alg_ruimte_key = ALG_R.alg_ruimte_key
@@ -1384,17 +1596,17 @@ CREATE_VIEW (ins_v_ins_deel_verdieping,0)
, alg_verdieping_key)
AS SELECT INS_D.ins_deel_key,
ALG_R.alg_verdieping_key
FROM ins_deel INS_D,
alg_ruimte ALG_R
FROM ins_v_deelenonderdeel INS_D,
alg_ruimte ALG_R
WHERE INS_D.ins_alg_ruimte_key = ALG_R.alg_ruimte_key
AND ins_alg_ruimte_type = 'R'
AND ins_deel_verwijder IS NULL
UNION
SELECT INS_D.ins_deel_key,
ALG_R.alg_verdieping_key
FROM ins_deel INS_D,
prs_werkplek PRS_W,
alg_ruimte ALG_R
FROM ins_v_deelenonderdeel INS_D,
prs_werkplek PRS_W,
alg_ruimte ALG_R
WHERE INS_D.ins_alg_ruimte_key = PRS_W.prs_werkplek_key
AND PRS_W.prs_alg_ruimte_key = ALG_R.alg_ruimte_key
AND ins_alg_ruimte_type = 'W'
@@ -2153,7 +2365,7 @@ AS
ins_srtkenmerk_omschrijving)
kenmerk,
CASE
WHEN skm.ins_srtkenmerk_kenmerktype = 'R' OR skm.ins_srtkenmerk_kenmerktype = 'S'
WHEN skm.ins_srtkenmerk_kenmerktype = 'R' OR skm.ins_srtkenmerk_kenmerktype = 'r' OR skm.ins_srtkenmerk_kenmerktype = 'S'
THEN
flx.getdomeinwaarde (skm.fac_kenmerkdomein_key, km.ins_kenmerkdeel_waarde)
WHEN skm.ins_srtkenmerk_kenmerktype = 'C' OR skm.ins_srtkenmerk_kenmerktype = 'F'
@@ -2164,7 +2376,7 @@ AS
END
waarde_c,
CASE
WHEN skm.ins_srtkenmerk_kenmerktype = 'N' OR skm.ins_srtkenmerk_kenmerktype = 'B'
WHEN skm.ins_srtkenmerk_kenmerktype = 'N'
THEN TO_NUMBER (km.ins_kenmerkdeel_waarde)
ELSE TO_NUMBER (NULL)
END
@@ -2178,7 +2390,7 @@ AS
END
waarde_d,
CASE
WHEN skm.ins_srtkenmerk_kenmerktype IN ('R', 'S')
WHEN skm.ins_srtkenmerk_kenmerktype IN ('R', 'r', 'S')
THEN
flx.getdomeinwaarde (skm.fac_kenmerkdomein_key, km.ins_kenmerkdeel_waarde)
ELSE
@@ -2199,70 +2411,76 @@ AS
-- Alle gedane en lopende inspecties van alle objecten.
CREATE OR REPLACE FORCE VIEW ins_v_udr_deelinspect
AS
SELECT d.deel_key,
d.discipline,
d.soort,
d.groep,
d.soortcode,
d.omschrijving,
d.plaatseigenaar,
d.plaatseigenaartype,
d.plaatsaanduiding,
d.eigenaar,
d.eigenaar_key,
d.opmerking,
d.regio,
d.district,
d.locatie_code,
d.locatie_omschrijving,
d.locatie_plaats,
d.gebouwcode,
d.gebouw,
d.terreinsectorcode,
d.terreinsector,
d.verdiepingcode,
d.ruimtenr,
d.werkplekvolgnr,
d.werkplek,
d.uitleenbaar,
d.uitgeleend,
d.res_opmerking,
d.beheerder,
d.vervaldatum,
d.actief,
d.aantal,
d.state,
d.statedate,
d.fclt_3d_discipline_key,
d.fclt_3d_afdeling_key,
d.fclt_3d_locatie_key,
idsc.ins_deelsrtcontrole_key,
idsc.ins_srtcontrole_key,
(SELECT cd.ins_discipline_omschrijving
FROM ctr_discipline cd, ins_srtcontrole isc
WHERE isc.ins_srtcontrole_key = idsc.ins_srtcontrole_key
AND isc.ctr_discipline_key = cd.ins_discipline_key) ctr_discipline_omschrijving,
(SELECT isc.ins_srtcontrole_omschrijving
FROM ins_srtcontrole isc
WHERE isc.ins_srtcontrole_key = idsc.ins_srtcontrole_key) srtcontrole_omschrijving,
idsc.ins_deelsrtcontrole_datum,
(SELECT icm.ins_controlemode_oms
FROM ins_controlemode icm
WHERE icm.ins_controlemode_key = idsc.ins_controlemode_key) controlemode_omschrijving,
idsc.ins_deelsrtcontrole_opmerking,
(SELECT prs_perslid_naam_full
FROM prs_v_perslid_fullnames_all pf
WHERE pf.prs_perslid_key = idsc.prs_perslid_key) perslid,
idsc.ins_deelsrtcontrole_datum_org,
idsc.ins_deelsrtcontrole_plandatum,
(SELECT lcl.x ('fc2l.fac_code2label_label', fc2l.fac_code2label_key, fc2l.fac_code2label_label)
FROM fac_code2label fc2l
WHERE fc2l.fac_code2label_domein = 'controle'
AND fc2l.fac_code2label_code = idsc.ins_deelsrtcontrole_status) deelsrtcontrole_status,
idsc.ins_deelsrtcontrole_status
FROM ins_v_udr_deel d,
ins_deelsrtcontrole idsc
WHERE d.deel_key = idsc.ins_deel_key;
SELECT d.deel_key
, d.discipline
, d.soort
, d.groep
, d.soortcode
, d.omschrijving
, d.plaatseigenaar
, d.plaatseigenaartype
, d.plaatsaanduiding
, d.eigenaar
, d.eigenaar_key
, d.opmerking
, d.regio
, d.district
, d.locatie_code
, d.locatie_omschrijving
, d.locatie_plaats
, d.gebouwcode
, d.gebouw
, d.terreinsectorcode
, d.terreinsector
, d.verdiepingcode
, d.ruimtenr
, d.werkplekvolgnr
, d.werkplek
, d.uitleenbaar
, d.uitgeleend
, d.res_opmerking
, d.beheerder
, d.vervaldatum
, d.actief
, d.aantal
, d.state
, d.statedate
, d.fclt_3d_discipline_key
, d.fclt_3d_afdeling_key
, d.fclt_3d_locatie_key
, idsc.ins_deelsrtcontrole_key
, idsc.ins_srtcontrole_key
, (SELECT cd.ins_discipline_omschrijving
FROM ctr_discipline cd
WHERE isc.ctr_discipline_key = cd.ins_discipline_key)
ctr_discipline_omschrijving
, isc.ins_srtcontrole_omschrijving
srtcontrole_omschrijving
, idsc.ins_deelsrtcontrole_datum
, icm.ins_controlemode_oms
controlemode_omschrijving
, icm.ins_controlemode_opmerking
controlemode_opmerking
, DECODE (icm.ins_controlemode_success, 1, lcl.l ('lcl_yes'), 0, lcl.l ('lcl_no'), lcl.l('lcl_unknown'))
controlemode_succes
, idsc.ins_deelsrtcontrole_opmerking
, (SELECT prs_perslid_naam_full
FROM prs_v_perslid_fullnames_all pf
WHERE pf.prs_perslid_key = idsc.prs_perslid_key) perslid
, idsc.ins_deelsrtcontrole_datum_org
, idsc.ins_deelsrtcontrole_plandatum
, (SELECT lcl.x ('fc2l.fac_code2label_label', fc2l.fac_code2label_key, fc2l.fac_code2label_label)
FROM fac_code2label fc2l
WHERE fc2l.fac_code2label_domein = 'controle'
AND fc2l.fac_code2label_code = idsc.ins_deelsrtcontrole_status) deelsrtcontrole_status
, idsc.ins_deelsrtcontrole_status
FROM ins_v_udr_deel d
, ins_deelsrtcontrole idsc
, ins_srtcontrole isc
, ins_controlemode icm
WHERE isc.ins_srtcontrole_key = idsc.ins_srtcontrole_key
AND icm.ins_controlemode_key(+) = idsc.ins_controlemode_key
AND d.deel_key = idsc.ins_deel_key;
-- Alle soort controles die op de objecten zitten.
CREATE OR REPLACE FORCE VIEW ins_v_udr_deelsrtcontrole
@@ -2468,7 +2686,7 @@ AS
ROUND (h.ins_deel_statetime, 2) ratio,
og.alg_locatie_key fclt_3d_locatie_key,
d.ins_discipline_key fclt_3d_discipline_key
FROM ins_deel_state_history_all h, ins_deel d, ins_v_alg_overzicht og
FROM ins_deel_state_history_all h, ins_v_deelenonderdeel d, ins_v_alg_overzicht og
WHERE og.alg_onroerendgoed_keys = d.ins_alg_ruimte_key
AND og.alg_onroerendgoed_type = d.ins_alg_ruimte_type
AND d.ins_deel_key = h.ins_deel_key;
@@ -2495,7 +2713,7 @@ AS
og.alg_locatie_key fclt_3d_locatie_key,
d.ins_discipline_key fclt_3d_discipline_key
FROM ins_deel_state_history h,
ins_deel d,
ins_v_deelenonderdeel d,
ins_v_alg_overzicht og,
ins_srtdeel sd
WHERE og.alg_onroerendgoed_keys = d.ins_alg_ruimte_key
@@ -2521,9 +2739,21 @@ AS
|| cp.prs_contactpersoon_naam contactpersoon,
a.prs_afdeling_omschrijving afdeling_omschrijving,
a.prs_afdeling_naam afdeling_code,
b.prs_bedrijf_naam bedrijf_naam
b.prs_bedrijf_naam bedrijf_naam,
d.ins_deel_vervaldatum vervaldatum,
d.ins_deel_verwijder verwijderdatum,
CASE
WHEN d.ins_deel_vervaldatum IS NULL OR d.ins_deel_vervaldatum > SYSDATE
THEN lcl.l('lcl_no')
ELSE lcl.l('lcl_yes')
END vervallen,
CASE
WHEN d.ins_deel_verwijder IS NULL
THEN lcl.l('lcl_no')
ELSE lcl.l('lcl_yes')
END verwijderd
FROM ins_deel_uitgifte du,
ins_deel d,
ins_v_deelenonderdeel d,
ins_srtdeel sd,
ins_srtgroep sg,
ins_discipline dis,

View File

@@ -86,6 +86,12 @@ CREATE UNIQUE INDEX mld_i_mld_disc_disc1 ON mld_discipline_discipline(mld_discip
CREATE UNIQUE INDEX mld_i_mld_typeopdrfaq1 ON mld_typeopdrfaq(mld_typeopdr_key, fac_faq_key);
CREATE INDEX mld_i_mld_typeopdrfaq2 ON mld_typeopdrfaq(fac_faq_key);
CREATE INDEX mld_i_mld_kenmerkblokmelding ON mld_kenmerkblokmelding(prs_perslid_key);
CREATE INDEX mld_i_mld_vrije_dagen_id ON mld_vrije_dagen(mld_vrije_dagen_id);
CREATE UNIQUE INDEX mld_i_mld_melding_tag1 ON mld_melding_tag(ins_srtdiscipline_key, UPPER(mld_melding_tag_naam), mld_melding_tag_verwijder);
REGISTERONCE('$Id$')
#endif // MLD

View File

@@ -192,10 +192,7 @@ DEFINE_LOCALEITEM(lcl_select_stdmelding)
DEFINE_LOCALEITEM(lcl_select_mld_process_grp)
DEFINE_LOCALEITEM(lcl_mld_processor)
DEFINE_LOCALEITEM(lcl_mld_processing_details)
DEFINE_LOCALEITEM(mld_discipline_srtgroepLOV)
DEFINE_LOCALEITEM(lcl_default_processing_group)
DEFINE_LOCALEITEM(mld_processing_group)
DEFINE_LOCALEITEM(mld_discipline_bhgnotify)
DEFINE_LOCALEITEM(lcl_mld_is_mldnew)
DEFINE_LOCALEITEM(lcl_mld_is_mldupd)
DEFINE_LOCALEITEM(lcl_mld_is_mldafm)

File diff suppressed because it is too large Load Diff

View File

@@ -4,6 +4,7 @@
*/
CREATE SEQUENCE mld_s_mld_disc_params_key MINVALUE 1;
CREATE SEQUENCE mld_s_mld_vervolg_beperking_key MINVALUE 1;
CREATE SEQUENCE mld_s_mld_oorzaak_key MINVALUE 1;
CREATE SEQUENCE mld_s_mld_meldbron_key MINVALUE 50;
CREATE SEQUENCE mld_s_mld_standaardopdr_key MINVALUE 1;
@@ -18,6 +19,7 @@ CREATE SEQUENCE mld_s_mld_vrije_dagen_key MINVALUE 1;
CREATE SEQUENCE mld_s_mld_stdmelding_key MINVALUE 1; /* also used for mld_typeopdr */
CREATE SEQUENCE mld_s_mld_stdmeldinggroep_key MINVALUE 1;
CREATE SEQUENCE mld_s_mld_behandelgroep_key MINVALUE 1;
CREATE SEQUENCE mld_s_mld_melding_tag_key MINVALUE 1;
CREATE SEQUENCE mld_s_mld_stdm_srtinst_key MINVALUE 1;
CREATE SEQUENCE mld_s_mld_object_key MINVALUE 1;
@@ -38,6 +40,7 @@ CREATE SEQUENCE mld_s_mld_impropdr_key MINVALUE 1;
CREATE SEQUENCE mld_s_mld_opdruren_kosten_key MINVALUE 1;
CREATE SEQUENCE mld_s_mld_kosten_key MINVALUE 10;
CREATE SEQUENCE mld_s_mld_opdruren_dagk_key MINVALUE 1;
CREATE SEQUENCE mld_s_mld_kenmerkblokmelding_key MINVALUE 1;
CREATE SEQUENCE mld_s_dienstniveau_key MINVALUE 1;
CREATE SEQUENCE mld_s_dienstpakket_key MINVALUE 1;

View File

@@ -138,6 +138,25 @@ CREATE_TABLE(mld_disc_params, 0)
NUMBER(3) DEFAULT(0) NOT NULL
);
/* GUI-directives, used to restrict the vervolgmelding of a melding of ins_srtdiscipline_key_1 to ins_srtdiscipline_key_2
* Optional, no record for ins_srtdiscipline_key_1 = no restrictions for ins_srtdiscipline_key_1
*/
CREATE_TABLE(mld_vervolg_beperking, 0)
(
mld_vervolg_beperking_key
NUMBER(10)
PRIMARY KEY,
ins_srtdiscipline_key_1
NUMBER(10) NOT NULL
CONSTRAINT mld_r_ins_srtdiscipline_key1 REFERENCES ins_srtdiscipline(ins_srtdiscipline_key) ON DELETE CASCADE,
ins_srtdiscipline_key_2
NUMBER(10) NOT NULL
CONSTRAINT mld_r_ins_srtdiscipline_key3 REFERENCES ins_srtdiscipline(ins_srtdiscipline_key) ON DELETE CASCADE,
mld_vervolg_beperking_aanmaak
DATE DEFAULT SYSDATE NOT NULL
);
CREATE_TABLE(mld_oorzaak,0)
(
mld_oorzaak_key
@@ -170,6 +189,10 @@ CREATE_TABLE(mld_meldbron,0)
mld_meldbron_upper
VARCHAR2(30)
NOT_NULL(mld_meldbron_upper, mld_c_mld_meldbron_upper),
mld_meldbron_kiesbaar
NUMBER(1)
DEFAULT 0
NOT NULL,
mld_meldbron_default
NUMBER(1),
mld_meldbron_aanmaak
@@ -289,6 +312,9 @@ CREATE_TABLE(mld_typeopdr,0)
mld_typeopdr_afhandeling /* Afhandeling verplicht bij afmelden opdracht van dit opdrachttype (0=Nee/1=Ja) */
NUMBER(1)
DEFAULT 0,
mld_typeopdr_confirm_for_send /* Hoe moet de opdrachten verstuurd worden (&1=Vraag opwerpen voor verzending, &2=Markeren voor verzending => 0=Direct versturen (Default), 1=Eerst Vragen, 2=Markeren) */
NUMBER(1)
DEFAULT 0,
mld_typeopdr_gvs
NUMBER(11,2)
DEFAULT 1000000,
@@ -306,6 +332,9 @@ CREATE_TABLE(mld_typeopdr,0)
DEFAULT 0 NOT NULL,
mld_typeopdr_image
VARCHAR2(255 CHAR),
mld_typeopdr_code
VARCHAR2(60)
CONSTRAINT mld_u_mld_typeopdr_code UNIQUE,
CONSTRAINT mld_u_mld_typeopdr_upper UNIQUE(mld_typeopdr_upper, mld_typeopdr_module)
);
@@ -340,6 +369,39 @@ CREATE_TABLE(mld_stdmeldinggroep,0)
CONSTRAINT mld_u_stdmeldinggroep_naam UNIQUE (mld_stdmeldinggroep_naam)
);
CREATE_TABLE(mld_melding_tag,0) /* generieke opzet voor mld_releases of mld_releasekalender: mijlpalen */
(
mld_melding_tag_key
NUMBER(10)
CONSTRAINT mld_k_melding_tag_key PRIMARY KEY,
ins_srtdiscipline_key
NUMBER(10) NOT NULL
CONSTRAINT mld_r_ins_srtdiscipline_key4 REFERENCES ins_srtdiscipline(ins_srtdiscipline_key) ON DELETE CASCADE,
mld_melding_tag_naam
VARCHAR2(30)
NOT NULL,
mld_melding_tag_oms /* korte omschrijving */
VARCHAR2(1000),
mld_stdmeldinggroep_key /* optional reference to mld_stdmeldinggroep */
NUMBER(10)
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,
prs_perslid_key /* aanmaker of verantwoordelijke */
NUMBER(10)
CONSTRAINT mld_r_prs_perslid_key15 REFERENCES prs_perslid(prs_perslid_key),
mld_melding_tag_aanmaak
DATE DEFAULT SYSDATE NOT NULL,
mld_melding_tag_verwijder
DATE
/* UNIQUE via index mld_i_mld_melding_tag1 */
);
CREATE_TABLE(mld_stdmelding,0)
(
mld_stdmelding_key
@@ -526,6 +588,10 @@ CREATE_TABLE(mld_stdmelding,0)
NUMBER(1)
DEFAULT 0
NOT NULL,
mld_stdmelding_taggable // mld_melding_tag (mijlpaal) voor indirecte einddatum 0=geen, 1=intern zichtbaar, +2=3=extern zichtbaar
NUMBER(1)
DEFAULT 0
NOT NULL,
CONSTRAINT mld_u_mld_stdmelding UNIQUE(mld_ins_discipline_key, mld_stdmelding_omschrijving, mld_stdmelding_verwijder)
);
@@ -539,6 +605,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
@@ -787,11 +858,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
@@ -973,9 +1044,11 @@ CREATE_TABLE(mld_melding,0)
DATE
NOT_NULL(mld_melding_datum, mld_c_mld_melding_datum),
mld_melding_onderwerp /* optionele korte omschrijving */
VARCHAR2(80),
VARCHAR2(200),
mld_melding_onderwerp_ai /* AI generated onderwerp */
VARCHAR2(200),
mld_melding_omschrijving
VARCHAR2(4000),
CLOB,
mld_melding_opmerking
VARCHAR2(4000),
mld_melding_behandelaar_key
@@ -1016,6 +1089,9 @@ CREATE_TABLE(mld_melding,0)
DATE,
mld_melding_acceptdatum_std -- sla freeze acceptatie
DATE,
mld_melding_tag_key
NUMBER(10)
CONSTRAINT mld_r_mld_melding_tag REFERENCES mld_melding_tag(mld_melding_tag_key),
mld_melding_geprint
NUMBER(1)
CONSTRAINT mld_c_mld_melding_geprint CHECK(mld_melding_geprint IS NULL
@@ -1049,7 +1125,7 @@ CREATE_TABLE(mld_melding,0)
CONSTRAINT mld_r_mld_adres_key1 REFERENCES mld_adres(mld_adres_key),
mld_melding_spoed /* prioriteit: 1 = kritiek, 2=hoog, 3=normaal, 4=laag, 5=hold(?), matcht mld_stdmelding_uitvoertijd_prX */
NUMBER(1),
mld_melding_impact /* optionele onderbouwing van de prioriteit dimensie 1 */
mld_melding_impact /* optionele onderbouwing van de prioriteit dimensie 1 */
NUMBER(2),
mld_melding_urgentie /* optionele onderbouwing van de prioriteit dimensie 2 */
NUMBER(2),
@@ -1082,7 +1158,7 @@ CREATE_TABLE(mld_melding,0)
NOT NULL,
mld_melding_actiecode
NUMBER(3)
DEFAULT 1 /* actie bij +1=behandelaar, +2=melder, +128 attentie */
DEFAULT 1 /* actie bij +1=behandelaar, +2=melder, +128=attentie behandelaar, +256=attentie melder */
NOT NULL,
mld_melding_satisfaction
NUMBER(2),
@@ -1131,6 +1207,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)
(
@@ -1216,7 +1296,7 @@ CREATE_TABLE(mld_opdr,0)
NUMBER(1)
CONSTRAINT mld_c_mld_opdr_teverz CHECK(mld_opdr_teverzenden IS NULL
OR mld_opdr_teverzenden = 1
OR mld_opdr_teverzenden = 2), /* NULL=niet verzenden, 1=verzende bij status 4 en 5, 2=altijd verzenden */
OR mld_opdr_teverzenden = 2), /* NULL=niet verzenden, 1=verzenden bij status 4 en 5, 2=altijd verzenden */
mld_opdr_teverzenden_datum
DATE
DEFAULT NULLDATUM,
@@ -1285,7 +1365,7 @@ CREATE_TABLE(mld_opdr,0)
CONSTRAINT mld_r_mld_opdr_key4 REFERENCES mld_opdr(mld_opdr_key),
mld_opdr_actiecode
NUMBER(3)
DEFAULT 1 /* actie bij +1=FOBO behandelaar, +2=melder, +4=uitvoerende, +128 attentie */
DEFAULT 1 /* actie bij +1=FOBO behandelaar, +2=melder, +4=uitvoerende, +128=attentie FOBO, +512=attentie uitvoerende */
NOT NULL
);
@@ -1296,8 +1376,11 @@ CREATE_TABLE(mld_vrije_dagen, 0)
CONSTRAINT mld_k_mld_vrije_dagen_key PRIMARY KEY,
mld_vrije_dagen_datum
DATE
NOT_NULL(mld_vrije_dagen_datum, mld_c_mld_vrije_dagen_datum)
CONSTRAINT mld_u_mld_vrije_dagen_datum UNIQUE
NOT_NULL(mld_vrije_dagen_datum, mld_c_mld_vrije_dagen_datum),
mld_vrije_dagen_id VARCHAR2(50)
DEFAULT ('Default') NOT NULL,
CONSTRAINT mld_u_mld_vrije_dagen_datum UNIQUE(mld_vrije_dagen_datum, mld_vrije_dagen_id)
);
CREATE_TABLE(mld_melding_object, 0)
@@ -1363,7 +1446,6 @@ CREATE_TABLE(mld_srtkenmerk, 0)
, CONSTRAINT mld_c_mld_srtkenmerk_omschr CHECK(mld_srtkenmerk_omschrijving IS NOT NULL)
, CONSTRAINT mld_srtkenmerk_omschrijving CHECK(mld_srtkenmerk_omschrijving IS NOT NULL)
, CONSTRAINT mld_u_mld_srtkenmerk_upper UNIQUE(mld_srtkenmerk_upper, mld_srtkenmerk_verwijder)
, CONSTRAINT mld_c_mld_srtkenmerk_kenmtype CHECK(mld_srtkenmerk_kenmerktype IN ('C','N','D','T','R','X','L','Q','F','M','E','S','l','B','V'))
, CONSTRAINT mld_c_mld_srtkenmerk_lengte CHECK(mld_srtkenmerk_lengte >= 1
AND mld_srtkenmerk_lengte <= 4000)
, CONSTRAINT mld_c_mld_srtkenmerk_max_min CHECK(mld_srtkenmerk_nmax >= mld_srtkenmerk_nmin)
@@ -1390,7 +1472,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
@@ -1401,6 +1483,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
@@ -1434,6 +1520,9 @@ CREATE_TABLE(mld_kenmerk, 0)
, fac_functie_key
NUMBER(10)
CONSTRAINT fac_r_mld_kenmerk_functie REFERENCES fac_functie (fac_functie_key)
, ins_discipline_key
NUMBER (10)
CONSTRAINT mld_r_ins_discipline_key7 REFERENCES ins_tab_discipline(ins_discipline_key) -- default blokbehandelteam
//, CONSTRAINT mld_r_mld_srtkenmerk_keys CHECK((mld_typeopdr_key IS NULL AND mld_stdmelding_key IS NOT NULL)
// OR (mld_typeopdr_key IS NOT NULL AND mld_stdmelding_key IS NULL))
, CONSTRAINT mld_r_mld_srtkenmerk_key2 FOREIGN KEY(mld_srtkenmerk_key) REFERENCES mld_srtkenmerk(mld_srtkenmerk_key)
@@ -1494,6 +1583,29 @@ CREATE_TABLE(mld_kenmerkopdr, 0)
CONSTRAINT mld_r_kenmerk_opdr FOREIGN KEY (mld_opdr_key) REFERENCES mld_opdr(mld_opdr_key) ON DELETE CASCADE
);
CREATE TABLE mld_kenmerkblokmelding
( mld_kenmerkblokmelding_key
NUMBER(10)
CONSTRAINT mld_k_mld_kenmerkblokmelding_key PRIMARY KEY,
mld_melding_key
NUMBER(10)
CONSTRAINT mld_r_mld_melding_key7 REFERENCES mld_melding(mld_melding_key) ON DELETE CASCADE,
mld_kenmerk_key -- verwijzing naar het labelkenmerk
NUMBER(10)
CONSTRAINT mld_r_mld_kenmerk_key5 REFERENCES mld_kenmerk(mld_kenmerk_key) ON DELETE CASCADE,
ins_discipline_key
NUMBER (10)
CONSTRAINT mld_r_ins_discipline_key6 REFERENCES ins_tab_discipline(ins_discipline_key) ON DELETE CASCADE, -- blokbehandelteam
prs_perslid_key
NUMBER (10)
CONSTRAINT mld_r_prs_perslid_key14 REFERENCES prs_perslid(prs_perslid_key) ON DELETE SET NULL, -- blokbehandelteambehandelaar
mld_kenmerkblokmelding_afmelddatum
DATE,
mld_kenmerkblokmelding_aanmaak
DATE
DEFAULT SYSDATE,
CONSTRAINT mld_u_mld_kenmerkblokmelding UNIQUE(mld_melding_key, mld_kenmerk_key)
);
/* Used to restrict the mld_typeopdr values for a ins_srtdiscipline or even ins_discipline
@@ -1501,22 +1613,22 @@ CREATE_TABLE(mld_kenmerkopdr, 0)
* Voor CNT moet srtdiscipline leeg kunnen zijn. Ik wil er dus naartoe dat de specifiekste
* geldt en de globalere dan dummy is (dont care)
*/
CREATE_TABLE(mld_typeopdr_srtdiscipline, 0)
(
mld_typeopdr_srtdisc_key
NUMBER(10)
PRIMARY KEY,
mld_typeopdr_key
NUMBER(10)
NOT_NULL(mld_typeopdr_key, mld_c_mld_typeopdr_key1)
CONSTRAINT mld_r_mld_typeopdr_key3 REFERENCES mld_typeopdr(mld_typeopdr_key) ON DELETE CASCADE,
ins_srtdiscipline_key
NUMBER(10)
CONSTRAINT mld_r_ins_srtdiscipline_key2 REFERENCES ins_srtdiscipline(ins_srtdiscipline_key) ON DELETE CASCADE,
ins_discipline_key
NUMBER(10)
CONSTRAINT mld_r_ins_discipline_key3 REFERENCES ins_tab_discipline(ins_discipline_key) ON DELETE CASCADE
);
CREATE_TABLE(mld_typeopdr_srtdiscipline, 0)
(
mld_typeopdr_srtdisc_key
NUMBER(10)
PRIMARY KEY,
mld_typeopdr_key
NUMBER(10)
NOT_NULL(mld_typeopdr_key, mld_c_mld_typeopdr_key1)
CONSTRAINT mld_r_mld_typeopdr_key3 REFERENCES mld_typeopdr(mld_typeopdr_key) ON DELETE CASCADE,
ins_srtdiscipline_key
NUMBER(10)
CONSTRAINT mld_r_ins_srtdiscipline_key2 REFERENCES ins_srtdiscipline(ins_srtdiscipline_key) ON DELETE CASCADE,
ins_discipline_key
NUMBER(10)
CONSTRAINT mld_r_ins_discipline_key3 REFERENCES ins_tab_discipline(ins_discipline_key) ON DELETE CASCADE
);
CREATE_TABLE(mld_deelwerk, 0)
(
@@ -1549,7 +1661,7 @@ CREATE_TABLE(mld_melding_note, 0)
prs_perslid_key NUMBER (10) REFERENCES prs_perslid (prs_perslid_key) ON DELETE SET NULL,
fac_note_group_key NUMBER (10) REFERENCES fac_note_group(fac_note_group_key) ON DELETE SET NULL,
mld_melding_note_omschrijving VARCHAR2 (4000 CHAR),
mld_melding_note_flag NUMBER (2) DEFAULT 0, // &1=FE, &2= unused (Altijd zichtbaar voor FOBO), +4=UITV (redefined DB41)
mld_melding_note_flag NUMBER (2) DEFAULT 0, // &1=FE, &2= unused (Altijd zichtbaar voor FOBO) +64=gemailde notitie
mld_melding_note_parent_key NUMBER (10) DEFAULT NULL REFERENCES mld_melding_note (mld_melding_note_key) ON DELETE CASCADE,
fac_tracking_key NUMBER (10) REFERENCES fac_tracking (fac_tracking_key) ON DELETE SET NULL /* optionally related to a specific event */
);
@@ -1563,7 +1675,7 @@ CREATE_TABLE(mld_opdr_note, 0)
prs_perslid_key NUMBER (10) REFERENCES prs_perslid (prs_perslid_key) ON DELETE SET NULL,
fac_note_group_key NUMBER (10) REFERENCES fac_note_group(fac_note_group_key) ON DELETE SET NULL,
mld_opdr_note_omschrijving VARCHAR2 (4000 CHAR),
mld_opdr_note_flag NUMBER (2) DEFAULT 4, // &1=FE, &2= unused (Altijd zichtbaar voor FOBO), +4=UITV
mld_opdr_note_flag NUMBER (2) DEFAULT 4, // &1=FE, &2= unused (Altijd zichtbaar voor FOBO), +4=UITV, +32=onbeantwoorde vraag aan FE, +64=gemailde notitie
mld_opdr_note_parent_key NUMBER (10) DEFAULT NULL REFERENCES mld_opdr_note (mld_opdr_note_key) ON DELETE CASCADE,
fac_tracking_key NUMBER (10) REFERENCES fac_tracking (fac_tracking_key) ON DELETE SET NULL /* optionally related to a specific event */
);

View File

@@ -11,6 +11,14 @@ BEGIN
END;
/
CREATE_TRIGGER(mld_t_mld_melding_tag_B_I)
BEFORE INSERT ON mld_melding_tag
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(mld_melding_tag_key, mld_s_mld_melding_tag_key);
END;
/
AUDIT_BEGIN(mld_disc_params)
AUDIT_VALUE(mld_disc_params, mld_behandelgroep_key)
AUDIT_VALUE(mld_disc_params, mld_disc_params_bestellimiet)
@@ -48,6 +56,14 @@ BEGIN
END;
/
CREATE_TRIGGER(mld_t_mld_vervolg_beperking_B_I)
BEFORE INSERT ON mld_vervolg_beperking
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(mld_vervolg_beperking_key,mld_s_mld_vervolg_beperking_key);
END;
/
CREATE_TRIGGER(mld_t_mld_oorzaak_B_IU)
BEFORE INSERT OR UPDATE ON mld_oorzaak
FOR EACH ROW
@@ -94,15 +110,27 @@ BEGIN
IF :new.mld_ins_discipline_key <> :old.mld_ins_discipline_key
THEN
-- is omhangen, dus afhankelijken laten volgen
IF (fac.getSetting('mld_opdr_discipline_mode') = 1)
THEN
-- Opdrachten
UPDATE mld_opdr
SET mld_opdr_discipline_key = :new.mld_ins_discipline_key
WHERE mld_melding_key IN
(SELECT mld_melding_key
FROM mld_melding
WHERE mld_stdmelding_key = :new.mld_stdmelding_key);
END IF;
-- Kennisbankitems
UPDATE mld_stdmeldingfaq
SET ins_discipline_key = :new.mld_ins_discipline_key
WHERE mld_stdmelding_key = :new.mld_stdmelding_key;
END IF;
IF :new.mld_stdmelding_verwijder IS NOT NULL AND :old.mld_stdmelding_verwijder IS NULL
THEN
IF :new.mld_stdmelding_verwijder IS NOT NULL AND :old.mld_stdmelding_verwijder IS NULL
THEN
DELETE FROM mld_afmeldtekst
WHERE mld_stdmelding_key = :new.mld_stdmelding_key;
END IF;
END IF;
END;
/
@@ -135,6 +163,7 @@ FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(mld_typeopdr_key,mld_s_mld_stdmelding_key);
UPDATE_UPPER(mld_typeopdr_omschrijving,mld_typeopdr_upper,mld_typeopdr);
UPDATE_UPPER(mld_typeopdr_code,mld_typeopdr_code,mld_typeopdr);
END;
/
@@ -158,6 +187,29 @@ CREATE_TRIGGER(mld_t_mld_melding_B_IU)
BEFORE INSERT OR UPDATE ON mld_melding
FOR EACH ROW
BEGIN
IF sys_context('USERENV', 'ACTION') = 'ANONYMIZE' OR
sys_context('USERENV', 'ACTION') = 'DBUPGRADE' THEN
RETURN;
END IF;
-- Laat de opdrachten van doorgestuurde meldingen in vakgroep volgen
IF (fac.getSetting('mld_opdr_discipline_mode') = 1 AND
:old.mld_stdmelding_key <> :new.mld_stdmelding_key AND
:new.mld_melding_status IN (4, 5, 6, 7))
THEN
-- Opdrachten
UPDATE mld_opdr
SET mld_opdr_discipline_key =
(SELECT mld_ins_discipline_key
FROM mld_stdmelding
WHERE mld_stdmelding_key = :new.mld_stdmelding_key)
WHERE mld_opdr_discipline_key <>
(SELECT mld_ins_discipline_key
FROM mld_stdmelding
WHERE mld_stdmelding_key = :new.mld_stdmelding_key) -- Alleen als ook daadwerkelijk veranderd
AND mld_melding_key = :new.mld_melding_key;
END IF;
-- Vul het dan redundante veld MLD_ALG_LOCATIE_KEY als de onroerendgoed_key gedefinieerd is,
-- zo niet, dan krijgt mld_alg_locatie_key gewoon de waarde die wordt meegegeven (of die het had)
IF :new.mld_alg_onroerendgoed_keys IS NOT NULL
@@ -296,7 +348,7 @@ BEGIN
IF (:new.mld_melding_satisfaction IS NOT NULL
AND (:old.mld_melding_satisfaction IS NULL OR :old.mld_melding_satisfaction <> :new.mld_melding_satisfaction))
THEN
fac.trackaction('MLDLIK', :old.mld_melding_key, NULL , SYSDATE, REPLACE(lcl.l('lcl_faclike_changed'), '{0}', :new.mld_melding_satisfaction));
fac.trackaction('#MLDLIK', :old.mld_melding_key, NULL , SYSDATE, REPLACE(lcl.l('lcl_faclike_changed'), '{0}', :new.mld_melding_satisfaction));
END IF;
END;
/
@@ -307,6 +359,32 @@ FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(mld_opdr_key, mld_s_mld_opdr_key);
/* Controleer of de opdracht bij een melding hoort die de goede status heeft,
* Het voorkomt dat er onverwachts opdrachten zijn op Afgewezen of nog niet Geaccepteerde meldingen
* namelijk: GEACCEPTEERD, UITGEGEVEN of AFGEMELD
* Sinds FSN#30228 hoort daar zelfs ook VERWERKT bij
* Zo niet, dan mag het alleen als de contract_key is ingevuld
*/
IF :new.mld_melding_key IS NOT NULL
THEN
DECLARE
dummy CHAR;
BEGIN
SELECT 'X'
INTO dummy
FROM mld_melding
WHERE mld_melding_key = :NEW.mld_melding_key
AND mld_melding_status IN (4, 5, 6, 7);
EXCEPTION
WHEN NO_DATA_FOUND
THEN
IF :NEW.cnt_contract_key IS NULL
THEN
raise_application_error (-20000, 'mld_m201');
END IF;
END;
END IF;
BEGIN
IF fac.getSetting ('mld_opdr_discipline_mode') = 1
THEN -- altijd vakgroep discipline
@@ -334,37 +412,63 @@ CREATE_TRIGGER(mld_t_mld_opdr_B_IU)
BEFORE INSERT OR UPDATE ON mld_opdr
FOR EACH ROW
BEGIN
/* Controleer of de opdracht bij een melding hoort die de goede status heeft,
* Het voorkomt dat er onverwachts opdrachten zijn op Afgewezen of nog niet Geaccepteerde meldingen
* namelijk: GEACCEPTEERD, UITGEGEVEN of AFGEMELD
* Sinds FSN#30228 hoort daar zelfs ook VERWERKT bij
* Zo niet, dan mag het alleen als de contract_key is ingevuld
*/
IF :NEW.mld_melding_key IS NOT NULL
THEN
DECLARE
dummy CHAR;
BEGIN
SELECT 'X'
INTO dummy
FROM mld_melding
WHERE mld_melding_key = :NEW.mld_melding_key
AND mld_melding_status IN (4,5,6,7);
EXCEPTION
WHEN NO_DATA_FOUND
THEN
IF :NEW.cnt_contract_key IS NULL
THEN
raise_application_error(-20000, 'mld_m201');
END IF;
END;
END IF;
CHECK_REFERENCE_UITVOERENDE(mld_uitvoerende_keys, 'mld_m37');
-- gooi fiatverzoeknotificaties weg als gefiatteerd of afgewezen-> opnemen in bovenste deel
IF :OLD.mld_statusopdr_key = 3 AND :new.mld_statusopdr_key IN (4, 2)
THEN
fac.clrnotifications ('MLDAP1', :new.mld_opdr_key);
END IF;
IF sys_context('USERENV', 'ACTION') = 'ANONYMIZE' OR
sys_context('USERENV', 'ACTION') = 'DBUPGRADE' THEN
RETURN;
END IF;
CHECK_REFERENCE_UITVOERENDE (mld_uitvoerende_keys, 'mld_m37');
-- gooi fiatverzoeknotificaties weg als gefiatteerd of afgewezen-> opnemen in bovenste deel
IF :OLD.mld_statusopdr_key = 3 AND :new.mld_statusopdr_key IN (4, 2)
THEN
fac.clrnotifications ('MLDAP1', :new.mld_opdr_key);
END IF;
// Nog tijdelijk backwards compatible met cust-code die mld_opdr_teverzenden op 2 zet
IF :OLD.mld_opdr_teverzenden = 2 AND :OLD.mld_opdr_verzonden IS NULL
THEN
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
-- ORDSND tracking/notificatie
--mld.notifyopdrbedrijven (:new.mld_opdr_key, ptrackingkey => NULL); geeft trigger mutating
FOR bedrijfrec
IN (SELECT b.prs_bedrijf_key,
COALESCE (l1.alg_locatie_key, l2.alg_locatie_key) alg_locatie_key,
COALESCE (l1.alg_locatie_email, l2.alg_locatie_email) alg_locatie_email,
:NEW.mld_melding_key || '/' || :NEW.mld_opdr_bedrijfopdr_volgnr reference,
d.prs_bedrijf_key persoon_bedrijf_key, -- van de melder, niet de uitvoerende
fac_srtnotificatie_key
FROM mld_melding m,
mld_adres ma,
alg_locatie l1,
alg_locatie l2,
prs_perslid p,
prs_v_afdeling d,
prs_bedrijf b,
fac_srtnotificatie fsn
WHERE b.prs_bedrijf_key = :NEW.mld_uitvoerende_keys
AND :NEW.mld_melding_key = m.mld_melding_key
AND m.mld_adres_key = ma.mld_adres_key(+)
AND ma.alg_locatie_key = l1.alg_locatie_key(+)
AND m.mld_alg_locatie_key = l2.alg_locatie_key(+)
AND d.prs_afdeling_key = p.prs_afdeling_key
AND p.prs_perslid_key = m.prs_perslid_key
AND fac_srtnotificatie_code = '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',
prefkey => :NEW.mld_opdr_key,
ptrackingkey => NULL,
psrtnoti_key => bedrijfrec.fac_srtnotificatie_key,
preference => bedrijfrec.reference,
ptypeopdr_key => :NEW.mld_typeopdr_key,
plocatie_key => bedrijfrec.alg_locatie_key,
pdiscipline_key => :NEW.mld_opdr_discipline_key,
pbedrijf_key2 => bedrijfrec.persoon_bedrijf_key,
psender => bedrijfrec.alg_locatie_email);
END LOOP;
END IF;
END;
/
@@ -409,16 +513,16 @@ BEGIN
raise_application_error(-20000, 'MLD_C_MLD_SRTKENMERK_SYSTEEM');
END IF;
--
IF :new.mld_srtkenmerk_kenmerktype IN ('C', 'N', 'B') AND :new.mld_srtkenmerk_lengte IS NULL
IF :new.mld_srtkenmerk_kenmerktype IN ('C', 'N') AND :new.mld_srtkenmerk_lengte IS NULL
THEN
raise_application_error(-20000, 'MLD_C_MLD_SRTKENMERK_LENGTE');
END IF;
IF :new.mld_srtkenmerk_kenmerktype IN ('N', 'B') AND :new.mld_srtkenmerk_lengte > 20
IF :new.mld_srtkenmerk_kenmerktype = 'N' AND :new.mld_srtkenmerk_lengte > 20
THEN
:new.mld_srtkenmerk_lengte := 20;
END IF;
--
IF :new.mld_srtkenmerk_kenmerktype IN ('N', 'B') AND :old.mld_srtkenmerk_key IS NOT NULL
IF :new.mld_srtkenmerk_kenmerktype = 'N' AND :old.mld_srtkenmerk_key IS NOT NULL
THEN
IF :old.mld_srtkenmerk_nmin <> :new.mld_srtkenmerk_nmin
OR (:old.mld_srtkenmerk_nmin IS NULL AND :new.mld_srtkenmerk_nmin IS NOT NULL)
@@ -550,7 +654,7 @@ BEGIN
THEN
APPLICATION_ERROR_GOTO(-20004, 'mld_m241,'||SrtKenmerkOmschr||','||TO_CHAR(SrtKenmerkLengte));
END IF;
ELSIF SrtKenmerkType IN ('N', 'B')
ELSIF SrtKenmerkType = 'N'
THEN
-- NUMBER
-- Controleer of er een numerieke waarde ingevuld is.
@@ -603,6 +707,14 @@ BEGIN
END;
/
CREATE_TRIGGER(mld_t_mld_kenmerkblokmelding_b_i)
BEFORE INSERT ON mld_kenmerkblokmelding
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(mld_kenmerkblokmelding_key, mld_s_mld_kenmerkblokmelding_key);
END;
/
CREATE_TRIGGER(mld_t_mld_kenmerkopdr_b_i)
BEFORE INSERT ON mld_kenmerkopdr
FOR EACH ROW
@@ -671,7 +783,7 @@ BEGIN
THEN
APPLICATION_ERROR_GOTO(-20004, 'mld_m241,'||SrtKenmerkOmschr||','||TO_CHAR(SrtKenmerkLengte));
END IF;
ELSIF SrtKenmerkType IN ('N', 'B')
ELSIF SrtKenmerkType = 'N'
THEN
-- NUMBER
-- Controleer of er een numerieke waarde ingevuld is.
@@ -941,6 +1053,17 @@ BEGIN
END;
/
CREATE_TRIGGER(mld_t_ins_discipline_b_u)
BEFORE UPDATE ON ins_tab_discipline
FOR EACH ROW
BEGIN
UPDATE mld_typeopdr_srtdiscipline
SET mld_typeopdr_srtdiscipline.ins_srtdiscipline_key = :new.ins_srtdiscipline_key
WHERE mld_typeopdr_srtdiscipline.ins_discipline_key = :new.ins_discipline_key
AND :new.ins_discipline_module = 'MLD';
END;
/
REGISTERRUN('$Id$')
#endif // MLD

View File

@@ -825,6 +825,7 @@ CREATE_VIEW(mld_v_udr_melding, 1)
plan_uitvoertijd_sla,
melding_datum,
melding_einddatum,
melding_actiedatum,
melding_einddatum_std,
melding_acceptdatum,
melding_afgemeld,
@@ -849,7 +850,11 @@ CREATE_VIEW(mld_v_udr_melding, 1)
accept_sla_optijd,
uitvoering_sla_optijd,
afspraak_sla_optijd,
selfservice
acceptatietijd_werkdgn,
acceptatietijd_werkuren,
selfservice,
melding_tag,
melding_tag_datum
)
AS
SELECT mld_melding_key,
@@ -910,6 +915,7 @@ AS
plan_uitvoertijd_sla,
datum,
einddatum,
actiedatum,
einddatum_std,
acceptdatum,
afgemeld,
@@ -1006,7 +1012,13 @@ AS
lcl.l ('lcl_no')
END
afspraak_sla_optijd,
DECODE(invoerder, melder, lcl.l ('lcl_yes'), lcl.l ('lcl_no')) selfservice
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
FROM (SELECT m.mld_melding_key,
m.mld_melding_start_key,
m.mld_melding_externnr,
@@ -1138,14 +1150,15 @@ AS
sla_respijturen,
CASE WHEN m.mld_melding_spoed = 3 THEN s.mld_stdmelding_t_accepttijd
WHEN m.mld_melding_spoed = 1 then s.mld_stdmelding_t_accept_pr1
WHEN m.mld_melding_spoed = 1 then s.mld_stdmelding_t_accept_pr2
WHEN m.mld_melding_spoed = 1 then s.mld_stdmelding_t_accept_pr4
WHEN m.mld_melding_spoed = 2 then s.mld_stdmelding_t_accept_pr2
WHEN m.mld_melding_spoed = 4 then s.mld_stdmelding_t_accept_pr4
END sla_accpt,
m.mld_melding_datum datum,
CASE WHEN s.mld_stdmelding_planbaar = 2
THEN TO_DATE(NULL)
ELSE m.mld_melding_einddatum
END einddatum,
mld_melding_actiedatum actiedatum,
mld_melding_einddatum_std einddatum_std,
mld_melding_acceptdatum_std acceptdatum,
COALESCE (mld.getmeldingstatusdate (m.mld_melding_key, 5),
@@ -1155,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,
@@ -1162,7 +1176,9 @@ AS
m.mld_melding_satisfaction,
m.mld_melding_satisfaction_op,
m.mld_melding_flag,
mld_melding_actiecode
m.mld_melding_actiecode,
mmt.mld_melding_tag_naam,
mmt.mld_melding_tag_datum_tot
FROM mld_melding m,
mld_stdmelding s,
alg_locatie l,
@@ -1172,6 +1188,7 @@ AS
mld_discipline md,
mld_disc_params mdp,
mld_behandelgroep mbg,
mld_melding_tag mmt,
ins_srtdiscipline sd,
mld_stdmeldinggroep smg,
(SELECT mx.mld_melding_key
@@ -1203,6 +1220,7 @@ AS
AND mdp.mld_behandelgroep_key = mbg.mld_behandelgroep_key(+)
AND l.alg_district_key = d.alg_district_key(+)
AND d.alg_regio_key = r.alg_regio_key(+)
AND m.mld_melding_tag_key = mmt.mld_melding_tag_key(+)
AND m.mld_melding_key = mab.mld_melding_key
AND m.mld_alg_onroerendgoed_keys = og.alg_onroerendgoed_keys(+)
AND m.fac_activiteit_key IS NULL
@@ -1639,7 +1657,7 @@ AS
mld_srtkenmerk_omschrijving)
kenmerk,
CASE
WHEN skm.mld_srtkenmerk_kenmerktype = 'R' OR skm.mld_srtkenmerk_kenmerktype = 'S'
WHEN skm.mld_srtkenmerk_kenmerktype = 'R' OR skm.mld_srtkenmerk_kenmerktype = 'r' OR skm.mld_srtkenmerk_kenmerktype = 'S'
THEN
flx.getdomeinwaarde (skm.fac_kenmerkdomein_key, km.mld_kenmerkmelding_waarde)
WHEN skm.mld_srtkenmerk_kenmerktype = 'C' OR skm.mld_srtkenmerk_kenmerktype = 'F'
@@ -1650,7 +1668,7 @@ AS
END
waarde_c,
CASE
WHEN skm.mld_srtkenmerk_kenmerktype IN ('N', 'B')
WHEN skm.mld_srtkenmerk_kenmerktype = 'N'
THEN TO_NUMBER (km.mld_kenmerkmelding_waarde)
ELSE TO_NUMBER (NULL)
END
@@ -1664,7 +1682,7 @@ AS
END
waarde_d,
CASE
WHEN skm.mld_srtkenmerk_kenmerktype IN ('R', 'S')
WHEN skm.mld_srtkenmerk_kenmerktype IN ('R', 'r', 'S')
THEN
flx.getdomeinwaarde (skm.fac_kenmerkdomein_key, km.mld_kenmerkmelding_waarde)
ELSE
@@ -1691,7 +1709,7 @@ SELECT o.*,
mld_srtkenmerk_omschrijving)
kenmerk,
CASE
WHEN skm.mld_srtkenmerk_kenmerktype = 'R' OR skm.mld_srtkenmerk_kenmerktype = 'S'
WHEN skm.mld_srtkenmerk_kenmerktype = 'R' OR skm.mld_srtkenmerk_kenmerktype = 'r' OR skm.mld_srtkenmerk_kenmerktype = 'S'
THEN
flx.getdomeinwaarde (skm.fac_kenmerkdomein_key, ko.mld_kenmerkopdr_waarde)
WHEN skm.mld_srtkenmerk_kenmerktype = 'C' OR skm.mld_srtkenmerk_kenmerktype = 'F'
@@ -1702,7 +1720,7 @@ SELECT o.*,
END
waarde_c,
CASE
WHEN skm.mld_srtkenmerk_kenmerktype IN ('N', 'B')
WHEN skm.mld_srtkenmerk_kenmerktype = 'N'
THEN TO_NUMBER (ko.mld_kenmerkopdr_waarde)
ELSE TO_NUMBER (NULL)
END
@@ -1716,7 +1734,7 @@ SELECT o.*,
END
waarde_d,
CASE
WHEN skm.mld_srtkenmerk_kenmerktype IN ('R', 'S')
WHEN skm.mld_srtkenmerk_kenmerktype IN ('R', 'r', 'S')
THEN
flx.getdomeinwaarde (skm.fac_kenmerkdomein_key, ko.mld_kenmerkopdr_waarde)
ELSE
@@ -1806,6 +1824,87 @@ SELECT mss.mld_stdmelding_srtinst_key
OR mss.ins_srtinstallatie_niveau = 'D' AND mss.ins_srtinstallatie_key = isg.ins_discipline_key
);
// views voor het bieden van inzicht in behandeling door behandelteams van een melding
// de relevante gebeurtenisen bij elkaar
CREATE_VIEW(mld_v_behandeltracking, 1)
AS
SELECT ft.fac_tracking_refkey
, ft.fac_tracking_key
, ft.fac_tracking_datum
, ft.fac_srtnotificatie_key
, fsn.fac_srtnotificatie_code
, ft.fac_tracking_oms
, ft.fac_tracking_subject_refkey
, DECODE (ins_discipline_key, NULL, NULL, md.ins_discipline_omschrijving) behandelteam
, md.ins_discipline_key
FROM fac_tracking ft, fac_srtnotificatie fsn, mld_discipline md
WHERE ft.fac_srtnotificatie_key = fsn.fac_srtnotificatie_key
AND fsn.fac_srtnotificatie_code IN ('MLDNEW'
, 'MLDACP'
, 'MLDBHG'
, 'MLDBWD'
, 'MLDDOO'
, 'MLDAFM'
, 'MLDREJ')
AND ft.fac_tracking_subject_refkey = md.ins_discipline_key(+);
// de interpretatie ervan.
CREATE_VIEW(mld_v_behandelverloop, 1)
AS
SELECT mld_melding_key
, datum
, event
, eventkey
, eventtext
, behandelteam -- in de native taal..
, LEAD (datum, 1) OVER (PARTITION BY mld_melding_key ORDER BY datum, eventkey) AS datumtot -- evt. handig voor kalenderrapportage
, -ROUND ((datum - LEAD (datum, 1) OVER (PARTITION BY mld_melding_key ORDER BY datum, eventkey)) * 24 * 60, 0) AS minuten
, DECODE ((MAX (datum) OVER (PARTITION BY mld_melding_key) - MIN (datum) OVER (PARTITION BY mld_melding_key))
, 0 -- Niet delen door 0
, 100 / COUNT (datum) OVER (PARTITION BY mld_melding_key) -- Als de eerste fac_tracking_datum gelijk is aan de laatste fac_tracking_datum, verdeel het percentage dan gelijk
, -ROUND (
( (datum - LEAD (datum, 1) OVER (PARTITION BY mld_melding_key ORDER BY datum, eventkey))
/ (MAX (datum) OVER (PARTITION BY mld_melding_key) - MIN (datum) OVER (PARTITION BY mld_melding_key)))
* 100
, 1)) AS percentage
FROM (SELECT fac_tracking_refkey mld_melding_key
, GREATEST (fac_tracking_datum, m.mld_melding_datum) datum
, fac_srtnotificatie_code event
, fac_tracking_key eventkey
, fac_tracking_oms eventtext
, NULL behandelteam
FROM mld_v_behandeltracking, mld_melding m
WHERE fac_tracking_refkey = m.mld_melding_key AND fac_srtnotificatie_code = 'MLDNEW'
UNION
SELECT fac_tracking_refkey
, fac_tracking_datum
, fac_srtnotificatie_code
, fac_tracking_key
, fac_tracking_oms
, NULL
FROM mld_v_behandeltracking
WHERE fac_srtnotificatie_code NOT IN ('MLDNEW', 'MLDBHG') -- die behandelen we hier apart
UNION
SELECT fac_tracking_refkey
, fac_tracking_datum
, fac_srtnotificatie_code
, fac_tracking_key
, fac_tracking_oms
, behandelteam -- kan historisch NULL zijn
FROM mld_v_behandeltracking
WHERE fac_srtnotificatie_code = 'MLDBHG'
UNION
SELECT fac_tracking_refkey-- aanvullen tot vandaag als deze nog loopt
, SYSDATE
, 'NOW'
, NULL
, NULL
, NULL
FROM mld_v_behandeltracking s
WHERE NOT EXISTS
(SELECT ''
FROM mld_v_behandeltracking x
WHERE x.fac_tracking_refkey = s.fac_tracking_refkey AND x.fac_srtnotificatie_code IN ('MLDAFM', 'MLDREJ')));
REGISTERRUN('$Id$')
#endif // MLD

View File

@@ -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);
@@ -108,8 +105,11 @@ AS
PROCEDURE delete_perslid (p_import_key IN NUMBER, p_perslid_key IN NUMBER);
PROCEDURE set_afdeling_verwijder (p_afdeling_key IN NUMBER);
FUNCTION combinatievalidatie (p_kp_key IN NUMBER, p_ksrt_key IN NUMBER, p_disc_key IN NUMBER) RETURN BOOLEAN;
PROCEDURE personen_inactief_schonen;
PROCEDURE personen_vervangers_schonen;
END prs;
/
@@ -322,7 +322,8 @@ AS
dbms_output.put_line('Approvemethod: '||lmethode);
dbms_output.put_line('Ondergrens: '||pondergrens);
IF lmethode = 3 THEN -- ook profiel budgethouder controleren
IF lmethode = 3 AND lkpverantwkey > 0
THEN -- ook profiel budgethouder controleren
lkpverantwlimiet := prs.getprofiellimiet (lkpverantwkey, pdisckey);
dbms_output.put_line('Zijn limiet: '||lkpverantwlimiet);
IF (lkpverantwlimiet < pondergrens) -- lkpverantwkey != -1 is impliciet in die limiet
@@ -331,8 +332,8 @@ AS
END IF;
END IF;
IF (lkpverantwkey = -1 OR lkpverantwkey = pexcludekey OR lexcludeisvervanger = 1)
AND (lmethode = 2 OR lmethode = 3)
-- Mode 2 en 3: Doorloop de afdeling boom indien de kostenplaats geen verantwoordelijke heeft. Voor mode 3 ook profiel budgethouder controleren.
IF lkpverantwkey = -1 AND (lmethode = 2 OR lmethode = 3)
-- Doorloop de boom naar boven, met allerlei aannames.
THEN
dbms_output.put_line('We gaan de boom in');
@@ -550,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
@@ -566,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,
@@ -986,7 +964,7 @@ AS
WHERE prs_kenmerk_upper = UPPER (kw)
AND prs_kenmerk_verwijder IS NULL
AND prs_kenmerk_niveau = 'P'
AND prs_kenmerk_kenmerktype IN ('C', 'D', 'N', 'R', 'S', 'X', 'B', 'V');
AND prs_kenmerk_kenmerktype IN ('C', 'D', 'N', 'R', 'r', 'S', 'X', 'V');
ELSE -- kenmerkwaarde is numeriek (dus key)!
SELECT prs_kenmerk_key
INTO v_kenmerk_key
@@ -994,7 +972,7 @@ AS
WHERE prs_kenmerk_key = fac.safe_to_number (kw)
AND prs_kenmerk_verwijder IS NULL
AND prs_kenmerk_niveau = 'P'
AND prs_kenmerk_kenmerktype IN ('C', 'D', 'N', 'R', 'S', 'X', 'B', 'V');
AND prs_kenmerk_kenmerktype IN ('C', 'D', 'N', 'R', 'r', 'S', 'X', 'V');
END IF;
RETURN v_kenmerk_key;
@@ -1726,10 +1704,10 @@ AS
v_prs_srtperslid_omschrijving :=
TRIM (v_prs_srtperslid_omschrijving);
IF LENGTH (v_prs_srtperslid_omschrijving) > 60
IF LENGTH (v_prs_srtperslid_omschrijving) > 100
THEN
v_prs_srtperslid_omschrijving :=
SUBSTR (v_prs_srtperslid_omschrijving, 1, 60);
SUBSTR (v_prs_srtperslid_omschrijving, 1, 100);
fac.imp_writelog (
p_import_key,
'W',
@@ -1769,9 +1747,9 @@ AS
v_errorhint := 'Ongeldige loginnaam';
v_prs_perslid_oslogin := TRIM (v_prs_perslid_oslogin);
IF LENGTH (v_prs_perslid_oslogin) > 30
IF LENGTH (v_prs_perslid_oslogin) > 256
THEN
v_prs_perslid_oslogin := SUBSTR (v_prs_perslid_oslogin, 1, 30);
v_prs_perslid_oslogin := SUBSTR (v_prs_perslid_oslogin, 1, 256);
fac.imp_writelog (
p_import_key,
'W',
@@ -2029,7 +2007,7 @@ AS
IF p_kenmerkwaarde IS NOT NULL
THEN
IF v_kenmerk_type IN ('R', 'S')
IF v_kenmerk_type IN ('R', 'r', 'S')
THEN
v_errormsg := 'Fout bij bepalen eigen tabel';
@@ -2400,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:
@@ -2726,6 +2704,21 @@ AS
END;
END delete_perslid;
-- Verwijder ook alle children
-- Let wel dat de trigger van alles kan tegengaan (nog personen, objecten enz.)
PROCEDURE set_afdeling_verwijder (p_afdeling_key IN NUMBER)
AS
BEGIN
UPDATE prs_afdeling
SET prs_afdeling_verwijder = SYSDATE
WHERE prs_afdeling_verwijder IS NULL
AND prs_afdeling_key IN ( SELECT prs_afdeling_key
FROM prs_afdeling
START WITH prs_afdeling_key = p_afdeling_key
CONNECT BY PRIOR prs_afdeling_key = prs_afdeling_parentkey);
END;
FUNCTION combinatievalidatie (p_kp_key IN NUMBER, p_ksrt_key IN NUMBER, p_disc_key IN NUMBER)
RETURN BOOLEAN
AS
@@ -2878,6 +2871,23 @@ AS
COMMIT;
END;
PROCEDURE personen_vervangers_schonen
AS
v_count_del NUMBER(10);
BEGIN
v_count_del := 0;
DELETE
FROM prs_collega
WHERE prs_collega_vervaldatum < TRUNC(SYSDATE);
v_count_del := SQL%ROWCOUNT;
IF v_count_del > 0
THEN
fac.writelog ('PRS_COLLEGA_SCHONEN', 'S', 'Vervangers/#geschoond: ' || TO_CHAR (v_count_del), '');
END IF;
END;
END prs;
/

View File

@@ -16,6 +16,8 @@ CREATE SEQUENCE prs_s_prs_contactpersoon_key MINVALUE 1;
CREATE SEQUENCE prs_s_prs_contactpers_loc_key MINVALUE 1;
CREATE SEQUENCE prs_s_prs_bedrijfadres_key MINVALUE 1;
CREATE SEQUENCE prs_s_prs_bedrijfbedrijf_key MINVALUE 1;
CREATE SEQUENCE prs_s_prs_bedrijfadres_srtnoti_key MINVALUE 1;
CREATE SEQUENCE prs_s_prs_prsfaq_key MINVALUE 1;
CREATE SEQUENCE prs_s_prs_dienst_key MINVALUE 1;
CREATE SEQUENCE prs_s_prs_bedrijfdienstloc_key MINVALUE 1;

View File

@@ -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
@@ -68,7 +68,7 @@ CREATE_TABLE(prs_bedrijf,0)
prs_leverancier_nr
VARCHAR2(50),
prs_overeenkomst_nr
VARCHAR2(20),
VARCHAR2(30),
prs_overeenkomst_datum
DATE,
prs_bedrijf_email
@@ -87,6 +87,8 @@ CREATE_TABLE(prs_bedrijf,0)
NUMBER(8,2),
prs_bedrijf_bes_kosten
NUMBER(8,2),
prs_bedrijf_mld_limiet
NUMBER(8,2),
-- fin_btwtabel_key
-- NUMBER(10)
-- CONSTRAINT prs_r_fin_btwtabel_key1 REFERENCES fin_btwtabel(fin_btwtabel_key),
@@ -110,10 +112,10 @@ CREATE_TABLE(prs_bedrijf,0)
NUMBER(1)
CONSTRAINT prs_c_prs_bedrijf_contract CHECK(prs_bedrijf_contract IS NULL
OR prs_bedrijf_contract = 1 ),
prs_bedrijf_intern /* is onderdeel van de eigen organisatie */
prs_bedrijf_intern /* NULL=extern, 1=onderdeel van de eigen organisatie, 2=pseudo(systeem)bedrijf voor bedrijfadressen */
NUMBER(1)
CONSTRAINT prs_c_prs_bedrijf_intern CHECK(prs_bedrijf_intern IS NULL
OR prs_bedrijf_intern = 1 ),
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
@@ -129,7 +131,6 @@ CREATE_TABLE(prs_bedrijf,0)
prs_bedrijf_bes_factor /* FSN#19902, voor PRD, had bijna een flex kunnen zijn */
NUMBER(8,6)
DEFAULT 1,
CONSTRAINT prs_u_prs_bedrijf_naam_upper UNIQUE(prs_bedrijf_naam_upper, prs_bedrijf_verwijder),
prs_bedrijf_t_uitvoertijd
MLD_T_UITVOERTIJD
CONSTRAINT prs_c_prs_bedrijf_t_uitvtijd CHECK(prs_bedrijf_t_uitvoertijd.tijdsduur >= 0), /* of null */
@@ -141,7 +142,8 @@ CREATE_TABLE(prs_bedrijf,0)
prs_bedrijf_y
NUMBER(16,6),
prs_bedrijf_url
VARCHAR2(512)
VARCHAR2(512),
CONSTRAINT prs_u_prs_bedrijf_naam_upper UNIQUE(prs_bedrijf_naam_upper, prs_bedrijf_intern, prs_bedrijf_verwijder)
);
ALTER TABLE prs_bedrijf MODIFY prs_bedrijf_t_uitvoertijd DEFAULT MLD_T_UITVOERTIJD(NULL, NULL);
@@ -226,6 +228,7 @@ CREATE_TABLE(prs_bedrijf_bedrijf,0)
* Bij Opdrachten kan er per opdrachttype een ander adres zijn, het record met mld_typeopdr_key NULL
* is de fallback voor de niet benoemde opdrachttypes.
* prs_bedrijf_key2 is optioneel het bedrijf van de opdrachtGEVER, in (pseudo-)multicompany omgevingen
* Type E is voor Mareon (ERP), en is vooralsnog alleen voor interne bedrijven (opdrachtgevers)
*/
CREATE_TABLE(prs_bedrijfadres, 0) (
prs_bedrijfadres_key
@@ -243,9 +246,13 @@ CREATE_TABLE(prs_bedrijfadres, 0) (
alg_locatie_key -- optioneel specifiek voor deze locatie
NUMBER(10)
CONSTRAINT prs_r_alg_locatie_key REFERENCES alg_locatie(alg_locatie_key) ON DELETE CASCADE,
prs_bedrijfadres_type /* O=Order, B=Bestelling, V=Voorraadinfo, C=Contract, N=Notificatie, I=IOT */
VARCHAR2(1)
CONSTRAINT prs_c_prs_bedrijfadrestype CHECK (prs_bedrijfadres_type IN ('O','B','C','V','N','I')),
ins_discipline_key -- optioneel specifiek voor deze discipline
NUMBER(10)
CONSTRAINT ins_r_ins_discipline_key REFERENCES ins_tab_discipline(ins_discipline_key) ON DELETE CASCADE,
prs_bedrijfadres_omschrijving /* voor identificatie, uitleg */
VARCHAR2(100),
prs_bedrijfadres_type /* O=Order, B=Bestelling, V=Voorraadinfo, C=Contract, N=Notificatie, I=IOT, R=Catering, E=ERP (Mareon) */
VARCHAR2(3), /* OG=Order generiek, BOF BestelOrderGeneriek enz. */
-- In MLD_TAB.SRC:
-- mld_typeopdr_key
-- NUMBER(10) CONSTRAINT prs_r_mld_typeopdr_key REFERENCES mld_typeopdr(mld_typeopdr_key) ON DELETE CASCADE,
@@ -278,7 +285,7 @@ CREATE_TABLE(prs_bedrijfadres, 0) (
prs_bedrijfadres_ext
VARCHAR2(10),
prs_bedrijfadres_username
VARCHAR2(32),
VARCHAR2(128),
prs_bedrijfadres_password
VARCHAR2(320),
prs_bedrijfadres_privkey
@@ -320,6 +327,27 @@ CREATE_TABLE(prs_bedrijfadres, 0) (
NOT NULL
);
CREATE_TABLE(prs_bedrijfadres_srtnoti, 0)
(
prs_bedrijfadres_srtnoti_key
NUMBER(10)
PRIMARY KEY,
prs_bedrijfadres_key
NUMBER(10)
CONSTRAINT prs_r_bedrijfadres_key2
REFERENCES prs_bedrijfadres(prs_bedrijfadres_key) ON DELETE CASCADE,
fac_srtnotificatie_key
NUMBER(10)
REFERENCES fac_srtnotificatie(fac_srtnotificatie_key) ON DELETE CASCADE,
prs_bedrijfadres_method -- optionele overrule method
VARCHAR2(16),
prs_bedrijfadres_url -- optionele overrule endpoint
VARCHAR2(512),
prs_bedrijfadres_srtnoti_aanmaak
DATE
DEFAULT SYSDATE NOT NULL
);
CREATE_TABLE(prs_kostenplaatsgrp,0) (
prs_kostenplaatsgrp_key
NUMBER (10) PRIMARY KEY,
@@ -503,10 +531,10 @@ CREATE_TABLE(prs_srtperslid,0)
NUMBER(10)
CONSTRAINT prs_k_prs_srtperslid_key PRIMARY KEY,
prs_srtperslid_omschrijving
VARCHAR2(60)
VARCHAR2(100)
NOT_NULL(prs_srtperslid_omschrijving, prs_c_prs_srtperslid_omschr),
prs_srtperslid_upper
VARCHAR2(60)
VARCHAR2(100)
NOT_NULL(prs_srtperslid_upper, prs_c_prs_srtperslid_upper),
prs_bedrijf_key
NUMBER(10)
@@ -620,10 +648,10 @@ CREATE_TABLE(prs_perslid,0)
prs_perslid_nr
VARCHAR2(16),
prs_perslid_oslogin
VARCHAR2(30)
VARCHAR2(256)
CONSTRAINT prs_c_prs_perslid_oslogin UNIQUE,
prs_perslid_oslogin2
VARCHAR2(30)
VARCHAR2(256)
CONSTRAINT prs_c_prs_perslid_oslogin2 UNIQUE,
prs_perslid_salt
VARCHAR2(32),
@@ -1004,7 +1032,9 @@ CREATE_TABLE(prs_collega,0)
prs_collega_aanmaak
DATE
DEFAULT SYSDATE
NOT_NULL(prs_collega_aanmaak, prs_c_prs_collega_aanmaak)
NOT_NULL(prs_collega_aanmaak, prs_c_prs_collega_aanmaak),
prs_collega_vervaldatum
DATE
);
CREATE_TABLE(prs_perslidkostenplaats,0)
@@ -1110,6 +1140,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
@@ -1126,8 +1159,6 @@ CREATE_TABLE(prs_kenmerk,0)
VARCHAR2(10)
,prs_kenmerk_kenmerktype
VARCHAR2(1)
CONSTRAINT prs_c_prs_kenmerk_type2 CHECK
(prs_kenmerk_kenmerktype IN ('C','N','D','T','R','X','L','Q','F','M','E','S','l','B','V'))
,prs_kenmerk_systeem -- &1 = systeemkm, &8 = anonimiseren
NUMBER(2)
DEFAULT 0
@@ -1226,6 +1257,8 @@ prs_contactpersoon_opmerking
VARCHAR2(255),
prs_contactpersoon_uurloon
NUMBER(6,2),
prs_contactpersoon_systeem
NUMBER(1) DEFAULT 0 NOT NULL,
prs_bedrijf_key
NUMBER(10)
CONSTRAINT prs_r_prs_bedrijf_key4 REFERENCES prs_bedrijf(prs_bedrijf_key),
@@ -1325,6 +1358,29 @@ CONSTRAINT prs_c_prs_bdlbp1 CHECK ((prs_bedrijf_key IS NOT NULL AND prs_perslid_
ALTER TABLE prs_bedrijfdienstlocatie MODIFY prs_bdl_t_uitvoertijd DEFAULT MLD_T_UITVOERTIJD(NULL, NULL);
/*
* Om een kennisbankitem afhankelijk te kunnen maken van een afdeling/bedrijf
* afdeling is optioneel. Toepassing is melder-afhankelijk maken van faqs
* maar mogelijk is dit ooit ook nog wel anders bruikbaar (bv voor leveranciers)
*/
CREATE_TABLE(prs_prsfaq, 0)
(
prs_prsfaq_key
NUMBER(10)
CONSTRAINT prs_k_prsfaq_key PRIMARY KEY,
prs_bedrijf_key
NUMBER(10)
NOT NULL
CONSTRAINT prs_r_prs_bedrijf_key9 REFERENCES prs_bedrijf(prs_bedrijf_key) ON DELETE CASCADE,
prs_afdeling_key /* optionele verbijzondering binnen dit bedrijf */
NUMBER(10)
CONSTRAINT prs_r_prs_afdeling_key2 REFERENCES prs_afdeling(prs_afdeling_key) ON DELETE CASCADE,
fac_faq_key
NUMBER(10)
NOT NULL
CONSTRAINT prs_r_fac_faq_key REFERENCES fac_faq(fac_faq_key) ON DELETE CASCADE
);
CREATE_TABLE(prs_project,0) (
prs_project_key
NUMBER(10) PRIMARY KEY,
@@ -1348,7 +1404,9 @@ CREATE_TABLE(prs_kostensoortgrp,0) (
VARCHAR2(60)
NOT NULL,
prs_kostensoortgrp_altcode
VARCHAR2(60)
VARCHAR2(60),
prs_kostensoortgrp_verwijder
DATE
);
CREATE_TABLE(prs_kostensoort,0) (

View File

@@ -61,7 +61,8 @@ BEGIN
FROM cnt_v_aanwezigcontract
WHERE (cnt_v_aanwezigcontract.cnt_prs_afdeling_key = :old.prs_afdeling_key
OR cnt_v_aanwezigcontract.prs_afdeling_key_eig = :old.prs_afdeling_key)
AND cnt_v_aanwezigcontract.cnt_contract_looptijd_tot > SYSDATE;
AND cnt_v_aanwezigcontract.cnt_contract_looptijd_tot > SYSDATE
AND cnt_v_aanwezigcontract.cnt_contract_status <> 1;
raise_application_error(-20000, 'cnt_m022');
EXCEPTION
WHEN NO_DATA_FOUND THEN NULL;
@@ -248,6 +249,43 @@ BEGIN
EXCEPTION
WHEN OTHERS THEN NULL;
END;
FOR c1
IN (SELECT mld_melding_key
FROM mld_melding
WHERE mld_melding_behandelaar_key =
:old.prs_perslid_key
AND mld_melding_status NOT IN (5, 6))
LOOP
fac.trackaction ('#MLDBEH',
c1.mld_melding_key,
NULL,
NULL,
LCL.L('lcl_mld_is_mldbeh_none'));
UPDATE mld_melding
SET mld_melding_behandelaar_key = NULL
WHERE mld_melding_key = c1.mld_melding_key;
END LOOP;
FOR c1
IN (SELECT mld_melding_key
FROM mld_melding
WHERE mld_melding_behandelaar2_key =
:old.prs_perslid_key
AND mld_melding_status NOT IN (5, 6))
LOOP
fac.trackaction ('#MLDABH',
c1.mld_melding_key,
NULL,
NULL,
LCL.L('lcl_mld_is_mldabh_none'));
UPDATE mld_melding
SET mld_melding_behandelaar2_key = NULL
WHERE mld_melding_key = c1.mld_melding_key;
END LOOP;
-- Wis alle authenticatiemogelijkheden
:new.prs_perslid_oslogin := '';
:new.prs_perslid_oslogin2 := '';
@@ -262,19 +300,12 @@ BEGIN
END IF;
END IF;
IF (NVL(:new.prs_perslid_wachtwoord_hash, 'X') <> NVL(:old.prs_perslid_wachtwoord_hash, 'X'))
OR ( fac.getsetting ('login_use_email') = 0
AND ( :new.prs_perslid_oslogin IS NULL AND :old.prs_perslid_oslogin IS NOT NULL
OR :new.prs_perslid_oslogin2 IS NULL AND :old.prs_perslid_oslogin2 IS NOT NULL
)
)
OR ( fac.getsetting ('login_use_email') = 1
AND :new.prs_perslid_email IS NULL
AND :old.prs_perslid_email IS NOT NULL
)
OR ( :new.prs_perslid_inactief IS NOT NULL
AND :old.prs_perslid_inactief IS NULL
)
IF ( (NVL(:new.prs_perslid_wachtwoord_hash, 'X') <> NVL(:old.prs_perslid_wachtwoord_hash, 'X'))
OR (:new.prs_perslid_oslogin IS NULL AND :old.prs_perslid_oslogin IS NOT NULL)
OR (:new.prs_perslid_oslogin2 IS NULL AND :old.prs_perslid_oslogin2 IS NOT NULL)
OR (:new.prs_perslid_email IS NULL AND :old.prs_perslid_email IS NOT NULL)
OR (:new.prs_perslid_inactief IS NOT NULL AND :old.prs_perslid_inactief IS NULL)
)
THEN -- Merk op: anno 5.3.2 wordt een persoon die *nu* is ingelogd hier niet
-- automatisch door uitgelogd
:new.prs_perslid_credentials_datum := SYSDATE;
@@ -292,12 +323,19 @@ FOR EACH ROW
BEGIN
/*
* Als echte persoon een login krijgt, dan ook in de default autorisatiegroep als die nog geen rechten had
* Als S(login_use_email) = 1 en de persoon krijgt een email, dan ook
*/
IF :new.prs_perslid_verwijder IS NULLDATUM AND
:new.prs_perslid_oslogin IS NOT NULL AND :old.prs_perslid_oslogin IS NULL AND
SUBSTR(:new.prs_perslid_oslogin, 1, 1) <> '_'
THEN
BEGIN
IF :new.prs_perslid_verwijder IS NULL
AND ( ( :old.prs_perslid_oslogin IS NULL
AND :new.prs_perslid_oslogin IS NOT NULL
AND SUBSTR (:new.prs_perslid_oslogin, 1, 1) <> '_')
OR ( fac.getsetting ('login_use_email') = 1
AND :old.prs_perslid_email IS NULL
AND :new.prs_perslid_email IS NOT NULL
AND ( :new.prs_perslid_oslogin IS NULL
OR SUBSTR (:new.prs_perslid_oslogin, 1, 1) <> '_')))
THEN
BEGIN
INSERT INTO fac_gebruikersgroep
(fac_groep_key, prs_perslid_key)
SELECT fac_groep_key, :NEW.prs_perslid_key
@@ -306,12 +344,12 @@ BEGIN
AND NOT EXISTS (SELECT 'x'
FROM fac_gebruikersgroep
WHERE prs_perslid_key = :NEW.prs_perslid_key);
EXCEPTION
WHEN OTHERS
THEN
NULL;
END;
END IF;
EXCEPTION
WHEN OTHERS
THEN
NULL;
END;
END IF;
END;
/
@@ -415,7 +453,8 @@ BEGIN
INTO dummy
FROM cnt_v_aanwezigcontract
WHERE cnt_v_aanwezigcontract.cnt_prs_bedrijf_key = :old.prs_bedrijf_key
AND cnt_v_aanwezigcontract.cnt_contract_looptijd_tot > sysdate;
AND cnt_v_aanwezigcontract.cnt_contract_looptijd_tot > SYSDATE
AND cnt_v_aanwezigcontract.cnt_contract_status <> 1;
raise_application_error(-20000, 'cnt_m023');
EXCEPTION
WHEN NO_DATA_FOUND THEN NULL;
@@ -461,6 +500,61 @@ 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
BEGIN
UPDATE_PRIMARY_KEY(prs_bedrijfadres_srtnoti_KEY, prs_s_prs_bedrijfadres_srtnoti_key);
END;
/
CREATE_TRIGGER(prs_t_prs_prsfaq_B_I)
BEFORE INSERT ON prs_prsfaq
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(prs_prsfaq_key, prs_s_prs_prsfaq_key);
END;
/
CREATE_TRIGGER(prs_t_prs_kenmerk_b_iu)
BEFORE INSERT OR UPDATE ON prs_kenmerk
FOR EACH ROW
@@ -475,44 +569,53 @@ BEGIN
raise_application_error(-20000, 'ALG_M238');
END IF;
IF :new.prs_kenmerk_kenmerktype IN ('C', 'N', 'B') AND :new.prs_kenmerk_lengte IS NULL
IF :new.prs_kenmerk_kenmerktype IN ('C', 'N') AND :new.prs_kenmerk_lengte IS NULL
THEN
raise_application_error(-20000, 'ALG_C_ALG_KENMERK_LENGTE');
raise_application_error(-20000, 'PRS_C_PRS_KENMERK_LENGTE');
END IF;
IF :new.prs_kenmerk_kenmerktype IN ('N', 'B') AND :new.prs_kenmerk_lengte > 20
IF :new.prs_kenmerk_kenmerktype = 'N' AND :new.prs_kenmerk_lengte > 20
THEN
:new.prs_kenmerk_lengte := 20;
END IF;
IF :new.prs_kenmerk_kenmerktype IN ('N', 'B') AND :old.prs_kenmerk_key IS NOT NULL
IF :new.prs_kenmerk_kenmerktype = 'N' AND :old.prs_kenmerk_key IS NOT NULL
THEN
-- An existing property of type N
IF :old.prs_kenmerk_nmin <> :new.prs_kenmerk_nmin OR
(:old.prs_kenmerk_nmin IS NULL AND :new.prs_kenmerk_nmin IS NOT NULL)
THEN
DECLARE
Dummy CHAR;
aantal NUMBER;
BEGIN
SELECT 'X'
INTO Dummy
SELECT COUNT(*)
INTO aantal
FROM prs_kenmerkLink
WHERE FAC.SAFE_TO_NUMBER(prs_kenmerkLink_waarde) < :new.prs_kenmerk_nmin
AND prs_kenmerk_key = :old.prs_kenmerk_key;
IF :new.prs_kenmerk_niveau = 'G' THEN
raise_application_error(-20000, 'ALG_C_ALG_KENMERK_MIN_G');
ELSE
raise_application_error(-20000, 'ALG_C_ALG_KENMERK_MIN_R');
AND prs_kenmerk_key = :old.prs_kenmerk_key
AND prs_link_key IN
(SELECT prs_afdeling_key
FROM prs_afdeling
WHERE prs_afdeling_verwijder IS NULL
AND :new.prs_kenmerk_niveau = 'A'
UNION
SELECT prs_bedrijf_key
FROM prs_bedrijf
WHERE prs_bedrijf_verwijder IS NULL
AND :new.prs_kenmerk_niveau = 'B'
UNION
SELECT prs_contactpersoon_key
FROM prs_contactpersoon
WHERE prs_contactpersoon_verwijder IS NULL
AND :new.prs_kenmerk_niveau = 'C'
UNION
SELECT prs_perslid_key
FROM prs_perslid
WHERE prs_perslid_verwijder IS NULL
AND :new.prs_kenmerk_niveau = 'P'
);
IF aantal > 0
THEN
raise_application_error(-20000, 'PRS_C_PRS_KENMERK_MIN_' || :new.prs_kenmerk_niveau);
END IF;
EXCEPTION
WHEN NO_DATA_FOUND
THEN NULL;
WHEN TOO_MANY_ROWS THEN
BEGIN
IF :new.prs_kenmerk_niveau = 'G' THEN
raise_application_error(-20000, 'ALG_C_ALG_KENMERK_MIN_G');
ELSE
raise_application_error(-20000, 'ALG_C_ALG_KENMERK_MIN_R');
END IF;
END;
END;
END IF;
@@ -520,29 +623,38 @@ BEGIN
(:old.prs_kenmerk_nmax IS NULL AND :new.prs_kenmerk_nmax IS NOT NULL)
THEN
DECLARE
Dummy CHAR;
aantal NUMBER;
BEGIN
SELECT 'X'
INTO Dummy
SELECT COUNT(*)
INTO aantal
FROM prs_kenmerkLink
WHERE FAC.SAFE_TO_NUMBER(prs_kenmerkLink_waarde) > :new.prs_kenmerk_nmax
AND prs_kenmerk_key = :old.prs_kenmerk_key;
IF :new.prs_kenmerk_niveau = 'G' THEN
raise_application_error(-20000, 'ALG_C_ALG_KENMERK_MAX_G');
ELSE
raise_application_error(-20000, 'ALG_C_ALG_KENMERK_MAX_R');
AND prs_kenmerk_key = :old.prs_kenmerk_key
AND prs_link_key IN
(SELECT prs_afdeling_key
FROM prs_afdeling
WHERE prs_afdeling_verwijder IS NULL
AND :new.prs_kenmerk_niveau = 'A'
UNION
SELECT prs_bedrijf_key
FROM prs_bedrijf
WHERE prs_bedrijf_verwijder IS NULL
AND :new.prs_kenmerk_niveau = 'B'
UNION
SELECT prs_contactpersoon_key
FROM prs_contactpersoon
WHERE prs_contactpersoon_verwijder IS NULL
AND :new.prs_kenmerk_niveau = 'C'
UNION
SELECT prs_perslid_key
FROM prs_perslid
WHERE prs_perslid_verwijder IS NULL
AND :new.prs_kenmerk_niveau = 'P'
);
IF aantal > 0
THEN
raise_application_error(-20000, 'PRS_C_PRS_KENMERK_MAX_' || :new.prs_kenmerk_niveau);
END IF;
EXCEPTION
WHEN NO_DATA_FOUND
THEN NULL;
WHEN TOO_MANY_ROWS THEN
BEGIN
IF :new.prs_kenmerk_niveau = 'G' THEN
raise_application_error(-20000, 'ALG_C_ALG_KENMERK_MAX_G');
ELSE
raise_application_error(-20000, 'ALG_C_ALG_KENMERK_MAX_R');
END IF;
END;
END;
END IF;
END IF;
@@ -643,7 +755,7 @@ BEGIN
APPLICATION_ERROR_GOTO(-20004, 'ALG_M232,'|| KenmerkOmschr ||','
|| TO_CHAR(KenmerkLengte));
END IF;
ELSIF KenmerkType IN ('N', 'B')
ELSIF KenmerkType = 'N'
/*
** Number
*/

View File

@@ -568,6 +568,8 @@ CREATE_VIEW(prs_v_afdeling, 0)
prs_afdeling_naam4,
prs_afdeling_naam5,
prs_afdeling_naam6,
prs_afdeling_naam7,
prs_afdeling_naam8,
prs_afdeling_upper,
prs_afdeling_omschrijving,
prs_kostenplaats_key,
@@ -586,6 +588,8 @@ CREATE_VIEW(prs_v_afdeling, 0)
b.prs_afdeling_naam4,
b.prs_afdeling_naam5,
b.prs_afdeling_naam6,
pb.prs_bedrijf_naam || '-' || a.prs_afdeling_omschrijving prs_afdeling_naam7,
pb.prs_bedrijf_naam || '-' || a.prs_afdeling_naam prs_afdeling_naam8,
UPPER(a.prs_afdeling_naam) prs_afdeling_upper,
a.prs_afdeling_omschrijving,
a.prs_kostenplaats_key,
@@ -595,8 +599,9 @@ CREATE_VIEW(prs_v_afdeling, 0)
b.prs_bedrijf_key,
a.prs_perslid_key_verantw,
b.niveau
FROM prs_afdeling a, prs_v_afdeling_fullnames b
WHERE a.prs_afdeling_key=b.prs_afdeling_key;
FROM prs_afdeling a, prs_v_afdeling_fullnames b, prs_bedrijf pb
WHERE a.prs_afdeling_key = b.prs_afdeling_key
AND b.prs_bedrijf_key = pb.prs_bedrijf_key;
-- NB: dit is een overrule!
DEFINIEER_VIEW_AANWEZIG(prs_v_afdeling,
@@ -634,54 +639,55 @@ CREATE_VIEW(prs_v_hoofdperslidwerkplek2, 0)
prs_werkplek_key,
aantal
)
AS
SELECT prs_perslid_key, pwp.prs_werkplek_key, 1
FROM prs_perslidwerkplek pwp, prs_werkplek wp
WHERE pwp.prs_werkplek_key = wp.prs_werkplek_key
AND wp.prs_werkplek_virtueel = 0
AND NOT EXISTS
(SELECT ''
FROM prs_perslidwerkplek pwp2, prs_werkplek wp2
WHERE pwp.prs_perslid_key = pwp2.prs_perslid_key
AND pwp2.prs_werkplek_key = wp2.prs_werkplek_key
AND wp2.prs_werkplek_virtueel = 0
AND pwp.prs_werkplek_key <> pwp2.prs_werkplek_key
AND COALESCE (pwp2.prs_perslidwerkplek_volgnr, 10000 + pwp2.prs_perslidwerkplek_key) <
COALESCE (pwp.prs_perslidwerkplek_volgnr, 10000 + pwp.prs_perslidwerkplek_key));
AS -- Kies bij gelijke volgnummers degene met de laagste prs_werkplek_key
SELECT prs_perslid_key, MIN (pwp.prs_werkplek_key), 1
FROM prs_perslidwerkplek pwp, prs_werkplek wp
WHERE pwp.prs_werkplek_key = wp.prs_werkplek_key
AND wp.prs_werkplek_virtueel = 0
AND NOT EXISTS
(SELECT ''
FROM prs_perslidwerkplek pwp2, prs_werkplek wp2
WHERE pwp.prs_perslid_key = pwp2.prs_perslid_key
AND pwp2.prs_werkplek_key = wp2.prs_werkplek_key
AND wp2.prs_werkplek_virtueel = 0
AND pwp.prs_werkplek_key <> pwp2.prs_werkplek_key
AND COALESCE (pwp2.prs_perslidwerkplek_volgnr, 10000 + pwp2.prs_perslidwerkplek_key) <
COALESCE (pwp.prs_perslidwerkplek_volgnr, 10000 + pwp.prs_perslidwerkplek_key))
GROUP BY pwp.prs_perslid_key, COALESCE (pwp.prs_perslidwerkplek_volgnr, 10000 + pwp.prs_perslidwerkplek_key);
CREATE_VIEW(prs_v_hoofdperslidwerkplek, 0)
AS
SELECT prs_perslid_key,
MAX (pwp.prs_werkplek_key) prs_werkplek_key,
1 aantal
FROM prs_perslidwerkplek pwp, prs_werkplek wp
WHERE pwp.prs_werkplek_key = wp.prs_werkplek_key
AND wp.prs_werkplek_virtueel = 0
GROUP BY prs_perslid_key
HAVING COUNT (pwp.prs_werkplek_key) = 1
UNION ALL
SELECT prs_perslid_key, pwp.prs_werkplek_key, 2
FROM prs_perslidwerkplek pwp, prs_werkplek wp
WHERE pwp.prs_werkplek_key = wp.prs_werkplek_key
AND wp.prs_werkplek_virtueel = 0
AND NOT EXISTS
(SELECT ''
FROM prs_perslidwerkplek pwp2, prs_werkplek wp2
WHERE pwp.prs_perslid_key = pwp2.prs_perslid_key
AND pwp2.prs_werkplek_key = wp2.prs_werkplek_key
AND wp2.prs_werkplek_virtueel = 0
AND pwp.prs_werkplek_key <> pwp2.prs_werkplek_key
AND COALESCE (pwp2.prs_perslidwerkplek_volgnr, 10000+pwp2.prs_perslidwerkplek_key) <
COALESCE (pwp.prs_perslidwerkplek_volgnr, 10000+pwp.prs_perslidwerkplek_key))
AND NOT EXISTS
( SELECT prs_perslid_key
FROM prs_perslidwerkplek pwp3, prs_werkplek wp3
WHERE pwp3.prs_werkplek_key = wp3.prs_werkplek_key
AND wp3.prs_werkplek_virtueel = 0
AND pwp3.prs_perslid_key = pwp.prs_perslid_key
GROUP BY prs_perslid_key
HAVING COUNT (pwp3.prs_werkplek_key) = 1);
SELECT prs_perslid_key,
MAX (pwp.prs_werkplek_key) prs_werkplek_key,
1 aantal
FROM prs_perslidwerkplek pwp, prs_werkplek wp
WHERE pwp.prs_werkplek_key = wp.prs_werkplek_key
AND wp.prs_werkplek_virtueel = 0
GROUP BY prs_perslid_key
HAVING COUNT (pwp.prs_werkplek_key) = 1
UNION ALL
SELECT prs_perslid_key, MIN(pwp.prs_werkplek_key), 2
FROM prs_perslidwerkplek pwp, prs_werkplek wp
WHERE pwp.prs_werkplek_key = wp.prs_werkplek_key
AND wp.prs_werkplek_virtueel = 0
AND NOT EXISTS
(SELECT ''
FROM prs_perslidwerkplek pwp2, prs_werkplek wp2
WHERE pwp.prs_perslid_key = pwp2.prs_perslid_key
AND pwp2.prs_werkplek_key = wp2.prs_werkplek_key
AND wp2.prs_werkplek_virtueel = 0
AND pwp.prs_werkplek_key <> pwp2.prs_werkplek_key
AND COALESCE (pwp2.prs_perslidwerkplek_volgnr, 10000 + pwp2.prs_perslidwerkplek_key) <
COALESCE (pwp.prs_perslidwerkplek_volgnr, 10000 + pwp.prs_perslidwerkplek_key))
AND NOT EXISTS
( SELECT prs_perslid_key
FROM prs_perslidwerkplek pwp3, prs_werkplek wp3
WHERE pwp3.prs_werkplek_key = wp3.prs_werkplek_key
AND wp3.prs_werkplek_virtueel = 0
AND pwp3.prs_perslid_key = pwp.prs_perslid_key
GROUP BY prs_perslid_key
HAVING COUNT (pwp3.prs_werkplek_key) = 1)
GROUP BY prs_perslid_key, COALESCE (pwp.prs_perslidwerkplek_volgnr, 10000 + pwp.prs_perslidwerkplek_key);
CREATE_VIEW(prs_v_werkplek_gegevens,0)
(
@@ -1636,6 +1642,36 @@ AS
GROUP BY wp.prs_alg_ruimte_key, r.alg_verdieping_key)
GROUP BY alg_ruimte_key, alg_verdieping_key;
/* Per persoon de [actuele] vervangers */
CREATE_VIEW(prs_v_rap_vervangers, 0)
(
prs_perslid_key,
naam,
vervangers
)
AS
SELECT c.prs_perslid_key,
(SELECT p.prs_perslid_naam_friendly
FROM prs_v_perslid_fullnames_all p
WHERE p.prs_perslid_key = c.prs_perslid_key),
LISTAGG (
(SELECT p_alt.prs_perslid_naam_friendly
FROM prs_v_perslid_fullnames_all p_alt
WHERE p_alt.prs_perslid_key = c.prs_perslid_key_alt)
|| DECODE (
c.prs_collega_vervaldatum,
NULL, '',
' ('
|| lcl.l ('lcl_tot')
|| ' '
|| TO_CHAR (c.prs_collega_vervaldatum, 'DD-MM-YYYY')
|| ')'),
', ')
FROM prs_collega c
WHERE c.prs_collega_vervaldatum IS NULL
OR c.prs_collega_vervaldatum > SYSDATE
GROUP BY c.prs_perslid_key;
/* ROOT VIEWS for User defined Reports (UDR) */
CREATE_VIEW(prs_v_udr_bedrijf, 0)
(

View File

@@ -42,6 +42,8 @@ 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, pnotidelay NUMBER DEFAULT NULL);
END res;
/
@@ -359,8 +361,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
@@ -442,11 +444,7 @@ AS
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
k.res_srtkenmerk_key
FROM res_kenmerkartikel ka,
res_kenmerk k,
res_srtkenmerk sk,
@@ -462,7 +460,7 @@ AS
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 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')
@@ -470,11 +468,7 @@ AS
(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
k.res_srtkenmerk_key
FROM res_rsv_ruimte rr,
res_rsv_artikel rra,
res_artikel ra,
@@ -484,8 +478,8 @@ AS
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
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
ORDER BY newkenmerk.res_rsv_artikel_key,
newkenmerk.res_kenmerk_key;
@@ -544,7 +538,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
@@ -1458,7 +1452,7 @@ AS
THEN
waarde := lcl.l ('lcl_check_1');
END IF;
ELSIF ck.res_srtkenmerk_kenmerktype = 'R' OR ck.res_srtkenmerk_kenmerktype = 'S'
ELSIF ck.res_srtkenmerk_kenmerktype = 'R' OR ck.res_srtkenmerk_kenmerktype = 'r' OR ck.res_srtkenmerk_kenmerktype = 'S'
-- referentie
THEN
waarde := flx.getdomeinwaarde (ck.fac_kenmerkdomein_key, TO_NUMBER (waarde));
@@ -2549,6 +2543,64 @@ AS
-- Geen tracking op res_reservering.
END;
PROCEDURE notifyreserveringbedrijven (prsvkey 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,
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
FROM res_ruimte_opstelling rro, res_alg_ruimte rar, res_ruimte rr
WHERE rro.res_ruimte_key = rar.res_ruimte_key
AND rr.res_ruimte_key = rar.res_ruimte_key
AND rar.res_alg_ruimte_verwijder IS NULL
GROUP BY res_ruimte_opstel_key, rr.res_ruimte_key) opstelalg,
(SELECT res_rsv_ruimte_key, MAX (rrd.prs_bedrijf_key) prs_bedrijf_key -- artikelen van verschillende leveranciers is unsupported
FROM res_disc_params rrd, res_artikel ra, res_rsv_artikel rra
WHERE rrd.res_ins_discipline_key = ra.res_discipline_key
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 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 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'
OR 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 => prsvkey,
ptrackingkey => ptrackingkey,
preference => bedrijfrec.reference,
plocatie_key => bedrijfrec.alg_locatie_key,
pbedrijf_key2 => bedrijfrec.persoon_bedrijf_key,
pnotidelay => pnotidelay);
END LOOP;
END;
END res;
/

View File

@@ -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)
);
@@ -478,6 +480,8 @@ CREATE_TABLE(res_activiteit, 0)
CONSTRAINT res_r_res_activiteit_key2 REFERENCES res_activiteit(res_activiteit_key)
, res_activiteit_image
VARCHAR2(255)
, res_activiteit_color
VARCHAR2(60 CHAR)
, CONSTRAINT res_u_res_activiteit_upper UNIQUE(res_activiteit_upper, res_activiteit_verwijder, res_srtactiviteit_key)
);
@@ -625,6 +629,16 @@ CREATE_TABLE(res_rsv_ruimte, 0)
NUMBER(4)
DEFAULT 0
NOT_NULL(res_rsv_ruimte_extern_meeting, res_c_rsv_extern_meeting)
, res_rsv_ruimte_visibility -- 0=Private, 1=Normal
NUMBER(4)
DEFAULT 1
NOT NULL
, res_rsv_ruimte_teverzenden -- 1=nieuw 2=update
NUMBER(1)
DEFAULT 0
NOT NULL
, res_rsv_ruimte_verzonden
DATE
, res_rsv_ruimte_cat_appr /* Catalogus artikelen dienen gefiatteerd te worden 0=Nee, 1=Ja */
NUMBER(1)
DEFAULT 0
@@ -808,7 +822,6 @@ CREATE_TABLE(res_srtkenmerk, 0)
, CONSTRAINT res_c_res_srtkenmerk_omschr CHECK(res_srtkenmerk_omschrijving IS NOT NULL)
, CONSTRAINT res_srtkenmerk_omschrijving CHECK(res_srtkenmerk_omschrijving IS NOT NULL)
, CONSTRAINT res_u_res_srtkenmerk_upper UNIQUE(res_srtkenmerk_upper, res_srtkenmerk_verwijder)
, CONSTRAINT res_c_res_srtkenmerk_kenmtype CHECK(res_srtkenmerk_kenmerktype IN ('C','N','D','T','R','X','L','Q','F','M','E','S','l','B','V'))
, CONSTRAINT res_c_res_srtkenmerk_lengte CHECK(res_srtkenmerk_lengte >= 1
AND res_srtkenmerk_lengte <= 4000)
, CONSTRAINT res_c_res_srtkenmerk_max_min CHECK(res_srtkenmerk_nmax >= res_srtkenmerk_nmin)
@@ -856,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

View File

@@ -312,17 +312,17 @@ BEGIN
raise_application_error(-20000, 'RES_C_RES_SRTKENMERK_SYSTEEM');
END IF;
--
IF :new.res_srtkenmerk_kenmerktype IN ('C', 'N', 'B') AND :new.res_srtkenmerk_lengte IS NULL
IF :new.res_srtkenmerk_kenmerktype IN ('C', 'N') AND :new.res_srtkenmerk_lengte IS NULL
THEN
raise_application_error(-20000, 'res_C_res_SRTKENMERK_LENGTE');
END IF;
-- Numeriek mag niet te lang zijn (numeric overflow)
IF :new.res_srtkenmerk_kenmerktype IN ('N', 'B') AND :new.res_srtkenmerk_lengte > 20
IF :new.res_srtkenmerk_kenmerktype = 'N' AND :new.res_srtkenmerk_lengte > 20
THEN
:new.res_srtkenmerk_lengte := 20;
END IF;
--
IF :new.res_srtkenmerk_kenmerktype IN ('N', 'B') AND :old.res_srtkenmerk_key IS NOT NULL
IF :new.res_srtkenmerk_kenmerktype = 'N' AND :old.res_srtkenmerk_key IS NOT NULL
THEN
IF :old.res_srtkenmerk_nmin <> :new.res_srtkenmerk_nmin
OR (:old.res_srtkenmerk_nmin IS NULL AND :new.res_srtkenmerk_nmin IS NOT NULL)
@@ -407,6 +407,11 @@ CREATE_TRIGGER(res_t_res_rsv_ruimte_B_IU)
BEFORE INSERT OR UPDATE ON res_rsv_ruimte
FOR EACH ROW
BEGIN
IF sys_context('USERENV', 'ACTION') = 'ANONYMIZE' OR
sys_context('USERENV', 'ACTION') = 'DBUPGRADE' THEN
RETURN;
END IF;
-- Niet waterdicht, meestal adequaat
IF NOT UPDATING('res_rsv_ruimte_satisfaction')
THEN
@@ -421,7 +426,7 @@ BEGIN
IF (:new.res_rsv_ruimte_satisfaction IS NOT NULL
AND (:old.res_rsv_ruimte_satisfaction IS NULL OR :old.res_rsv_ruimte_satisfaction <> :new.res_rsv_ruimte_satisfaction))
THEN
fac.trackaction('RESLIK', :old.res_rsv_ruimte_key, NULL , SYSDATE, REPLACE(lcl.l('lcl_faclike_changed'), '{0}', :new.res_rsv_ruimte_satisfaction));
fac.trackaction('#RESLIK', :old.res_rsv_ruimte_key, NULL , SYSDATE, REPLACE(lcl.l('lcl_faclike_changed'), '{0}', :new.res_rsv_ruimte_satisfaction));
END IF;
END;
/
@@ -501,7 +506,7 @@ BEGIN
-20004,
'res_m241,' || srtkenmerkomschr || ',' || TO_CHAR (srtkenmerklengte));
END IF;
ELSIF srtkenmerktype IN ('N', 'B')
ELSIF srtkenmerktype = 'N'
THEN
-- NUMBER
-- Controleer of er een numerieke waarde ingevuld is.
@@ -636,7 +641,7 @@ BEGIN
-20004,
'res_m245,' || srtkenmerkomschr || ',' || TO_CHAR (srtkenmerklengte));
END IF;
ELSIF srtkenmerktype IN ('N', 'B')
ELSIF srtkenmerktype = 'N'
THEN
-- NUMBER
-- Controleer of er een numerieke waarde ingevuld is.

View File

@@ -678,7 +678,10 @@ CREATE_VIEW(res_v_udr_reservering, 1)
activiteit,
srtactiviteit_key,
activiteitsoort,
opmerking
opmerking,
visibility,
ruimte_prijs,
ruimte_korting
)
AS
SELECT rrr.res_rsv_ruimte_key,
@@ -853,7 +856,10 @@ AS
ra.res_activiteit_omschrijving,
rsa.res_srtactiviteit_key,
rsa.res_srtactiviteit_omschrijving,
rrr.res_rsv_ruimte_opmerking
rrr.res_rsv_ruimte_opmerking,
rrr.res_rsv_ruimte_visibility,
res.getruimteprijs(rrr.res_rsv_ruimte_key),
rrr.res_rsv_ruimte_korting
FROM res_v_aanwezigrsv_ruimte rrr,
res_activiteit ra,
res_srtactiviteit rsa,
@@ -951,6 +957,7 @@ CREATE_VIEW(res_v_udr_reserveringincl, 1)
srtactiviteit_key,
activiteitsoort,
opmerking,
visibility,
bezorgmode,
voorziening_discipline_key,
voorziening_type,
@@ -1145,6 +1152,7 @@ AS
rsa.res_srtactiviteit_key,
rsa.res_srtactiviteit_omschrijving,
rrr.res_rsv_ruimte_opmerking,
rrr.res_rsv_ruimte_visibility,
DECODE(rrr.res_rsv_ruimte_cvab_mode, 0, lcl.l('lcl_res_afhalen'), 1, lcl.l('lcl_res_bezorgen'), ''),
voorz.ins_discipline_key,
voorz.vtype,

423
_UP/DB47to48.src Normal file
View File

@@ -0,0 +1,423 @@
/*
* Update script van FACILITOR schema
* $Revision$
* $Id$
*/
#include "prologue.inc"
COMMIT;
SET DEFINE OFF
/////////////////////////////////////////////////////////////////////////////////////////// BAUS#81220
ALTER TABLE ins_kenmerk ADD ins_kenmerk_verplicht_status NUMBER(1);
-- Alle "Altijd verplicht" inspectie kenmerken waren verplicht vanaf status "Afgemeld/Te voltooien(5)".
-- Nu zijn de "Altijd verplicht" inspectie kenmerken ook daadwerkelijk altijd verplicht. Deze kenmerken moeten dus omgezet worden.
UPDATE ins_kenmerk k
SET k.ins_kenmerk_verplicht = NULL,
k.ins_kenmerk_verplicht_status = 5
WHERE k.ins_kenmerk_key IN (SELECT k1.ins_kenmerk_key
FROM ins_kenmerk k1
WHERE k1.ins_kenmerk_verplicht IN (1)
AND k1.ins_kenmerk_niveau = 'C');
/////////////////////////////////////////////////////////////////////////////////////////// VLKC#79478
-- Conversie setting: Heropenen voor melder en FO/BO is nu de waarde 3 i.p.v. 1.
UPDATE fac_setting
SET fac_setting_pvalue = 3
WHERE fac_setting_name = 'mld_can_reopen_call'
AND fac_setting_pvalue = 1;
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#80553
ALTER TABLE mld_melding
ADD mld_melding_onderwerp_ai VARCHAR2 (80);
/////////////////////////////////////////////////////////////////////////////////////////// BAUS#80296
CREATE OR REPLACE VIEW fac_v_exp_flex_ctr AS SELECT * FROM DUAL;
DEF_RAPPORT('TRANSPORT', 'WEB_PRSSYS', 0, 'fac_v_exp_flex_ctr'
, 'Flexkenmerken Periodieke taken', 'Exporteren van flexkenmerken voor CTR'
, 'Flex properties Recurring tasks', 'Export of flex properties for CTR');
/////////////////////////////////////////////////////////////////////////////////////////// VNOG#81951
ALTER TABLE ins_srtdiscipline DROP CONSTRAINT ins_c_ins_srtdiscipline_bes;
ALTER TABLE ins_srtdiscipline ADD CONSTRAINT ins_c_ins_srtdiscipline_bes CHECK(ins_srtdiscipline_bes IN (0,1,2));
/////////////////////////////////////////////////////////////////////////////////////////// EIND#82432
DEF_MENUITEM(0, 'lcl_menu_fac_jobs_fe', '', 'FAC', 'appl/fac/job_search.asp?urole=fe', 0, 0, 'WEB_MLDUSE', 'W', '0', '');
DEF_MENUITEM(1, 'lcl_menu_fac_jobs_fo', '', 'FAC', 'appl/fac/job_search.asp?urole=fo', 0, 0, 'WEB_MLDFOF', 'W', '1', '');
MENU_INS_AFTER('lcl_menu_fac_jobs_fo', 'lcl_menu_cnt_bo', 100);
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#80823
ALTER TABLE fac_import_app ADD fac_import_app_csv NUMBER(1) DEFAULT(0) NOT NULL;
UPDATE fac_import_app
SET fac_import_app_csv = 1
WHERE fac_import_app_code IN (SELECT 'GENERICCSV' FROM DUAL
UNION SELECT fi.fac_import_app_code
FROM user_source us
, fac_import_app fi
, fac_version fv
WHERE us.name = fv.fac_version_cust || '_IMPORT_' || fi.fac_import_app_code
AND us.text LIKE '%fac_import_genericcsv%'
);
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#82594
CREATE TABLE mld_kenmerkblokmelding
( mld_kenmerkblokmelding_key
NUMBER(10)
CONSTRAINT mld_k_mld_kenmerkblokmelding_key PRIMARY KEY,
mld_melding_key
NUMBER(10)
CONSTRAINT mld_r_mld_melding_key7 REFERENCES mld_melding(mld_melding_key) ON DELETE CASCADE,
mld_kenmerk_key -- verwijzing naar het labelkenmerk
NUMBER(10)
CONSTRAINT mld_r_mld_kenmerk_key5 REFERENCES mld_kenmerk(mld_kenmerk_key) ON DELETE CASCADE,
ins_discipline_key
NUMBER (10)
CONSTRAINT mld_r_ins_discipline_key6 REFERENCES ins_tab_discipline(ins_discipline_key) ON DELETE CASCADE, -- blokbehandelteam
prs_perslid_key
NUMBER (10)
CONSTRAINT mld_r_prs_perslid_key14 REFERENCES prs_perslid(prs_perslid_key) ON DELETE SET NULL, -- blokbehandelteambehandelaar
mld_kenmerkblokmelding_afmelddatum
DATE,
mld_kenmerkblokmelding_aanmaak
DATE
DEFAULT SYSDATE,
CONSTRAINT mld_u_mld_kenmerkblokmelding UNIQUE(mld_melding_key, mld_kenmerk_key)
);
CREATE SEQUENCE mld_s_mld_kenmerkblokmelding_key MINVALUE 1;
CREATE INDEX mld_i_mld_kenmerkblokmelding ON mld_kenmerkblokmelding(prs_perslid_key);
ALTER TABLE mld_kenmerk ADD
ins_discipline_key
NUMBER (10)
CONSTRAINT mld_r_ins_discipline_key7 REFERENCES ins_tab_discipline(ins_discipline_key);
ALTER TABLE mld_srtkenmerk DROP CONSTRAINT mld_c_mld_srtkenmerk_kenmtype;
-- Onderstaan wordt met WDKA#80394 definitief verwijderd, dus hier niet opnieuw aanmaken
-- ALTER TABLE mld_srtkenmerk ADD
-- CONSTRAINT mld_c_mld_srtkenmerk_kenmtype CHECK(mld_srtkenmerk_kenmerktype IN ('C','N','D','T','R','S','X','F','E','M','L','l','b','Q','B','V'));
ALTER TABLE fac_kenmwaarden DROP CONSTRAINT fac_c_fac_kenmwaarden_kenmtype;
-- Onderstaan wordt met WDKA#80394 definitief verwijderd, dus hier niet opnieuw aanmaken
-- ALTER TABLE fac_kenmwaarden ADD
-- CONSTRAINT fac_c_fac_kenmwaarden_kenmtype CHECK(fac_kenmwaarden_kenmerktype IN ('C','N','D','T','R','S','X','F','E','M','L','l','b','Q','B','V'));
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#83243
UPDATE aut_idp
SET aut_idp_ipfilter = '80.250.128.5,80.250.128.6,80.250.129.195,31.161.17.4,80.250.129.2'
WHERE aut_idp_code = 'FACILITORSUPPORT';
/////////////////////////////////////////////////////////////////////////////////////////// MARX#81174
DEF_FAC_SRTNOT('FINANO', 0, 'lcl_noti_FINANO', 'fin/fin_factuur.asp?fin_key=', '0', 'factuur', 10);
/////////////////////////////////////////////////////////////////////////////////////////// EIND#82452
ALTER PACKAGE fac COMPILE; // anders (nog) invalid en lukt het volgende niet niet
ALTER PACKAGE fac COMPILE BODY;
-- Laten we een release lang staan
ALTER TABLE mld_melding RENAME COLUMN mld_melding_omschrijving TO mld_melding_omschrijving_old;
ALTER TABLE mld_melding ADD (mld_melding_omschrijving CLOB);
--Een UPDATE van miljoenen (MARX, HSLE) records duurt te lang. Daarom in een loopje.
--UPDATE mld_melding SET mld_melding_omschrijving = mld_melding_omschrijving_old;
PROMPT Warning: next update statement can take up to 10 minutes.
PROMPT Monitor progress in another session using
PROMPT SELECT COUNT (*) FROM mld_melding WHERE mld_melding_omschrijving IS NULL
BEGIN
EXECUTE IMMEDIATE 'ALTER TRIGGER mld_t_mld_melding_B_IU DISABLE';
LOOP
LOCK TABLE mld_melding IN EXCLUSIVE MODE; -- Wordt door COMMIT ongedaan gemaakt
UPDATE mld_melding
SET mld_melding_omschrijving = mld_melding_omschrijving_old
WHERE mld_melding_omschrijving IS NULL
AND mld_melding_omschrijving_old IS NOT NULL
AND ROWNUM <= 10000;
EXIT WHEN sql%notfound;
COMMIT;
END LOOP;
EXECUTE IMMEDIATE 'ALTER TRIGGER mld_t_mld_melding_B_IU ENABLE';
EXCEPTION
WHEN OTHERS THEN
EXECUTE IMMEDIATE 'ALTER TRIGGER mld_t_mld_melding_B_IU ENABLE';
RAISE;
END;
/
COMMIT;
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#76580
#include "../INI/INI_TAB.SRC"
#include "../INI/INI_SEQ.SRC"
#include "../INI/INI_IND.SRC"
#include "../INI/INI_TRI.SRC"
#include "../INI/INI_INI.SRC"
DEF_MENUENTRY(2, 99010, 'lcl_menu_setup_framework' , '', 'FAC', 'appl/init/init_setup.asp', 0, 0, 'WEB_FACTAB');
/////////////////////////////////////////////////////////////////////////////////////////// FBEA#79162
DEF_IMPORT('WEB_PRSSYS', 'VRIJEDAGEN', 'Vrije dagen', 'Non-working days', 1);
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#81771
ALTER TABLE fac_notificatie_job ADD fac_usrrap_key NUMBER(10)
CONSTRAINT fac_r_fac_usrrap_key1 REFERENCES fac_usrrap(fac_usrrap_key) ON DELETE CASCADE;
UPDATE fac_notificatie_job
SET fac_usrrap_key = TO_NUMBER(SUBSTR(REGEXP_SUBSTR(fac_notificatie_job_geturl, 'usrrap%5Fkey=(\d+)/?')
, 14)
)
WHERE fac_notificatie_job_geturl LIKE 'appl/fac/fac_report.asp?formail=1%';
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#82157
ALTER TABLE mld_meldbron ADD mld_meldbron_kiesbaar NUMBER(1) DEFAULT 0 NOT NULL;
DEF_MENUITEM(2, 'lcl_menu_mld_meldbron' , '', 'MLD', 'appl/mgt/mld_meldbron.asp', 0, 0, 'WEB_MLDMGT', 'W', '1', '');
MENU_INS_AFTER('lcl_menu_mld_meldbron', 'lcl_menu_mld_opdrkosten', 25);
DECLARE
CURSOR c(p_bron IN VARCHAR2) IS
SELECT TO_NUMBER(column_value) AS bron_key
FROM xmltable(p_bron);
v_bron VARCHAR2(100);
BEGIN
SELECT fac_setting_pvalue
INTO v_bron
FROM fac_setting
WHERE fac_setting_name = 'mld_meldbron_extern';
IF v_bron <> ''
THEN
FOR i IN c(v_bron)
LOOP
UPDATE mld_meldbron
SET mld_meldbron_kiesbaar = 2
WHERE mld_meldbron_key = i.bron_key;
END LOOP;
END IF;
END;
/
-- De setting mld_meldbron_extern kan nu verwijderd worden.
/////////////////////////////////////////////////////////////////////////////////////////// MARX#82116
ALTER TABLE fac_email_setting
ADD fac_email_setting_attachmaxkb NUMBER(10);
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#82351
-- De settings hier al toevoegen omdat er ook een update van de waarde wordt gedaan.
-- Nieuwe settings worden na de upgrade in de recreate toegevoegd.
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, 'udr_graph_bar_json', 'string', 'Default json options for report graphs bar (string!)'
FROM fac_functie
WHERE fac_functie_code = 'WEB_PRSSYS';
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, 'udr_graph_gauge_json', 'string', 'Default json options for report graphs gauge (string!)'
FROM fac_functie
WHERE fac_functie_code = 'WEB_PRSSYS';
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, 'udr_graph_pie_json', 'string', 'Default json options for report graphs pie (string!)'
FROM fac_functie
WHERE fac_functie_code = 'WEB_PRSSYS';
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, 'udr_graph_line_json', 'string', 'Default json options for report graphs line (string!)'
FROM fac_functie
WHERE fac_functie_code = 'WEB_PRSSYS';
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, 'udr_graph_block_json', 'string', 'Default json options for report graphs block (string!)'
FROM fac_functie
WHERE fac_functie_code = 'WEB_PRSSYS';
UPDATE fac_setting
SET fac_setting_pvalue = (SELECT fac_setting_pvalue FROM fac_setting WHERE fac_setting_name = 'udr_graph_default_json')
WHERE fac_setting_name IN ('udr_graph_bar_json','udr_graph_gauge_json','udr_graph_pie_json','udr_graph_line_json','udr_graph_block_json');
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#82642
DELETE FROM cad_thema WHERE cad_thema_view = 'cad_v_thema_vloerafwerking';
DROP VIEW cad_v_thema_vloerafwerking;
UPDATE fac_setting SET fac_setting_pvalue = 12 WHERE fac_setting_name = 'fg_infobordthema_key' AND fac_setting_pvalue IS NULL;
UPDATE fac_setting SET fac_setting_pvalue = 12 WHERE fac_setting_name = 'fg_infobordlabel_key' AND fac_setting_pvalue IS NULL;
UPDATE fac_setting SET fac_setting_pvalue = 12 WHERE fac_setting_name = 'fg_infobordreport_key' AND fac_setting_pvalue IS NULL;
UPDATE fac_usrrap SET fac_usrrap_groep = 'TRANSPORT' WHERE fac_usrrap_groep IS NULL and fac_usrrap_omschrijving LIKE 'TRANSPORT: %';
UPDATE fac_usrrap SET fac_usrrap_groep = 'STATS' WHERE fac_usrrap_groep IS NULL and fac_usrrap_omschrijving LIKE 'STATS: %';
UPDATE fac_usrrap SET fac_usrrap_groep = 'ADMIN' WHERE fac_usrrap_groep IS NULL and fac_usrrap_omschrijving LIKE 'BEHEER: %';
UPDATE fac_usrrap SET fac_usrrap_groep = 'BASIS' WHERE fac_usrrap_groep IS NULL and fac_usrrap_omschrijving LIKE 'UDR: %';
UPDATE fac_usrrap SET fac_usrrap_groep = 'LANGUAGE' WHERE fac_usrrap_groep IS NULL and fac_usrrap_omschrijving = 'Vertalingen';
UPDATE fac_usrrap SET fac_usrrap_omschrijving = REPLACE(fac_usrrap_omschrijving, 'TRANSPORT: ', '') WHERE fac_usrrap_groep IS NOT NULL and fac_usrrap_omschrijving LIKE 'TRANSPORT: %';
UPDATE fac_usrrap SET fac_usrrap_omschrijving = REPLACE(fac_usrrap_omschrijving, 'STATS: ', '') WHERE fac_usrrap_groep IS NOT NULL and fac_usrrap_omschrijving LIKE 'STATS: %';
UPDATE fac_usrrap SET fac_usrrap_omschrijving = REPLACE(fac_usrrap_omschrijving, 'BEHEER: ', '') WHERE fac_usrrap_groep IS NOT NULL and fac_usrrap_omschrijving LIKE 'BEHEER: %';
UPDATE fac_groep SET fac_groep_opmerking = 'Systeemautorisatiegroep voor applicatiebeheerders' WHERE fac_groep_upper = '_ADMIN' AND fac_groep_opmerking IS NULL;
UPDATE fac_groep SET fac_groep_opmerking = 'Systeemautorisatiegroep voor ALLE gebruikers' WHERE fac_groep_upper = '_DEFAULT' AND fac_groep_opmerking IS NULL;
UPDATE fac_groep SET fac_groep_opmerking = 'Systeemautorisatiegroep voor Facilitor-ondersteuning' WHERE fac_groep_upper = '_FACILITOR' AND fac_groep_opmerking IS NULL;
UPDATE fac_groep SET fac_groep_opmerking = 'Systeemautorisatiegroep voor de Facilitor-mailserver' WHERE fac_groep_upper = '_HMAIL' AND fac_groep_opmerking IS NULL;
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#83649
DROP SEQUENCE bes_s_bes_grootheid_key;
DROP TRIGGER bes_t_bes_grootheid_B_IU;
DROP TABLE bes_grootheid;
/////////////////////////////////////////////////////////////////////////////////////////// AAIT#83560
ALTER TABLE prs_bedrijf MODIFY prs_overeenkomst_nr VARCHAR2(30);
ALTER TABLE fac_imp_ext_bedrijf MODIFY prs_overeenkomst_nr VARCHAR2(30);
ALTER TABLE fac_imp_factuur MODIFY leveranciernr VARCHAR2(30);
/////////////////////////////////////////////////////////////////////////////////////////// BAMG#83299
ALTER TABLE cnt_disc_params ADD cnt_disc_params_opties NUMBER(1) DEFAULT 0 NOT NULL;
ALTER TABLE cnt_contract ADD cnt_contract_verleng_termijn NUMBER(10)
CONSTRAINT cnt_r_cnt_termijn_key5 REFERENCES cnt_termijn(cnt_termijn_key);
ALTER TABLE cnt_contract DROP CONSTRAINT cnt_r_cnt_contract_verlenging;
ALTER TABLE cnt_contract ADD CONSTRAINT cnt_r_cnt_contract_verlenging CHECK(cnt_contract_verlenging IN (0,1,2,3,4,5,6,7));
/////////////////////////////////////////////////////////////////////////////////////////// PZEE#75836
ALTER TABLE res_rsv_ruimte ADD res_rsv_ruimte_teverzenden NUMBER(1) DEFAULT 0 NOT NULL;
ALTER TABLE res_rsv_ruimte ADD res_rsv_ruimte_verzonden DATE;
ALTER TABLE prs_bedrijfadres DROP CONSTRAINT prs_c_prs_bedrijfadrestype;
ALTER TABLE prs_bedrijfadres ADD CONSTRAINT prs_c_prs_bedrijfadrestype CHECK (prs_bedrijfadres_type IN ('O','B','C','V','N','I','R'));
DEF_FAC_SRTNOT('RESSNT', 0, 'lcl_noti_RESSNT', 'res/res_reservering.asp?rsv_ruimte_key=', '0', 'reservering', 10);
DEF_FAC_SRTNOT('RESSNX', 0, 'lcl_noti_RESSNX', 'res/res_reservering.asp?rsv_ruimte_key=', '0', 'reservering', 10);
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#83889
DEF_RAPPORT('EXPORT', 'WEB_FACFAC', 0, 'fac_v_exp_onrgoed1', 'FIP: 1-Aanvullen districten t/m gebouwen', 'Inventarisatie Vastgoed, tabblad Locaties', 'FIP: 1-Real estate 1', 'For internal use only')
DEF_RAPPORT('EXPORT', 'WEB_FACFAC', 0, 'fac_v_exp_onrgoed2', 'FIP: 2-Aanvullen bouwlagen en ruimten', 'Inventarisatie Vastgoed, tabblad Ruimten', 'FIP: 2-Real estate 2', 'For internal use only')
DEF_RAPPORT('EXPORT', 'WEB_FACFAC', 0, 'fac_v_exp_organisatie', 'FIP: 3-Aanvullen organisatiestructuur', 'Inventarisatie Organisatiestructuur', 'FIP: 3-Organisation', 'For internal use only')
DEF_RAPPORT('EXPORT', 'WEB_FACFAC', 0, 'fac_v_exp_perslid', 'FIP: 4-Aanvullen personen', 'Inventarisatie Personen', 'FIP: 4-Persons', 'For internal use only')
DEF_RAPPORT('EXPORT', 'WEB_FACFAC', 0, 'fac_v_exp_mld', 'FIP: 5-Aanvullen servicedesk', 'Inventarisatie Meldingen', 'FIP: 5-Calls structure', 'For internal use only')
DEF_RAPPORT('EXPORT', 'WEB_FACFAC', 0, 'fac_v_exp_ins', 'FIP: 6-Aanvullen objecten', 'Inventarisatie Objecten', 'FIP: 6-Objects', 'For internal use only')
DEF_RAPPORT('EXPORT', 'WEB_FACFAC', 0, 'fac_v_exp_inspectie', 'FIP: 9-Aanvullen van inspectiedefinities', 'Inventarisatie Inspecties', 'FIP: 9-Inspections', 'For internal use only')
DEF_RAPPORT('EXPORT', 'WEB_FACFAC', 0, 'fac_v_exp_ext_bedrijf', 'FIP: Aanvullen externe bedrijven', 'Inventarisatie Externe bedrijven, tabblad Externe Bedrijven', 'FIP: Companies/Companies', 'For internal use only')
DEF_RAPPORT('EXPORT', 'WEB_FACFAC', 0, 'fac_v_exp_bedrijfadres', 'FIP: Aanvullen technische bedrijfadressen', 'Inventarisatie Externe bedrijven, tabblad Technische adressen', 'FIP: Companies/Tech adresses', 'For internal use only')
DEF_RAPPORT('EXPORT', 'WEB_FACFAC', 0, 'fac_v_exp_contactpersoon','FIP: Aanvullen contactpersonen', 'Inventarisatie Externe bedrijven, tabblad Contactpersonen', 'FIP: Companies/Contact persons', 'For internal use only')
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#83782
--Mag niet zo maar. Via de interface @prod de rapporten gewoon verwijderd.
--UPDATE fac_usrrap SET fac_functie_key = NULL
-- WHERE fac_functie_key IN (SELECT fac_functie_key FROM fac_functie WHERE fac_functie_code IN ('WEB_OUTLET','WEB_PRSCNG'));
-- Ooit misgegaan bij BLOS bij aanmaken DB38
UPDATE fac_menuitems
SET fac_functie_key = (SELECT fac_functie_key
FROM fac_functie
WHERE UPPER (fac_functie_code) = 'WEB_EXTFIN')
WHERE fac_menuitems_label = 'lcl_menu_fin_fe';
// WEB_FINUSE is vervangen door WEBEXTFIN voor menuitem DEF_MENUITEM(1, 'lcl_menu_fin_fe_overz' , '', 'FIN', 'appl/fin/fin_search.asp', 0, 0, 'WEB_EXTFIN', 'R', '1', ''); /* fe = leverancier */
UPDATE fac_menuitems
SET fac_functie_key = (SELECT fac_functie_key
FROM fac_functie
WHERE UPPER (fac_functie_code) = 'WEB_EXTFIN')
WHERE fac_menuitems_label = 'lcl_menu_fin_fe_overz';
DELETE FROM fac_functie WHERE fac_functie_code IN ('WEB_OUTLET','WEB_PRSCNG','WEB_FINUSE');
ALTER PACKAGE fac COMPILE; // anders (nog) invalid en lukt het volgende niet niet
ALTER PACKAGE fac COMPILE BODY;
/////////////////////////////////////////////////////////////////////////////////////////// BLOS#82278
BEGIN
IF (fac.getSetting ('mld_opdr_discipline_mode') = 1)
THEN
DECLARE
CURSOR c_upd IS
SELECT o.mld_opdr_key, s.mld_ins_discipline_key
FROM mld_opdr o, mld_melding m, mld_stdmelding s
WHERE o.mld_melding_key = m.mld_melding_key
AND m.mld_stdmelding_key = s.mld_stdmelding_key
AND m.mld_melding_status IN (4, 5, 6, 7)
AND o.mld_opdr_discipline_key <> s.mld_ins_discipline_key;
BEGIN
FOR rec IN c_upd
LOOP
UPDATE mld_opdr o
SET o.mld_opdr_discipline_key = rec.mld_ins_discipline_key
WHERE o.mld_opdr_key = rec.mld_opdr_key;
END LOOP;
END;
END IF;
END;
/
/////////////////////////////////////////////////////////////////////////////////////////// MARX#82611
ALTER TABLE fac_api ADD fac_api_errorhandling NUMBER (10) DEFAULT 1 NOT NULL; // 0=200 on error, 1=400 on error
/////////////////////////////////////////////////////////////////////////////////////////// WDKA#80394
ALTER TABLE alg_kenmerk DROP CONSTRAINT alg_c_alg_kenmerk_type1;
ALTER TABLE bes_srtkenmerk DROP CONSTRAINT bes_c_bes_srtkenmerk_kenmtype;
ALTER TABLE bez_kenmerk DROP CONSTRAINT bez_c_bez_kenmerk_type2;
ALTER TABLE cnt_srtkenmerk DROP CONSTRAINT cnt_c_cnt_srtkenmerk_kenmtype;
-- ALTER TABLE fac_kenmwaarden DROP CONSTRAINT fac_c_fac_kenmwaarden_kenmtype; Reeds met FCLT#82594 verwijderd (hierboven)
ALTER TABLE faq_kenmerk DROP CONSTRAINT faq_c_faq_kenmerk_type1;
ALTER TABLE fin_kenmerk DROP CONSTRAINT fin_c_fin_kenmerk_type1;
ALTER TABLE ins_srtkenmerk DROP CONSTRAINT ins_c_ins_srtkenmerk_kenmtype;
-- ALTER TABLE mld_srtkenmerk DROP CONSTRAINT mld_c_mld_srtkenmerk_kenmtype; Reeds met FCLT#82594 verwijderd (hierboven)
ALTER TABLE prs_kenmerk DROP CONSTRAINT prs_c_prs_kenmerk_type2;
ALTER TABLE res_srtkenmerk DROP CONSTRAINT res_c_res_srtkenmerk_kenmtype;
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#83472
ALTER PACKAGE fac COMPILE; // anders (nog) invalid en lukt het volgende niet niet
ALTER PACKAGE fac COMPILE BODY;
DELETE FROM fac_tracking ft
WHERE fac_tracking_oms IS NULL
AND ft.fac_srtnotificatie_key IN
(SELECT fs.fac_srtnotificatie_key
FROM fac_srtnotificatie fs
WHERE fs.fac_srtnotificatie_key = ft.fac_srtnotificatie_key
AND fac_srtnotificatie_oms IS NULL);
/////////////////////////////////////////////////////////////////////////////////////////// MNNL#73376
ALTER TABLE fac_faq ADD fac_faq_module VARCHAR2(4) DEFAULT 'MLD' NOT NULL;
UPDATE fac_faq
SET fac_faq_module = 'FAQ'
WHERE fac_faq_key NOT IN (SELECT fac_faq_key FROM mld_stdmeldingfaq
UNION
SELECT fac_faq_key FROM mld_typeopdrfaq
UNION
SELECT fac_faq_key FROM alg_algfaq
);
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#83387
INSERT INTO fac_setting (fac_setting_module,
fac_setting_name,
fac_setting_description,
fac_setting_default,
fac_setting_pvalue,
fac_setting_flags,
fac_setting_type,
fac_functie_key)
SELECT 'FAC',
'mld_instemmer_self',
'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}',
fac_setting_default,
fac_setting_pvalue,
1,
fac_setting_type,
(SELECT fac_functie_key
FROM fac_functie
WHERE fac_functie_code = 'WEB_PRSSYS')
FROM fac_setting
WHERE fac_setting_name = 'fac_reserved_number1'
AND NOT EXISTS
(SELECT 1
FROM fac_setting
WHERE fac_setting_name = 'mld_instemmer_self');
UPDATE fac_setting
SET fac_setting_pvalue = NULL
WHERE fac_setting_name = 'fac_reserved_number1';
/////////////////////////////////////////////////////////////////////////////////////////// TWYN#83949
ALTER TABLE prs_kostensoortgrp ADD prs_kostensoortgrp_verwijder DATE;
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#84105
DROP TRIGGER fac_t_fac_notificatie_B_IU;
DROP TRIGGER fac_t_fac_notificatie_A_U;
CREATE INDEX fac_i_notificatie3 ON fac_notificatie(fac_notificatie_refkey);
ALTER PACKAGE fac COMPILE; // anders (nog) invalid en lukt het volgende niet niet
ALTER PACKAGE fac COMPILE BODY;
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#00000
REGISTERONCE('$Id$')
#include "epilogue.inc"

310
_UP/DB48to49.src Normal file
View File

@@ -0,0 +1,310 @@
/*
* Update script van FACILITOR schema
* $Revision$
* $Id$
*/
#include "prologue.inc"
COMMIT;
SET DEFINE OFF
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#83751
ALTER TABLE fac_import_app DROP COLUMN fac_import_app_action;
/////////////////////////////////////////////////////////////////////////////////////////// EIND#82452
ALTER TABLE mld_melding DROP COLUMN mld_melding_omschrijving_old;
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#83940
ALTER TABLE fac_api DROP COLUMN fac_import_app_key;
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#82437
DEF_MENUITEM(1, 'lcl_menu_mld_concepts', '', 'MLD', 'appl/mld/mld_search.asp?concept=1&urole=fo', 0, 0, 'WEB_MLDMSU', 'R', '0', '');
/////////////////////////////////////////////////////////////////////////////////////////// YAXX#83974
ALTER TABLE fac_imp_bedrijfadres ADD prs_bedrijfadres_replyaddress VARCHAR2(512);
/////////////////////////////////////////////////////////////////////////////////////////// PCHX#80376
ALTER TABLE prs_collega ADD prs_collega_vervaldatum DATE;
/////////////////////////////////////////////////////////////////////////////////////////// FMHN#84318
ALTER TABLE mld_vrije_dagen
ADD mld_vrije_dagen_id VARCHAR2(50)
DEFAULT ('Default') NOT NULL;
CREATE INDEX mld_i_mld_vrije_dagen_id ON mld_vrije_dagen(mld_vrije_dagen_id);
BEGIN
adm.tryalter('TABLE mld_vrije_dagen DROP CONSTRAINT mld_u_mld_vrije_dagen_datum');
adm.trydrop('INDEX mld_u_mld_vrije_dagen_datum');
END;
/
ALTER TABLE mld_vrije_dagen ADD CONSTRAINT mld_u_mld_vrije_dagen_datum UNIQUE(mld_vrije_dagen_datum, mld_vrije_dagen_id);
ALTER TABLE alg_gebouw
ADD mld_vrije_dagen_id VARCHAR2(50);
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#84550
UPDATE fac_setting
SET fac_setting_pvalue = NULL
WHERE fac_setting_name = 'sys_ip_lockmode'
AND fac_setting_pvalue IS NOT NULL;
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#84626
ALTER TABLE prs_bedrijfadres
MODIFY prs_bedrijfadres_username VARCHAR2(128);
ALTER TABLE fac_imp_bedrijfadres
MODIFY prs_bedrijfadres_username VARCHAR2(128);
/////////////////////////////////////////////////////////////////////////////////////////// HSLE#81369
DEF_FAC_FUNCTIE3('WEB_MLDREO', 'MLD', 13, 1, 1);
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#81526
BEGIN
adm.trydrop ('TABLE tmp_imp_mjb');
END;
/
CREATE TABLE fac_imp_taak_mjob
( ins_deel_key NUMBER(10)
, ctr_discipline_key NUMBER(10)
, ismjob NUMBER(1)
, ins_srtcontrole_omschrijving VARCHAR2(60)
, ins_srtcontrole_key NUMBER(10)
, ins_srtcontrole_opmerking VARCHAR2(320)
, ins_srtcontrole_groep VARCHAR2(60)
, ins_srtcontrole_prioriteit NUMBER(3)
, fin_btwtabelwaarde_key NUMBER(10)
, prs_kostenplaats_key NUMBER(10)
, ins_srtcontroledl_xcp_aantal NUMBER(8,2)
, ins_srtcontroledl_xcp_aanteh VARCHAR2(30)
, ins_srtcontroledl_xcp_perc NUMBER(3)
, ins_srtcontroledl_xcp_opmerk VARCHAR2(320)
, ins_srtcontroledl_xcp_eenheid NUMBER(3)
, ins_srtcontroledl_xcp_periode NUMBER(6,2)
, ins_srtcontroledl_xcp_start DATE
, ins_srtcontroledl_xcp_eind DATE
, ins_srtcontroledl_xcp_materia NUMBER(9,2)
, prs_dienst_omschrijving VARCHAR2(60)
, ins_srtcontroledl_xcp_key NUMBER(10)
);
DEF_IMPORT('WEB_INSMGT', 'TAAK_MJOB', 'Import MJOB', 'Import MJOB', 1);
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#84691
CREATE_TABLE(mld_vervolg_beperking, 0)
(
mld_vervolg_beperking_key
NUMBER(10)
PRIMARY KEY,
ins_srtdiscipline_key_1
NUMBER(10) NOT NULL
CONSTRAINT mld_r_ins_srtdiscipline_key1 REFERENCES ins_srtdiscipline(ins_srtdiscipline_key) ON DELETE CASCADE,
ins_srtdiscipline_key_2
NUMBER(10) NOT NULL
CONSTRAINT mld_r_ins_srtdiscipline_key3 REFERENCES ins_srtdiscipline(ins_srtdiscipline_key) ON DELETE CASCADE,
mld_vervolg_beperking_aanmaak
DATE DEFAULT SYSDATE NOT NULL
);
CREATE SEQUENCE mld_s_mld_vervolg_beperking_key MINVALUE 1;
/////////////////////////////////////////////////////////////////////////////////////////// PNBR#80680
ALTER TABLE fac_tracking ADD fac_tracking_subject_refkey NUMBER (10);
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#83953
ALTER TABLE mld_melding
MODIFY mld_melding_onderwerp VARCHAR2(200)
MODIFY mld_melding_onderwerp_ai VARCHAR2(200);
/////////////////////////////////////////////////////////////////////////////////////////// MARX#80460
ALTER TABLE prs_bedrijfadres DROP CONSTRAINT prs_c_prs_bedrijfadrestype;
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#84940
DROP TRIGGER fin_t_fin_factuur_B_IU;
DROP TRIGGER fin_t_fin_factuurregel_B_IU;
DROP TRIGGER bez_t_bez_bezoekers_B_IU;
/////////////////////////////////////////////////////////////////////////////////////////// VNOG#84884
ALTER PACKAGE fac COMPILE; // anders (nog) invalid en lukt het volgende niet niet
ALTER PACKAGE fac COMPILE BODY;
// TIjdelijk de flags op 0 zetten anders krijgen we foutmelding "PRS_M183".
UPDATE prs_perslid
SET prs_perslid_flags = 0
WHERE prs_perslid_oslogin = '_SENSOR';
UPDATE prs_perslid
SET prs_perslid_naam = 'Systeem',
prs_perslid_oslogin = '_SYSTEEM',
prs_perslid_opmerking = 'System account for system-triggered-events.'||CHR(13)||'For Facilitor internal use'
WHERE prs_perslid_oslogin = '_SENSOR';
UPDATE prs_perslid
SET prs_perslid_flags = 36
WHERE prs_perslid_oslogin = '_SYSTEEM';
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#84334
UPDATE fac_menuitems
SET fac_functie_key =
(SELECT fac_functie_key
FROM fac_functie
WHERE fac_functie_code = 'WEB_MLDMGT')
WHERE fac_menuitems_label = 'lcl_menu_mld_vakgroeptypes'
AND fac_functie_key = (SELECT fac_functie_key
FROM fac_functie
WHERE fac_functie_code = 'WEB_PRSSYS');
UPDATE fac_menuitems
SET fac_functie_key =
(SELECT fac_functie_key
FROM fac_functie
WHERE fac_functie_code = 'WEB_MLDMGT')
WHERE fac_menuitems_label = 'lcl_menu_mld_opdrachttypes'
AND fac_functie_key = (SELECT fac_functie_key
FROM fac_functie
WHERE fac_functie_code = 'WEB_PRSSYS');
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#85185
UPDATE fac_setting
SET fac_setting_pvalue =
REGEXP_REPLACE (REGEXP_REPLACE (fac_setting_pvalue,
',\s*fclt-skolar-sans',
'',
1,
0),
'fclt-skolar-sans\s*,',
'',
1,
0)
WHERE fac_setting_name = 'csstemplate'
AND ( REGEXP_LIKE (fac_setting_pvalue, ',\s*fclt-skolar-sans')
OR REGEXP_LIKE (fac_setting_pvalue, 'fclt-skolar-sans\s*,'));
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#84812
UPDATE prs_afdeling
SET prs_afdeling_omschrijving = 'Onbekend'
WHERE prs_afdeling_omschrijving IS NULL
AND prs_afdeling_naam = 'Onbekend';
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#85198
// Voor accept omgevingen herstel DB48
UPDATE fac_usrrap
SET fac_usrrap_groep = 'EXPORT'
WHERE fac_usrrap_groep = 'ROUNDTRIP';
/////////////////////////////////////////////////////////////////////////////////////////// BAUS#80301
ALTER TABLE ins_kenmerk DROP CONSTRAINT ins_c_ins_kenmerk_niveau2;
ALTER TABLE ins_kenmerk ADD CONSTRAINT ins_c_ins_kenmerk_niveau2 CHECK
(ins_kenmerk_niveau IS NOT NULL AND (ins_kenmerk_niveau IN ('D', 'G', 'S', 'T', 'C', 'E'))); // T=Alle taken, C=srtcontrole, E=ctr-discipline
ALTER TABLE ins_kenmerk DROP CONSTRAINT ins_r_ins_srtinstallatie_key1;
ALTER TABLE ins_kenmerk ADD CONSTRAINT ins_r_ins_srtinstallatie_key1 CHECK
(ins_srtinstallatie_key IS NOT NULL OR ins_kenmerk_niveau IN ('D', 'T'));
DEF_MENUITEM(2, 'lcl_menu_ins_taakkenmerken' , '', 'CTR', 'appl/mgt/ins_kenmerk.asp?niveau=T', 0, 0, 'WEB_CTRMGT', 'W', '1', '');
-- Aanmaken van het default menuitem "Taakkenmerken":
INSERT INTO fac_menu(fac_menuitems_key,
fac_menu_volgnr,
fac_menu_altlabel,
fac_menu_alturl,
fac_menu_altgroep,
fac_menu_image,
fac_menu_level,
fac_menu_info)
SELECT fac_menuitems_key,
(SELECT fm.fac_menu_volgnr
FROM fac_menu fm
WHERE fm.fac_menu_altlabel = 'lcl_menu_ins_kenmerken')
+ 1,
fac_menuitems_label,
fac_menuitems_url,
fac_menuitems_groep,
fac_menuitems_image,
CASE
WHEN fac_menuitems_groep IN (0, 1, 2) THEN 2
WHEN fac_menuitems_groep IN (3, 7) THEN 1
ELSE 0
END
fac_menu_level,
fac_menuitems_oms
FROM fac_menuitems i
WHERE fac_menuitems_label = 'lcl_menu_ins_taakkenmerken'
AND i.fac_menuitems_key NOT IN
(SELECT m.fac_menuitems_key
FROM fac_menu m
WHERE m.fac_menuitems_key IS NOT NULL);
/////////////////////////////////////////////////////////////////////////////////////////// YAXX#84507
UPDATE fac_setting
SET fac_setting_pvalue =
CASE WHEN fac_setting_pvalue = 'true' THEN '1' ELSE '0' END
WHERE fac_setting_name = 'mld_opdr_pref_contractors_only'
AND fac_setting_pvalue IS NOT NULL;
/////////////////////////////////////////////////////////////////////////////////////////// FBEA#83210
ALTER TABLE res_activiteit
ADD (res_activiteit_color VARCHAR2 (60 CHAR));
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#83767
ALTER TABLE fac_imp_mld MODIFY ( mld_stdmelding_uitvoertijd NUMBER(12,5)
, mld_stdmelding_uitvoertijd1 NUMBER(12,5)
, mld_stdmelding_uitvoertijd2 NUMBER(12,5)
, mld_stdmelding_uitvoertijd4 NUMBER(12,5)
);
ALTER TABLE fac_imp_mld ADD ( mld_stdmelding_accepttijd NUMBER(12,5)
, mld_stdmelding_accepttijd1 NUMBER(12,5)
, mld_stdmelding_accepttijd2 NUMBER(12,5)
, mld_stdmelding_accepttijd4 NUMBER(12,5)
);
ALTER TABLE fac_imp_mld DROP COLUMN mld_stdmelding_urgentie;
/////////////////////////////////////////////////////////////////////////////////////////// CSUN#85306
CREATE SEQUENCE prs_s_prs_prsfaq_key MINVALUE 1;
CREATE_TABLE(prs_prsfaq, 0)
(
prs_prsfaq_key
NUMBER(10)
CONSTRAINT prs_k_prsfaq_key PRIMARY KEY,
prs_bedrijf_key
NUMBER(10)
NOT NULL
CONSTRAINT prs_r_prs_bedrijf_key9 REFERENCES prs_bedrijf(prs_bedrijf_key) ON DELETE CASCADE,
prs_afdeling_key /* optionele verbijzondering binnen dit bedrijf */
NUMBER(10)
CONSTRAINT prs_r_prs_afdeling_key2 REFERENCES prs_afdeling(prs_afdeling_key) ON DELETE CASCADE,
fac_faq_key
NUMBER(10)
NOT NULL
CONSTRAINT prs_r_fac_faq_key REFERENCES fac_faq(fac_faq_key) ON DELETE CASCADE
);
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#85565
DEF_MENUITEM(2, 'lcl_menu_unusedstats', '', 'FAC', 'appl/fac/fac_unused_stats.asp', 0, 0, 'WEB_PRSSYS', 'W', '1', '');
MENU_INS_AFTER('lcl_menu_unusedstats', 'lcl_menu_about', -2);
/////////////////////////////////////////////////////////////////////////////////////////// ALKM#85717
ALTER TABLE prs_srtperslid MODIFY ( prs_srtperslid_omschrijving VARCHAR2(100)
, prs_srtperslid_upper VARCHAR2(100));
ALTER TABLE fac_imp_perslid MODIFY (prs_srtperslid_omschrijving VARCHAR2(100));
/////////////////////////////////////////////////////////////////////////////////////////// AAXX#81521
ALTER TABLE res_rsv_ruimte
ADD res_rsv_ruimte_visibility NUMBER (4) DEFAULT 1 NOT NULL;
ALTER TABLE exc_import
ADD visibility NUMBER (4) DEFAULT 1;
ALTER TABLE exc_import
ADD CONSTRAINT exc_c_visibility CHECK
(modifier = 'D' OR visibility IS NOT NULL);
/////////////////////////////////////////////////////////////////////////////////////////// SCHG#85790
ALTER TABLE fac_imp_cnt
MODIFY (cnt_soort VARCHAR2(60));
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#00000
REGISTERONCE('$Id$')
#define POST_RECREATE "DB48to49_post.src"
#include "epilogue.inc"

27
_UP/DB48to49_post.src Normal file
View File

@@ -0,0 +1,27 @@
/* DB48TO49_POST.SRC
*
* Update script van FACILITOR schema
* Uitgevoerd *na* de recreate zodat puo_app2secret de goede waarde heeft
*
* LET OP: De makefile detecteert timestamp van dit bestand niet
*
* $Revision$
* $Id$
*/
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#85545
UPDATE prs_bedrijfadres
SET prs_bedrijfadres_url = fac.getsetting('puo_app2pushurl'),
prs_bedrijfadres_privkey = fac.getsetting('puo_app2secret'),
prs_bedrijfadres_oa_scope = 'https://www.googleapis.com/auth/firebase.messaging',
prs_bedrijfadres_authmethod = 5, -- GoogleAuth
prs_bedrijfadres_password = NULL -- niet meer nodig
WHERE prs_bedrijf_key IN (SELECT prs_bedrijf_key
FROM prs_bedrijf
WHERE prs_bedrijf_naam = 'Aareon Facilitor Mobile app')
AND prs_bedrijfadres_type = 'N';
REGISTERONCE('$Id$')
COMMIT;

98
_UP/DB49to49a.sql Normal file
View File

@@ -0,0 +1,98 @@
--
-- $Id$
--
-- Aanpassingen om DB49 (accp) naar de DB49a te brengen
-- Merk op dat de recreate er nog bij komt die de DB-version bijwerkt
--
-- MOET OOK ZIJN/WORDEN OPGENOMEN IN DB48to49.src !!!
DEFINE thisfile = 'DB49to49a.sql'
DEFINE dbuser = '*'
SET ECHO ON
SET DEFINE ON
COLUMN fcltlogfile NEW_VALUE fcltlogfile NOPRINT;
COLUMN fcltcusterr NEW_VALUE fcltcusterr NOPRINT;
WHENEVER SQLERROR CONTINUE;
SELECT adm.getscriptspoolfile('&thisfile') AS fcltlogfile FROM DUAL;
SPOOL &fcltlogfile
WHENEVER SQLERROR EXIT;
SELECT adm.checkscriptcust('&dbuser') AS fcltcusterr FROM DUAL;
WHENEVER SQLERROR CONTINUE;
PROMPT &fcltcusterr
SET DEFINE OFF
------ payload begin ------
-- /////////////////////////////////////////////////////////////////////////////////////////// AAXX#81521
ALTER TABLE res_rsv_ruimte
ADD res_rsv_ruimte_visibility NUMBER (4) DEFAULT 1 NOT NULL;
ALTER TABLE exc_import
ADD visibility NUMBER (4) DEFAULT 1;
ALTER TABLE exc_import
ADD CONSTRAINT exc_c_visibility CHECK
(modifier = 'D' OR visibility IS NOT NULL);
-- /////////////////////////////////////////////////////////////////////////////////////////// SCHG#85790
ALTER TABLE fac_imp_cnt
MODIFY (cnt_soort VARCHAR2(60));
-- /////////////////////////////////////////////////////////////////////////////////////////// FCLT#81526
UPDATE fac_import_app
SET fac_import_app_csv = 1
WHERE fac_import_app_code = 'TAAK_MJOB';
/////////////////////////////////////////////////////////////////////////////////////////// BAUS#80301
-- Autorisatie en module van het menuitem "Taakkenmerken" aanpassen van "WEB_INSMG" en "INS" naar "WEB_CTTMGT" en "CTR".
UPDATE fac_menuitems
SET fac_menuitems_module = 'CTR',
fac_functie_key = (SELECT fac_functie_key
FROM fac_functie
WHERE fac_functie_code = 'WEB_CTRMGT')
WHERE fac_menuitems_label = 'lcl_menu_ins_taakkenmerken';
-- Aanmaken van het default menuitem "Taakkenmerken":
INSERT INTO fac_menu(fac_menuitems_key,
fac_menu_volgnr,
fac_menu_altlabel,
fac_menu_alturl,
fac_menu_altgroep,
fac_menu_image,
fac_menu_level,
fac_menu_info)
SELECT fac_menuitems_key,
(SELECT fm.fac_menu_volgnr
FROM fac_menu fm
WHERE fm.fac_menu_altlabel = 'lcl_menu_ins_kenmerken')
+ 1,
fac_menuitems_label,
fac_menuitems_url,
fac_menuitems_groep,
fac_menuitems_image,
CASE
WHEN fac_menuitems_groep IN (0, 1, 2) THEN 2
WHEN fac_menuitems_groep IN (3, 7) THEN 1
ELSE 0
END
fac_menu_level,
fac_menuitems_oms
FROM fac_menuitems i
WHERE fac_menuitems_label = 'lcl_menu_ins_taakkenmerken'
AND i.fac_menuitems_key NOT IN
(SELECT m.fac_menuitems_key
FROM fac_menu m
WHERE m.fac_menuitems_key IS NOT NULL);
------ payload end ------
SET DEFINE OFF
BEGIN adm.systrackscriptId ('$Id$', 1); END;
/
COMMIT;
SET ECHO OFF
SPOOL OFF
SET DEFINE ON
PROMPT Logfile of this upgrade is: &fcltlogfile

365
_UP/DB49to50.src Normal file
View File

@@ -0,0 +1,365 @@
/*
* Update script van FACILITOR schema
* $Revision$
* $Id$
*/
#include "prologue.inc"
COMMIT;
SET DEFINE OFF
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#85890
RENAME fac_v_orderqueue to fac_v_orderqueue_OLD;
// Tijdelijke dummy die niets oplevert
CREATE OR REPLACE VIEW fac_v_orderqueue
AS
SELECT -1 prs_bedrijf_key,
-1 alg_locatie_key,
'dontcare' xmlnode,
-1 key,
-1 reference,
'' sender,
SYSDATE teverzenden_datum
FROM DUAL
WHERE 0 = 1;
CREATE TABLE prs_bedrijfadres_srtnoti
(
prs_bedrijfadres_srtnoti_key
NUMBER(10)
PRIMARY KEY,
prs_bedrijfadres_key
NUMBER(10)
CONSTRAINT prs_r_bedrijfadres_key2
REFERENCES prs_bedrijfadres(prs_bedrijfadres_key) ON DELETE CASCADE,
fac_srtnotificatie_key
NUMBER(10)
REFERENCES fac_srtnotificatie(fac_srtnotificatie_key) ON DELETE CASCADE,
prs_bedrijfadres_method -- optionele overrule method (anders GET/POST afhankelijk van of er een body is)
VARCHAR2(16),
prs_bedrijfadres_url -- optionele overrule endpoint
VARCHAR2(512),
prs_bedrijfadres_srtnoti_aanmaak
DATE
DEFAULT SYSDATE NOT NULL
);
CREATE SEQUENCE prs_s_prs_bedrijfadres_srtnoti_key MINVALUE 1;
ALTER TABLE fac_notificatie
ADD fac_notificatie_naam VARCHAR(80); // puur informatief voor logging/support, bijvoorbeeld opdrachtnummer
ALTER TABLE fac_notificatie
ADD fac_notificatie_failmessage VARCHAR(4000); // de laatste
ALTER TABLE fac_notificatie
ADD fac_notificatie_faildatum DATE; // de laatste
ALTER TABLE fac_notificatie
ADD fac_notificatie_realuser VARCHAR2(64);
ALTER TABLE prs_bedrijfadres
ADD ins_discipline_key NUMBER(10)
REFERENCES ins_tab_discipline(ins_discipline_key) ON DELETE CASCADE; // Scherpere bedrijfadres bepaling, vooral reserveringen?
ALTER TABLE prs_bedrijfadres
ADD prs_bedrijfadres_omschrijving VARCHAR2(100);
ALTER TABLE prs_bedrijfadres
MODIFY prs_bedrijfadres_type VARCHAR2(3); // Ook ruimte voor BOG voor BestelOpdrachten Generiek
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;
ALTER TABLE fac_version
ADD fac_version_tasker_date DATE;
CREATE_TABLE(fac_cust, 0)
(
fac_cust_key NUMBER(10)
CONSTRAINT fac_k_fac_cust_key PRIMARY KEY,
fac_cust_customerid VARCHAR(4) NOT NULL,
fac_cust_schema VARCHAR(30) DEFAULT '00' NOT NULL, // kopie fac_version_schema van de gebruiker
fac_cust_enabled NUMBER(1) DEFAULT 1 NOT NULL, // future use, disable during upgrades?
fac_cust_aanmaak DATE DEFAULT SYSDATE NOT NULL,
CONSTRAINT fac_u_fac_cust UNIQUE(fac_cust_customerid)
);
CREATE_TABLE(fac_task, 0)
(
fac_task_key NUMBER(10)
CONSTRAINT fac_k_fac_task_key PRIMARY KEY,
fac_cust_key NUMBER(10) REFERENCES fac_cust(fac_cust_key) ON DELETE CASCADE,
fac_task_code VARCHAR(32) NOT NULL,
fac_task_nextrun DATE,
fac_task_lastrun DATE,
fac_task_flags NUMBER(3) DEFAULT 1 NOT NULL, -- +1=enabled
fac_task_aanmaak DATE DEFAULT SYSDATE NOT NULL,
CONSTRAINT fac_u_fac_task UNIQUE(fac_cust_key, fac_task_code)
);
CREATE SEQUENCE fac_s_fac_cust_key MINVALUE 1;
CREATE SEQUENCE fac_s_fac_task_key MINVALUE 1;
DEF_FAC_SRTNOT('RESSND', 1, 'lcl_noti_RESSND', 'res/res_reservering.asp?rsv_ruimte_key=', '0', 'reservering', 60);
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
/////////////////////////////////////////////////////////////////////////////////////////// YAXX#84687
ALTER TABLE prs_bedrijf
ADD prs_bedrijf_mld_limiet NUMBER(8,2);
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#85970
CREATE_TABLE(mld_melding_tag,0) /* generiekere opzet voor mld_releases of mld_releasekalender */
(
mld_melding_tag_key
NUMBER(10)
CONSTRAINT mld_k_melding_tag_key PRIMARY KEY,
ins_srtdiscipline_key
NUMBER(10) NOT NULL
CONSTRAINT mld_r_ins_srtdiscipline_key4 REFERENCES ins_srtdiscipline(ins_srtdiscipline_key) ON DELETE CASCADE,
mld_melding_tag_naam
VARCHAR2(30)
NOT NULL,
mld_melding_tag_oms /* korte omschrijving */
VARCHAR2(1000),
mld_stdmeldinggroep_key /* optional reference to mld_stdmeldinggroep */
NUMBER(10)
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_tot /* de releasedatum */
DATE NOT NULL,
prs_perslid_key /* aanmaker of verantwoordelijke */
NUMBER(10)
CONSTRAINT mld_r_prs_perslid_key15 REFERENCES prs_perslid(prs_perslid_key),
mld_melding_tag_aanmaak
DATE DEFAULT SYSDATE NOT NULL,
mld_melding_tag_verwijder
DATE
);
CREATE UNIQUE INDEX mld_i_mld_melding_tag1 ON mld_melding_tag(ins_srtdiscipline_key, UPPER(mld_melding_tag_naam), mld_melding_tag_verwijder);
CREATE SEQUENCE mld_s_mld_melding_tag_key MINVALUE 1;
ALTER TABLE mld_stdmelding ADD
mld_stdmelding_taggable
NUMBER(1)
DEFAULT 0
NOT NULL;
ALTER TABLE mld_melding ADD
mld_melding_tag_key
NUMBER(10)
CONSTRAINT mld_r_mld_melding_tag REFERENCES mld_melding_tag(mld_melding_tag_key);
DEF_FAC_FUNCTIE3('WEB_MLDTAG', 'MLD', 3, 1, 1);
DEF_MENUITEM(1, 'lcl_menu_mld_melding_tag' , '', 'MLD', 'appl/mgt/mld_melding_tag.asp', 0, 0, 'WEB_MLDTAG', 'R', '1', '');
MENU_INS_AFTER('lcl_menu_mld_melding_tag', 'lcl_menu_mld_mi', 1);
/////////////////////////////////////////////////////////////////////////////////////////// VNOG#83559
ALTER TABLE fac_imp_ins
ADD (
ins_srtdeel_omschr_parent VARCHAR2 (100),
ins_deel_omschr_parent VARCHAR2 (60)
);
/////////////////////////////////////////////////////////////////////////////////////////// AAXX#83884
UPDATE mld_typeopdr_srtdiscipline mts
SET mts.ins_srtdiscipline_key =
(SELECT md.ins_srtdiscipline_key
FROM mld_discipline md
WHERE md.ins_discipline_key = mts.ins_discipline_key)
WHERE EXISTS
(SELECT 1
FROM mld_discipline md
WHERE md.ins_discipline_key = mts.ins_discipline_key);
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#83805
DELETE FROM fac_menu
WHERE fac_menuitems_key IN (SELECT fac_menuitems_key
FROM fac_menuitems
WHERE fac_menuitems_label = 'lcl_menu_fac_aut_groep'
);
DELETE FROM fac_menuitems
WHERE fac_menuitems_label = 'lcl_menu_fac_aut_groep';
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#86343
// Sinds HSLE#36898 (2016.3) al niet meer in gebruik.
ALTER PACKAGE fac COMPILE; // anders (nog) invalid en lukt het volgende niet niet
ALTER PACKAGE fac COMPILE BODY;
UPDATE prs_perslid
SET prs_perslid_options = NULL
WHERE prs_perslid_options IS NOT NULL;
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#00000
DEF_FAC_MESSAGE ('INS_M205', 'Parent object bestaat niet.','Parent object does noet exist.');
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#85815
ALTER TABLE mld_typeopdr
ADD mld_typeopdr_code VARCHAR2(60)
CONSTRAINT mld_u_mld_typeopdr_code UNIQUE;
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#86003
ALTER TABLE fac_imp_cnt
ADD ( mantel_nr_versie VARCHAR2(10)
, soortcontact VARCHAR2(1)
, kostensoort VARCHAR2(60)
, scope VARCHAR2(1)
);
ALTER TABLE fac_imp_cnt
MODIFY ( bedrijf_naam VARCHAR2(200)
, contact_naam VARCHAR2(200)
);
/////////////////////////////////////////////////////////////////////////////////////////// DHLD#86034
ALTER TABLE prs_perslid
MODIFY ( prs_perslid_oslogin VARCHAR2(256)
, prs_perslid_oslogin2 VARCHAR2(256)
);
ALTER TABLE fac_imp_perslid
MODIFY prs_perslid_oslogin VARCHAR2(256);
/////////////////////////////////////////////////////////////////////////////////////////// YASK#86818
DEF_FAC_MESSAGE ('PRS_C_PRS_KENMERK_MIN_A' , 'Nieuwe min.waarde van dit kenmerksoort voldoet niet aan alle afdelingen.' ,'New min.value of this property-type does not satisfy all departments.');
DEF_FAC_MESSAGE ('PRS_C_PRS_KENMERK_MIN_B' , 'Nieuwe min.waarde van dit kenmerksoort voldoet niet aan alle bedrijven.' ,'New min.value of this property-type does not satisfy all companies.');
DEF_FAC_MESSAGE ('PRS_C_PRS_KENMERK_MIN_C' , 'Nieuwe min.waarde van dit kenmerksoort voldoet niet aan alle contactpersonen.' ,'New min.value of this property-type does not satisfy all contact persons');
DEF_FAC_MESSAGE ('PRS_C_PRS_KENMERK_MIN_P' , 'Nieuwe min.waarde van dit kenmerksoort voldoet niet aan alle personen.' ,'New min.value of this property-type does not satisfy all persons.');
DEF_FAC_MESSAGE ('PRS_C_PRS_KENMERK_MAX_A' , 'Nieuwe max.waarde van dit kenmerksoort voldoet niet aan alle afdelingen.' ,'New max.value of this property-type does not satisfy all departments.');
DEF_FAC_MESSAGE ('PRS_C_PRS_KENMERK_MAX_B' , 'Nieuwe max.waarde van dit kenmerksoort voldoet niet aan alle bedrijven.' ,'New max.value of this property-type does not satisfy all companies.');
DEF_FAC_MESSAGE ('PRS_C_PRS_KENMERK_MAX_C' , 'Nieuwe max.waarde van dit kenmerksoort voldoet niet aan alle contactpersonen.' ,'New max.value of this property-type does not satisfy all contact persons.');
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.');
/////////////////////////////////////////////////////////////////////////////////////////// VGLD#85984
ALTER TABLE cnt_contract
ADD cnt_contract_inactiveren /* Automatisch sluiten na einddatum (0=nee, 1=ja) */
NUMBER(1)
DEFAULT 0
CONSTRAINT cnt_r_cnt_contract_inactiveren CHECK(cnt_contract_inactiveren IN (0,1));
/////////////////////////////////////////////////////////////////////////////////////////// YAXX#86411
ALTER TABLE alg_kenmerk DROP CONSTRAINT alg_c_alg_kenmerk_niveau1;
ALTER TABLE alg_kenmerk ADD CONSTRAINT alg_c_alg_kenmerk_niveau1 CHECK(alg_kenmerk_niveau IS NOT NULL
AND alg_kenmerk_niveau IN ('R','V','G','T','L','D', 'E'));
DEF_MENUITEM(2, 'lcl_menu_alg_regiokenmerken' , '', 'ALG', 'appl/mgt/alg_kenmerk.asp?level=E', 0, 0, 'WEB_ALGMGT', 'W', '1', '');
MENU_INS_AFTER('lcl_menu_alg_regiokenmerken', 'lcl_menu_alg_districtkenmerken', -10);
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#82174
-- Variatie op MENU_INS_AFTER(); nl. zonder fac_menuitems-record
INSERT INTO fac_menu (fac_menu_volgnr,
fac_menu_altlabel,
fac_menu_info,
fac_menu_alturl,
fac_menu_altgroep,
fac_menu_level,
fac_functie_key)
SELECT (SELECT fac_menu_volgnr + 5
FROM fac_menu
WHERE fac_menu_altlabel = 'lcl_menu_session'),
'lcl_menu_get_exchange',
'',
'appl/api/exchange/default.asp',
2,
2,
fac_functie_key
FROM fac_functie
WHERE fac_functie_code = 'WEB_FACTAB'
AND NOT EXISTS
(SELECT ''
FROM fac_menu
WHERE fac_menu_alturl = 'appl/api/exchange/default.asp');
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#82423
ALTER TABLE alg_gebouw ADD alg_gebouw_virtueel NUMBER(1) DEFAULT(0) NOT NULL;
ALTER TABLE alg_verdieping ADD alg_verdieping_virtueel NUMBER(1) DEFAULT(0) NOT NULL;
ALTER TABLE alg_ruimte ADD alg_ruimte_virtueel NUMBER(1) DEFAULT(0) NOT NULL;
/////////////////////////////////////////////////////////////////////////////////////////// BAUS#82535
DEF_FAC_SRTNOT('ACTUPD', 0, 'lcl_noti_ACTUPD', 'fac/job.asp?job_key=', '0', 'activiteit', 60);
/////////////////////////////////////////////////////////////////////////////////////////// PCHX#85935
CREATE VIEW prs_v_rap_vervangers AS SELECT * FROM DUAL;
DEF_RAPPORT('PRS', 'WEB_PRSMAN', 0 , 'prs_v_rap_vervangers', 'Vervangers', 'Vervangers per persoon',
'Substitutes', 'Substitutes per person')
/////////////////////////////////////////////////////////////////////////////////////////// LOGC#86231
UPDATE fac_usrrap_cols c1
SET fac_usrrap_cols_sorting = 1
WHERE fac_usrrap_cols_column_name = 'hide_f_sort'
AND fac_usrrap_cols_visible IN ('H', 'I') -- Ik ben [H]idden of [I]nvisible (verborgen/onzichtbaar)
AND fac_usrrap_cols_sorting = 3 -- Sortering staat op automatisch
AND fac_usrrap_cols_volgnr = -- Ik ben de eerste kolom
( SELECT MIN (fac_usrrap_cols_volgnr)
FROM fac_usrrap_cols c2
WHERE c2.fac_usrrap_key = c1.fac_usrrap_key
GROUP BY fac_usrrap_key)
AND NOT EXISTS -- autosorting is van toepassing (alle kolommen staan op 'automatisch' sorteren)
(SELECT ''
FROM fac_usrrap_cols c3
WHERE c3.fac_usrrap_key = c1.fac_usrrap_key
AND fac_usrrap_cols_sorting <> 3);
/////////////////////////////////////////////////////////////////////////////////////////// NOVA#85923
ALTER TABLE mld_typeopdr
ADD mld_typeopdr_confirm_for_send
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
NUMBER(4);
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#86197
UPDATE fac_setting
SET fac_setting_pvalue =
REPLACE (
REPLACE (fac_setting_pvalue,
'fa-file-import',
'fa-file-upload'),
'fa-file-export',
'fa-file-download')
WHERE fac_setting_name = 'buttons_in_hamburger'
AND fac_setting_pvalue IS NOT NULL;
/////////////////////////////////////////////////////////////////////////////////////////// MARX#87424
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$')
#define POST_RECREATE "DB49to50_post.src"
#include "epilogue.inc"

66
_UP/DB49to50_post.src Normal file
View File

@@ -0,0 +1,66 @@
/* DB49TO45_POST.SRC
*
* Uitgevoerd *na* de recreate zodat we op de nieuwe fac.notifytracking kunnen rekenen
*
* LET OP: De makefile detecteert timestamp van dit bestand niet
*
* $Revision$
* $Id$
*/
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#85545
-- Kijk in fac_v_orderqueue_OLD wat nog een laatste keer een notificatie
-- naar een systeemadres moet krijgen
-- Afgekeken van mld_t_mld_opdr_B_IU
BEGIN
FOR bedrijfrec
IN (SELECT b.prs_bedrijf_key,
COALESCE (l1.alg_locatie_key, l2.alg_locatie_key) alg_locatie_key,
COALESCE (l1.alg_locatie_email, l2.alg_locatie_email) alg_locatie_email,
o.mld_melding_key || '/' || o.mld_opdr_bedrijfopdr_volgnr reference,
d.prs_bedrijf_key persoon_bedrijf_key, -- van de melder, niet de uitvoerende
fac_srtnotificatie_key,
o.mld_opdr_key,
o.mld_typeopdr_key
FROM mld_melding m,
mld_adres ma,
alg_locatie l1,
alg_locatie l2,
prs_perslid p,
prs_v_afdeling d,
prs_bedrijf b,
fac_v_orderqueue_OLD q,
mld_opdr o,
fac_srtnotificatie fsn
WHERE q.xmlnode = 'opdracht'
AND q.key = o.mld_opdr_key
AND b.prs_bedrijf_key = o.mld_uitvoerende_keys
AND o.mld_melding_key = m.mld_melding_key
AND m.mld_adres_key = ma.mld_adres_key(+)
AND ma.alg_locatie_key = l1.alg_locatie_key(+)
AND m.mld_alg_locatie_key = l2.alg_locatie_key(+)
AND d.prs_afdeling_key = p.prs_afdeling_key
AND p.prs_perslid_key = m.prs_perslid_key
AND fac_srtnotificatie_code = 'ORDUPD') -- hardcoded ORDUPD, het gaat uiteindelijk vooral om de XMLnode 'opdracht' in putorders
LOOP
DBMS_OUTPUT.PUT_LINE('Notificeer opdracht ' || bedrijfrec.mld_opdr_key);
fac.notifybedrijf (pbedrijf_key => bedrijfrec.prs_bedrijf_key,
pbedrijfadres_type => 'O',
prefkey => bedrijfrec.mld_opdr_key,
ptrackingkey => NULL,
psrtnoti_key => bedrijfrec.fac_srtnotificatie_key,
preference => bedrijfrec.reference,
ptypeopdr_key => bedrijfrec.mld_typeopdr_key,
plocatie_key => bedrijfrec.alg_locatie_key,
psender => bedrijfrec.alg_locatie_email);
END LOOP;
END;
/
// En nu kan hij echt weg
DROP VIEW fac_v_orderqueue_OLD;
REGISTERONCE('$Id$')
COMMIT;

414
_UP/DB50to51.src Normal file
View 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"

View File

@@ -20,50 +20,6 @@ DELETE
WHERE fac_locale_kolomnaam LIKE 'FAC_IMPORT_APP_%'
AND fac_locale_kolomkeyval NOT IN (SELECT fac_import_app_key FROM fac_import_app);
-- Schema-naam uit MLD_T_UITVOERTIJD verwijderen.
--
-- data_default is van het datatype LONG. Daarop kan geen string-bewerking als INSTR(), SUBSTR() en REPLACE() worden gedaan.
-- Daarom moeten de benodigde gegevens eerst in een tijdelijke tabel ingelezen worden zodat het datatype VARCHAR2 wordt. Voor
-- het huidige doel (de owner van MLD_T_UITVOERTIJD verwijderen) is de stringlengte van 1000 voldoende.
-- Met FETCH .. BULK COLLECT INTO .. worden alle records die volgen uit de query in 1 keer opgehaald. Dit is sneller dan een fetch in een loop.
--
DECLARE
TYPE ut_row IS RECORD
( tab_name VARCHAR2(100)
, col_name VARCHAR2(100)
, data_default VARCHAR2(1000)
);
TYPE ut_tab IS TABLE OF ut_row
INDEX BY PLS_INTEGER;
qry_txt VARCHAR2(1000);
upd_txt VARCHAR2(1000);
l_table ut_tab;
l_cursor SYS_REFCURSOR;
l_pos INTEGER;
l_default VARCHAR2(1000);
BEGIN
qry_txt := 'SELECT table_name, column_name, data_default'
|| ' FROM user_tab_columns'
|| ' WHERE data_type = ''MLD_T_UITVOERTIJD''';
OPEN l_cursor FOR qry_txt;
FETCH l_cursor BULK COLLECT INTO l_table;
CLOSE l_cursor;
FOR indx IN 1 .. l_table.COUNT
LOOP
l_pos := INSTR(l_table(indx).data_default, '"."');
IF (l_pos > 0)
THEN
l_default := REPLACE(REPLACE(SUBSTR(l_table(indx).data_default, l_pos+3, 100), '"', ''),'''','');
upd_txt := 'ALTER TABLE '|| l_table(indx).tab_name ||' MODIFY '|| l_table(indx).col_name ||' DEFAULT '|| l_default;
dbms_output.put_line(upd_txt);
EXECUTE IMMEDIATE upd_txt;
END IF;
END LOOP;
END;
/
///////////////////////////// now recreate all views, triggers etc acc to the latest state ///////
#include "recreate.inc"
@@ -73,6 +29,7 @@ END;
BEGIN
fac.fac_cleanup;
adm.fix_mld_t_uitvoertijd();
END;
/
@@ -82,8 +39,6 @@ VALUES
('Database upgraded', 'DB' || _DBV_STRING);
COMMIT;
select 'Upgrade has completed in ' || ROUND(( dbms_utility.get_time - :update_start )/100) || ' seconds.' from dual;
/* Report invalid objects, if any */
SET ECHO OFF
SET HEADING OFF
@@ -110,6 +65,8 @@ BEGIN
END;
/
SELECT 'Upgrade has completed in ' || ROUND(( dbms_utility.get_time - :update_start )/100) || ' seconds.' FROM DUAL;
PROMPT List of all invalid objects after Facilitor upgrade.
PROMPT Some errors may resolve by running the customer specific script next.
SELECT 'OR'||'A-'||'DB'||_DBV_STRING||' Warning: ' || object_type || ' ' || object_name || ' is ' || status

View File

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

View File

@@ -48,6 +48,7 @@
#include "ctr\ctr_pac.src"
#include "cnd\cnd_pac.src"
#include "exc\exc_pac.src"
#include "ini\ini_pac.src"
// Recreation all triggers
// adm_tri staat ook al in FCLT.SRC maar hier herhalen voor upgrade-scripts
@@ -73,6 +74,7 @@
#include "ctr\ctr_tri.src"
#include "cnd\cnd_tri.src"
#include "exc\exc_tri.src"
#include "ini\ini_tri.src"
/* LOCALE's */
#include "fac\fac_lcl.src"

View File

@@ -41,7 +41,7 @@ INSERT INTO aut_idp (aut_idp_code,
'http://facws001/',
30,
1,
'80.250.128.5,80.250.128.6,31.161.17.4,80.250.129.2', -- Mainz/Mainz/Emmen/MainzNew
'80.250.128.5,80.250.128.6,80.250.129.195,31.161.17.4,80.250.129.2', -- Mainz/Mainz/Emmen/MainzNew
0,
'aaxx.facilitor.nl',
'FACWS001');

View File

@@ -41,7 +41,7 @@ INSERT INTO aut_idp (aut_idp_code,
'http://facws001/',
30,
1,
'80.250.128.5,80.250.128.6,31.161.17.4,80.250.129.2', -- Mainz/Mainz/Emmen/MainzNew
'80.250.128.5,80.250.128.6,80.250.129.195,31.161.17.4,80.250.129.2', -- Mainz/Mainz/Emmen/MainzNew
0,
'xxxx.facilitor.nl',
'FACWS001');

View File

@@ -135,7 +135,7 @@ function checkauto(tbl)
while (!oRs.Eof)
{
var col = oRs("COLUMN_NAME").Value;
if (!col.match(/(_KEY|_VOLGNR|_SALT|_HASH|_OTPSECRET|APIKEY|RES_RUIMTE_SYNCSTATE|FAC_LOCALE_KOLOMKEYVAL)$/))
if (!col.match(/(FAC_WIDGET_TYPEREFKEY|_KEY|_VOLGNR|_SALT|_HASH|_OTPSECRET|AUT_IDP_SECRET|APIKEY|RES_RUIMTE_SYNCSTATE|MLD_MELDING_OMSCHRIJVING|FAC_LOCALE_KOLOMKEYVAL)$/))
cols.push(col)
oRs.MoveNext();
}

View File

@@ -3,13 +3,13 @@ var wshShell = WScript.CreateObject( "WScript.Shell" );
var dbver = WScript.Arguments(0).toUpperCase();
var mailall = WScript.Arguments.Length > 1 && WScript.Arguments(1) == "mailall";
fac_send_mail_html("j.grootlipman@facilitor.nl");
fac_send_mail_html("jos.grootlipman@aareon.nl");
if (mailall)
{
fac_send_mail_html("e.groener@facilitor.nl");
fac_send_mail_html("m.geerdink@facilitor.nl");
fac_send_mail_html("k.reefman@facilitor.nl");
//fac_send_mail_html("gijs.wassink@aareon.nl");
fac_send_mail_html("peter.feij@aareon.nl");
}
//fac_send_mail_html("glipman@home.nl");
//fac_send_mail_html("helpdesk@facilitor.nl");

View File

@@ -1,4 +0,0 @@
SET DBVER=40f
SET DBPRV=39
SET DBPRVPATH=z:\Archief\FACILITOR\2020.2\DB39a\FCLT39a.sql
@testworkCOMMON.bat branchDB40

View File

@@ -1,5 +0,0 @@
:: Achteraan d:\Backup\BackupAppl.bat op Jos's PC staat deze gescheduled
SET DBVER=41a
SET DBPRV=40
SET DBPRVPATH=z:\Archief\FACILITOR\2021.1\DB40g\FCLT40g.sql
@testworkCOMMON.bat trunk %*

View File

@@ -1,5 +0,0 @@
:: Achteraan d:\Backup\BackupAppl.bat op Jos's PC staat deze gescheduled
SET DBVER=43a
SET DBPRV=42
SET DBPRVPATH=z:\Archief\FACILITOR\2022.2\DB42b\FCLT42b.sql
@testworkCOMMON.bat trunk %*

View File

@@ -1,5 +0,0 @@
:: Achteraan d:\Backup\BackupAppl.bat op Jos's PC staat deze gescheduled
SET DBVER=44a
SET DBPRV=43
SET DBPRVPATH=z:\Archief\FACILITOR\2022.3\DB43b\FCLT43b.sql
@testworkCOMMON.bat trunk %*

Some files were not shown because too many files have changed in this diff Show More