From 45e62fda5f94918cb8bf40a0a4e1bfe3781b8191 Mon Sep 17 00:00:00 2001 From: Hans Dijkema Date: Fri, 28 Aug 2026 12:27:35 +0200 Subject: [PATCH] no --- ...-bereken-nascholingstotaal-voor-jaar.descr | 35 - ...ipt-bereken-nascholingstotaal-voor-jaar.id | 1 - ...ipt-bereken-nascholingstotaal-voor-jaar.js | 275 ----- ...-bereken-nascholingstotaal-voor-jaar.descr | 40 - ...ipt-bereken-nascholingstotaal-voor-jaar.id | 1 - ...ipt-bereken-nascholingstotaal-voor-jaar.js | 347 ------- .../script-bereken-nascholingstotalen.descr | 7 - .../script-bereken-nascholingstotalen.id | 1 - .../script-bereken-nascholingstotalen.js | 948 ------------------ .../script-lees-nascholingsnorm-hash.descr | 7 - .../script-lees-nascholingsnorm-hash.id | 1 - .../script-lees-nascholingsnorm-hash.js | 32 - ...script-nascholing-recalc-for-contact.descr | 1 - .../script-nascholing-recalc-for-contact.id | 1 - .../script-nascholing-recalc-for-contact.js | 5 - ...script-nascholings-totaal-jaar-admin.descr | 1 - .../script-nascholings-totaal-jaar-admin.id | 1 - .../script-nascholings-totaal-jaar-admin.js | 44 - ...-praktijken-koppelen-aan-portal-user.descr | 10 - ...ipt-praktijken-koppelen-aan-portal-user.id | 1 - ...ipt-praktijken-koppelen-aan-portal-user.js | 45 - .../script-to-firstname-lastname.descr | 2 - .../configs/script-to-firstname-lastname.id | 1 - .../configs/script-to-firstname-lastname.js | 13 - .../script-visitatie-stuur-certificaat.descr | 5 - .../script-visitatie-stuur-certificaat.id | 1 - .../script-visitatie-stuur-certificaat.js | 167 --- .../script-visitatie-stuur-formulier.descr | 8 - .../script-visitatie-stuur-formulier.id | 1 - .../script-visitatie-stuur-formulier.js | 220 ---- code-current/get-current-scripts.rkt | 17 +- code-current/scripts/000 Upgrade Test.descr | 1 - code-current/scripts/000 Upgrade Test.id | 1 - code-current/scripts/000 Upgrade Test.js | 464 --------- code-current/scripts/000 job test.descr | 1 - code-current/scripts/000 job test.id | 1 - code-current/scripts/000 job test.js | 5 - ...Alle nascholingstotalen herberekenen.descr | 1 - .../Alle nascholingstotalen herberekenen.id | 1 - .../Alle nascholingstotalen herberekenen.js | 76 -- .../scripts/Bereken totaal voor één lid.descr | 1 - .../scripts/Bereken totaal voor één lid.id | 1 - .../scripts/Bereken totaal voor één lid.js | 44 - code-current/scripts/CZ Export Lijst.descr | 3 - code-current/scripts/CZ Export Lijst.id | 1 - code-current/scripts/CZ Export Lijst.js | 88 -- .../scripts/Controle Praktijk-AGB.descr | 3 - code-current/scripts/Controle Praktijk-AGB.id | 1 - code-current/scripts/Controle Praktijk-AGB.js | 123 --- .../scripts/Dagen Medisch <=2018 op 0.descr | 1 - .../scripts/Dagen Medisch <=2018 op 0.id | 1 - .../scripts/Dagen Medisch <=2018 op 0.js | 21 - ...ndividuele nascholingstotaal-records.descr | 1 - ...n individuele nascholingstotaal-records.id | 1 - ...n individuele nascholingstotaal-records.js | 5 - .../scripts/Herberekenen nascholingen.descr | 1 - .../scripts/Herberekenen nascholingen.id | 1 - .../scripts/Herberekenen nascholingen.js | 32 - .../Homeopaten Doellijst Bijwerken.descr | 1 - .../scripts/Homeopaten Doellijst Bijwerken.id | 1 - .../scripts/Homeopaten Doellijst Bijwerken.js | 66 -- ...erking - Nascholingstotalen koppelen.descr | 1 - ...bewerking - Nascholingstotalen koppelen.id | 1 - ...bewerking - Nascholingstotalen koppelen.js | 44 - .../Import Nabewerking - Visitaties.descr | 1 - .../Import Nabewerking - Visitaties.id | 1 - .../Import Nabewerking - Visitaties.js | 36 - ...king - leden aan praktijken koppelen.descr | 1 - ...werking - leden aan praktijken koppelen.id | 1 - ...werking - leden aan praktijken koppelen.js | 72 -- .../scripts/Inlezen consultgegevens.descr | 1 - .../scripts/Inlezen consultgegevens.id | 1 - .../scripts/Inlezen consultgegevens.js | 116 --- ...t dubbel geregistreerde nascholingen.descr | 1 - ... met dubbel geregistreerde nascholingen.id | 1 - ... met dubbel geregistreerde nascholingen.js | 162 --- ...et hun praktijken - eenvoudige lijst.descr | 1 - ...n met hun praktijken - eenvoudige lijst.id | 1 - ...n met hun praktijken - eenvoudige lijst.js | 228 ----- .../scripts/Leden met hun praktijken.descr | 1 - .../scripts/Leden met hun praktijken.id | 1 - .../scripts/Leden met hun praktijken.js | 220 ---- ...ingstotalen voor hun registratiejaar.descr | 1 - ...holingstotalen voor hun registratiejaar.id | 1 - ...holingstotalen voor hun registratiejaar.js | 70 -- .../Leden met onvoldoende nascholing.descr | 1 - .../Leden met onvoldoende nascholing.id | 1 - .../Leden met onvoldoende nascholing.js | 125 --- .../scripts/Ledeninformatie publiceren.descr | 1 - .../scripts/Ledeninformatie publiceren.id | 1 - .../scripts/Ledeninformatie publiceren.js | 46 - code-current/scripts/Mail Laatste Jobs.descr | 1 - code-current/scripts/Mail Laatste Jobs.id | 1 - code-current/scripts/Mail Laatste Jobs.js | 45 - ...niet ingevuld distributielijst maken.descr | 9 - ...og niet ingevuld distributielijst maken.id | 1 - ...og niet ingevuld distributielijst maken.js | 107 -- ...cholingen verplaatsen naar handmatig.descr | 1 - ...Nascholingen verplaatsen naar handmatig.id | 1 - ...Nascholingen verplaatsen naar handmatig.js | 47 - .../scripts/Nascholingsdata aanmaken.descr | 1 - .../scripts/Nascholingsdata aanmaken.id | 1 - .../scripts/Nascholingsdata aanmaken.js | 51 - .../scripts/Nascholingsnorm aanmaken.descr | 1 - .../scripts/Nascholingsnorm aanmaken.id | 1 - .../scripts/Nascholingsnorm aanmaken.js | 22 - .../Nascholingstotalen Jaar Record.descr | 1 - .../scripts/Nascholingstotalen Jaar Record.id | 1 - .../scripts/Nascholingstotalen Jaar Record.js | 66 -- ...len berekenen voor specifiek contact.descr | 1 - ...otalen berekenen voor specifiek contact.id | 1 - ...otalen berekenen voor specifiek contact.js | 70 -- .../Nascholingstotalen relateren.descr | 1 - .../scripts/Nascholingstotalen relateren.id | 1 - .../scripts/Nascholingstotalen relateren.js | 28 - .../Opschonen updates door leden.descr | 1 - .../scripts/Opschonen updates door leden.id | 1 - .../scripts/Opschonen updates door leden.js | 47 - ...tijken koppelen aan Portaal Accounts.descr | 1 - ...raktijken koppelen aan Portaal Accounts.id | 1 - ...raktijken koppelen aan Portaal Accounts.js | 24 - .../scripts/Presentielijst aanmaken.descr | 1 - .../scripts/Presentielijst aanmaken.id | 1 - .../scripts/Presentielijst aanmaken.js | 215 ---- .../scripts/Presentielijst inlezen.descr | 22 - .../scripts/Presentielijst inlezen.id | 1 - .../scripts/Presentielijst inlezen.js | 299 ------ ...Relaties nascholingstotalen omzetten.descr | 1 - .../Relaties nascholingstotalen omzetten.id | 1 - .../Relaties nascholingstotalen omzetten.js | 34 - .../Studentleden doellijst bijwerken.descr | 1 - .../Studentleden doellijst bijwerken.id | 1 - .../Studentleden doellijst bijwerken.js | 66 -- .../Sympathisanten Doellijst Bijwerken.descr | 1 - .../Sympathisanten Doellijst Bijwerken.id | 1 - .../Sympathisanten Doellijst Bijwerken.js | 66 -- code-current/scripts/Updates Door Leden.descr | 1 - code-current/scripts/Updates Door Leden.id | 1 - code-current/scripts/Updates Door Leden.js | 96 -- ...waarvan de VOG moet worden vernieuwd.descr | 1 - ...en waarvan de VOG moet worden vernieuwd.id | 1 - ...en waarvan de VOG moet worden vernieuwd.js | 118 --- ...Visitatie - Bewaken voortgang proces.descr | 1 - .../Visitatie - Bewaken voortgang proces.id | 1 - .../Visitatie - Bewaken voortgang proces.js | 180 ---- ...oellijst 'te visiteren leden' vullen.descr | 1 - ...- Doellijst 'te visiteren leden' vullen.id | 1 - ...- Doellijst 'te visiteren leden' vullen.js | 41 - ...neringen sturen 4 weken van te voren.descr | 1 - ...rinneringen sturen 4 weken van te voren.id | 1 - ...rinneringen sturen 4 weken van te voren.js | 74 -- ...ampagne voor aankondigingsmail klaar.descr | 8 - ...k campagne voor aankondigingsmail klaar.id | 1 - ...k campagne voor aankondigingsmail klaar.js | 79 -- ... visiteren leden - maak records aan.descr | 3 - ... te visiteren leden - maak records aan.id | 1 - ... te visiteren leden - maak records aan.js | 262 ----- .../scripts/Visitatie relaties omzetten.descr | 1 - .../scripts/Visitatie relaties omzetten.id | 1 - .../scripts/Visitatie relaties omzetten.js | 17 - ...isitatieformulier voor Her-visitatie.descr | 3 - .../Visitatieformulier voor Her-visitatie.id | 1 - .../Visitatieformulier voor Her-visitatie.js | 224 ----- ...holingstotalen overig => homeopathie.descr | 1 - ...ascholingstotalen overig => homeopathie.id | 1 - ...ascholingstotalen overig => homeopathie.js | 33 - .../scripts/praktijken leden naar json.descr | 1 - .../scripts/praktijken leden naar json.id | 1 - .../scripts/praktijken leden naar json.js | 242 ----- .../scripts/startSurplus voor 2013.descr | 1 - .../scripts/startSurplus voor 2013.id | 1 - .../scripts/startSurplus voor 2013.js | 130 --- code-current/scripts/test_nascholingen.descr | 1 - code-current/scripts/test_nascholingen.id | 1 - code-current/scripts/test_nascholingen.js | 139 --- ...ietijdstip vullen uit visitatiedatum.descr | 1 - ...tatietijdstip vullen uit visitatiedatum.id | 1 - ...tatietijdstip vullen uit visitatiedatum.js | 21 - 178 files changed, 10 insertions(+), 7257 deletions(-) delete mode 100644 code-current/configs/2020-12-04 - script-bereken-nascholingstotaal-voor-jaar.descr delete mode 100644 code-current/configs/2020-12-04 - script-bereken-nascholingstotaal-voor-jaar.id delete mode 100644 code-current/configs/2020-12-04 - script-bereken-nascholingstotaal-voor-jaar.js delete mode 100644 code-current/configs/script-bereken-nascholingstotaal-voor-jaar.descr delete mode 100644 code-current/configs/script-bereken-nascholingstotaal-voor-jaar.id delete mode 100644 code-current/configs/script-bereken-nascholingstotaal-voor-jaar.js delete mode 100644 code-current/configs/script-bereken-nascholingstotalen.descr delete mode 100644 code-current/configs/script-bereken-nascholingstotalen.id delete mode 100644 code-current/configs/script-bereken-nascholingstotalen.js delete mode 100644 code-current/configs/script-lees-nascholingsnorm-hash.descr delete mode 100644 code-current/configs/script-lees-nascholingsnorm-hash.id delete mode 100644 code-current/configs/script-lees-nascholingsnorm-hash.js delete mode 100644 code-current/configs/script-nascholing-recalc-for-contact.descr delete mode 100644 code-current/configs/script-nascholing-recalc-for-contact.id delete mode 100644 code-current/configs/script-nascholing-recalc-for-contact.js delete mode 100644 code-current/configs/script-nascholings-totaal-jaar-admin.descr delete mode 100644 code-current/configs/script-nascholings-totaal-jaar-admin.id delete mode 100644 code-current/configs/script-nascholings-totaal-jaar-admin.js delete mode 100644 code-current/configs/script-praktijken-koppelen-aan-portal-user.descr delete mode 100644 code-current/configs/script-praktijken-koppelen-aan-portal-user.id delete mode 100644 code-current/configs/script-praktijken-koppelen-aan-portal-user.js delete mode 100644 code-current/configs/script-to-firstname-lastname.descr delete mode 100644 code-current/configs/script-to-firstname-lastname.id delete mode 100644 code-current/configs/script-to-firstname-lastname.js delete mode 100644 code-current/configs/script-visitatie-stuur-certificaat.descr delete mode 100644 code-current/configs/script-visitatie-stuur-certificaat.id delete mode 100644 code-current/configs/script-visitatie-stuur-certificaat.js delete mode 100644 code-current/configs/script-visitatie-stuur-formulier.descr delete mode 100644 code-current/configs/script-visitatie-stuur-formulier.id delete mode 100644 code-current/configs/script-visitatie-stuur-formulier.js delete mode 100644 code-current/scripts/000 Upgrade Test.descr delete mode 100644 code-current/scripts/000 Upgrade Test.id delete mode 100644 code-current/scripts/000 Upgrade Test.js delete mode 100644 code-current/scripts/000 job test.descr delete mode 100644 code-current/scripts/000 job test.id delete mode 100644 code-current/scripts/000 job test.js delete mode 100644 code-current/scripts/Alle nascholingstotalen herberekenen.descr delete mode 100644 code-current/scripts/Alle nascholingstotalen herberekenen.id delete mode 100644 code-current/scripts/Alle nascholingstotalen herberekenen.js delete mode 100644 code-current/scripts/Bereken totaal voor één lid.descr delete mode 100644 code-current/scripts/Bereken totaal voor één lid.id delete mode 100644 code-current/scripts/Bereken totaal voor één lid.js delete mode 100644 code-current/scripts/CZ Export Lijst.descr delete mode 100644 code-current/scripts/CZ Export Lijst.id delete mode 100644 code-current/scripts/CZ Export Lijst.js delete mode 100644 code-current/scripts/Controle Praktijk-AGB.descr delete mode 100644 code-current/scripts/Controle Praktijk-AGB.id delete mode 100644 code-current/scripts/Controle Praktijk-AGB.js delete mode 100644 code-current/scripts/Dagen Medisch <=2018 op 0.descr delete mode 100644 code-current/scripts/Dagen Medisch <=2018 op 0.id delete mode 100644 code-current/scripts/Dagen Medisch <=2018 op 0.js delete mode 100644 code-current/scripts/Herberekenen individuele nascholingstotaal-records.descr delete mode 100644 code-current/scripts/Herberekenen individuele nascholingstotaal-records.id delete mode 100644 code-current/scripts/Herberekenen individuele nascholingstotaal-records.js delete mode 100644 code-current/scripts/Herberekenen nascholingen.descr delete mode 100644 code-current/scripts/Herberekenen nascholingen.id delete mode 100644 code-current/scripts/Herberekenen nascholingen.js delete mode 100644 code-current/scripts/Homeopaten Doellijst Bijwerken.descr delete mode 100644 code-current/scripts/Homeopaten Doellijst Bijwerken.id delete mode 100644 code-current/scripts/Homeopaten Doellijst Bijwerken.js delete mode 100644 code-current/scripts/Import Nabewerking - Nascholingstotalen koppelen.descr delete mode 100644 code-current/scripts/Import Nabewerking - Nascholingstotalen koppelen.id delete mode 100644 code-current/scripts/Import Nabewerking - Nascholingstotalen koppelen.js delete mode 100644 code-current/scripts/Import Nabewerking - Visitaties.descr delete mode 100644 code-current/scripts/Import Nabewerking - Visitaties.id delete mode 100644 code-current/scripts/Import Nabewerking - Visitaties.js delete mode 100644 code-current/scripts/Import Nabewerking - leden aan praktijken koppelen.descr delete mode 100644 code-current/scripts/Import Nabewerking - leden aan praktijken koppelen.id delete mode 100644 code-current/scripts/Import Nabewerking - leden aan praktijken koppelen.js delete mode 100644 code-current/scripts/Inlezen consultgegevens.descr delete mode 100644 code-current/scripts/Inlezen consultgegevens.id delete mode 100644 code-current/scripts/Inlezen consultgegevens.js delete mode 100644 code-current/scripts/Leden met dubbel geregistreerde nascholingen.descr delete mode 100644 code-current/scripts/Leden met dubbel geregistreerde nascholingen.id delete mode 100644 code-current/scripts/Leden met dubbel geregistreerde nascholingen.js delete mode 100644 code-current/scripts/Leden met hun praktijken - eenvoudige lijst.descr delete mode 100644 code-current/scripts/Leden met hun praktijken - eenvoudige lijst.id delete mode 100644 code-current/scripts/Leden met hun praktijken - eenvoudige lijst.js delete mode 100644 code-current/scripts/Leden met hun praktijken.descr delete mode 100644 code-current/scripts/Leden met hun praktijken.id delete mode 100644 code-current/scripts/Leden met hun praktijken.js delete mode 100644 code-current/scripts/Leden met nascholingstotalen voor hun registratiejaar.descr delete mode 100644 code-current/scripts/Leden met nascholingstotalen voor hun registratiejaar.id delete mode 100644 code-current/scripts/Leden met nascholingstotalen voor hun registratiejaar.js delete mode 100644 code-current/scripts/Leden met onvoldoende nascholing.descr delete mode 100644 code-current/scripts/Leden met onvoldoende nascholing.id delete mode 100644 code-current/scripts/Leden met onvoldoende nascholing.js delete mode 100644 code-current/scripts/Ledeninformatie publiceren.descr delete mode 100644 code-current/scripts/Ledeninformatie publiceren.id delete mode 100644 code-current/scripts/Ledeninformatie publiceren.js delete mode 100644 code-current/scripts/Mail Laatste Jobs.descr delete mode 100644 code-current/scripts/Mail Laatste Jobs.id delete mode 100644 code-current/scripts/Mail Laatste Jobs.js delete mode 100644 code-current/scripts/Nascholingen nog niet ingevuld distributielijst maken.descr delete mode 100644 code-current/scripts/Nascholingen nog niet ingevuld distributielijst maken.id delete mode 100644 code-current/scripts/Nascholingen nog niet ingevuld distributielijst maken.js delete mode 100644 code-current/scripts/Nascholingen verplaatsen naar handmatig.descr delete mode 100644 code-current/scripts/Nascholingen verplaatsen naar handmatig.id delete mode 100644 code-current/scripts/Nascholingen verplaatsen naar handmatig.js delete mode 100644 code-current/scripts/Nascholingsdata aanmaken.descr delete mode 100644 code-current/scripts/Nascholingsdata aanmaken.id delete mode 100644 code-current/scripts/Nascholingsdata aanmaken.js delete mode 100644 code-current/scripts/Nascholingsnorm aanmaken.descr delete mode 100644 code-current/scripts/Nascholingsnorm aanmaken.id delete mode 100644 code-current/scripts/Nascholingsnorm aanmaken.js delete mode 100644 code-current/scripts/Nascholingstotalen Jaar Record.descr delete mode 100644 code-current/scripts/Nascholingstotalen Jaar Record.id delete mode 100644 code-current/scripts/Nascholingstotalen Jaar Record.js delete mode 100644 code-current/scripts/Nascholingstotalen berekenen voor specifiek contact.descr delete mode 100644 code-current/scripts/Nascholingstotalen berekenen voor specifiek contact.id delete mode 100644 code-current/scripts/Nascholingstotalen berekenen voor specifiek contact.js delete mode 100644 code-current/scripts/Nascholingstotalen relateren.descr delete mode 100644 code-current/scripts/Nascholingstotalen relateren.id delete mode 100644 code-current/scripts/Nascholingstotalen relateren.js delete mode 100644 code-current/scripts/Opschonen updates door leden.descr delete mode 100644 code-current/scripts/Opschonen updates door leden.id delete mode 100644 code-current/scripts/Opschonen updates door leden.js delete mode 100644 code-current/scripts/Praktijken koppelen aan Portaal Accounts.descr delete mode 100644 code-current/scripts/Praktijken koppelen aan Portaal Accounts.id delete mode 100644 code-current/scripts/Praktijken koppelen aan Portaal Accounts.js delete mode 100644 code-current/scripts/Presentielijst aanmaken.descr delete mode 100644 code-current/scripts/Presentielijst aanmaken.id delete mode 100644 code-current/scripts/Presentielijst aanmaken.js delete mode 100644 code-current/scripts/Presentielijst inlezen.descr delete mode 100644 code-current/scripts/Presentielijst inlezen.id delete mode 100644 code-current/scripts/Presentielijst inlezen.js delete mode 100644 code-current/scripts/Relaties nascholingstotalen omzetten.descr delete mode 100644 code-current/scripts/Relaties nascholingstotalen omzetten.id delete mode 100644 code-current/scripts/Relaties nascholingstotalen omzetten.js delete mode 100644 code-current/scripts/Studentleden doellijst bijwerken.descr delete mode 100644 code-current/scripts/Studentleden doellijst bijwerken.id delete mode 100644 code-current/scripts/Studentleden doellijst bijwerken.js delete mode 100644 code-current/scripts/Sympathisanten Doellijst Bijwerken.descr delete mode 100644 code-current/scripts/Sympathisanten Doellijst Bijwerken.id delete mode 100644 code-current/scripts/Sympathisanten Doellijst Bijwerken.js delete mode 100644 code-current/scripts/Updates Door Leden.descr delete mode 100644 code-current/scripts/Updates Door Leden.id delete mode 100644 code-current/scripts/Updates Door Leden.js delete mode 100644 code-current/scripts/VOG Leden waarvan de VOG moet worden vernieuwd.descr delete mode 100644 code-current/scripts/VOG Leden waarvan de VOG moet worden vernieuwd.id delete mode 100644 code-current/scripts/VOG Leden waarvan de VOG moet worden vernieuwd.js delete mode 100644 code-current/scripts/Visitatie - Bewaken voortgang proces.descr delete mode 100644 code-current/scripts/Visitatie - Bewaken voortgang proces.id delete mode 100644 code-current/scripts/Visitatie - Bewaken voortgang proces.js delete mode 100644 code-current/scripts/Visitatie - Doellijst 'te visiteren leden' vullen.descr delete mode 100644 code-current/scripts/Visitatie - Doellijst 'te visiteren leden' vullen.id delete mode 100644 code-current/scripts/Visitatie - Doellijst 'te visiteren leden' vullen.js delete mode 100644 code-current/scripts/Visitatie - Herinneringen sturen 4 weken van te voren.descr delete mode 100644 code-current/scripts/Visitatie - Herinneringen sturen 4 weken van te voren.id delete mode 100644 code-current/scripts/Visitatie - Herinneringen sturen 4 weken van te voren.js delete mode 100644 code-current/scripts/Visitatie - Maak campagne voor aankondigingsmail klaar.descr delete mode 100644 code-current/scripts/Visitatie - Maak campagne voor aankondigingsmail klaar.id delete mode 100644 code-current/scripts/Visitatie - Maak campagne voor aankondigingsmail klaar.js delete mode 100644 code-current/scripts/Visitatie - Rapporteer te visiteren leden - maak records aan.descr delete mode 100644 code-current/scripts/Visitatie - Rapporteer te visiteren leden - maak records aan.id delete mode 100644 code-current/scripts/Visitatie - Rapporteer te visiteren leden - maak records aan.js delete mode 100644 code-current/scripts/Visitatie relaties omzetten.descr delete mode 100644 code-current/scripts/Visitatie relaties omzetten.id delete mode 100644 code-current/scripts/Visitatie relaties omzetten.js delete mode 100644 code-current/scripts/Visitatieformulier voor Her-visitatie.descr delete mode 100644 code-current/scripts/Visitatieformulier voor Her-visitatie.id delete mode 100644 code-current/scripts/Visitatieformulier voor Her-visitatie.js delete mode 100644 code-current/scripts/nascholingstotalen overig => homeopathie.descr delete mode 100644 code-current/scripts/nascholingstotalen overig => homeopathie.id delete mode 100644 code-current/scripts/nascholingstotalen overig => homeopathie.js delete mode 100644 code-current/scripts/praktijken leden naar json.descr delete mode 100644 code-current/scripts/praktijken leden naar json.id delete mode 100644 code-current/scripts/praktijken leden naar json.js delete mode 100644 code-current/scripts/startSurplus voor 2013.descr delete mode 100644 code-current/scripts/startSurplus voor 2013.id delete mode 100644 code-current/scripts/startSurplus voor 2013.js delete mode 100644 code-current/scripts/test_nascholingen.descr delete mode 100644 code-current/scripts/test_nascholingen.id delete mode 100644 code-current/scripts/test_nascholingen.js delete mode 100644 code-current/scripts/vsitatietijdstip vullen uit visitatiedatum.descr delete mode 100644 code-current/scripts/vsitatietijdstip vullen uit visitatiedatum.id delete mode 100644 code-current/scripts/vsitatietijdstip vullen uit visitatiedatum.js diff --git a/code-current/configs/2020-12-04 - script-bereken-nascholingstotaal-voor-jaar.descr b/code-current/configs/2020-12-04 - script-bereken-nascholingstotaal-voor-jaar.descr deleted file mode 100644 index e964d7f..0000000 --- a/code-current/configs/2020-12-04 - script-bereken-nascholingstotaal-voor-jaar.descr +++ /dev/null @@ -1,35 +0,0 @@ -Berekent een nascholingstotaal voor een contact $contact_id en voor jaar $year. - -Indien global\get('nascholingstotalen-niet-herberekenen') gezet is, zal een opgeslagen Nascholingstotaal niet tot herberekening leiden. NB. Dit gebeurt als formule bij 'Nascholingstotaal' (afterSave). - -Indien $no_db_update == true, dan worden de resultaten niet opgeslagen bij het betreffende Nascholingstotaal en kunnen alleen de uitgangsvariabelen worden gebruikt. Het script dient dan gestart te worden met $na_totaal_dagen, $na_totaal_medisch, $na_vrijstelling en $na_handmatig. - -Voor het gegeven Lid: - -- $na_reg_jr - jaar van registratie van het gegven contact. -- $na_dispensatie - of er dispensatie is in algemene zin voor het lid (niet jaar gebonden). - -De totalen en saldi: - -- $na_totaal_dagen - het totaal aantal overige dagen, -- $na_totaal_medisch - het totaal aantal gevolgde medische dagen, -- $na_totaal_homeopathie - het totaal aantal gevolgde dagen klassieke homeopathie, -- $na_totaal_werkgroep - het totaal aantal dagen voor werkgroepverslagen (max 2), -- $na_saldo - het saldo na aftrek van $na_dagen_norm, -- $na_medisch_saldo - het saldo na aftrek van $na_medisch_norm, -- $na_homeopathie_saldo - het saldo na aftrek van $na_homeopathie_norm, -- $na_vrijstelling - het aantal geregistreerde vrijstellingsdagen voor de het gegeven jaar of, als dispensatie of als $year = jaar van registratie: = $na_dagen_norm_formeel. - -De normen: - -- $na_dagen_norm - $na_dagen_norm_formeel - $na_vrijstelling -- $na_dagen_norm_formeel - het formele totaal aantal dagen te volgen nascholing voor het gegeven jaar $year -- $na_medisch_norm - het formeel aantal te volgen medische dagen voor het gegeven jaar $year -- $na_homeopathie_norm - het formeel aantal te volgen dagen klassieke homeopathie voor het gegeven jaar $year - -zijn daarna beschikbaar. - -Berekent het totaal aantal dagen homeopathie, dagen medisch, norm dagen, formele norm dagen en saldo dagen aan de hand van de geregistreerde nascholingen, tenzij het betrokken nascholingstotaal record op handmatig staat. - - - diff --git a/code-current/configs/2020-12-04 - script-bereken-nascholingstotaal-voor-jaar.id b/code-current/configs/2020-12-04 - script-bereken-nascholingstotaal-voor-jaar.id deleted file mode 100644 index 086ea87..0000000 --- a/code-current/configs/2020-12-04 - script-bereken-nascholingstotaal-voor-jaar.id +++ /dev/null @@ -1 +0,0 @@ -5fca5189ec16d65c8 \ No newline at end of file diff --git a/code-current/configs/2020-12-04 - script-bereken-nascholingstotaal-voor-jaar.js b/code-current/configs/2020-12-04 - script-bereken-nascholingstotaal-voor-jaar.js deleted file mode 100644 index fd7acaa..0000000 --- a/code-current/configs/2020-12-04 - script-bereken-nascholingstotaal-voor-jaar.js +++ /dev/null @@ -1,275 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// Initialiseren -/////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -$na_reg_dt = record\attribute('Contact', $contact_id, 'datumRegistratie'); -$na_dispensatie = record\attribute('Contact', $contact_id, 'dispensatie'); -$na_reg_jr = datetime\year($na_reg_dt); - -ifThen(!global\isset('nascholingsnorm-hash'), - $na_script = configGet('script-lees-nascholingsnorm-hash'); - Exec($na_script); -); -$na_norm = global\get('nascholingsnorm-hash'); - -$na_id = ''; - -$na_methode_1_tot_en_met = configGet('berekening-methode-1-tot-en-met'); -$na_werkgroep_div = configGet('werkgroep-dagen-deel-factor'); -$na_werkgroep_max = configGet('werkgroep-dagen-max'); - -/////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// Bereken de totalen dagen en dagenMedisch. -/////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -ifThen(!$no_db_update, - $na_recs = record\fetchManyHash('Nascholingstotaal', - 'id, dagen, dagenMedisch, dagenHomeopathie, handmatig, dagenVrijstelling, nascholingsnormId', - 'createdAt', 'asc', - 'contactId=', $contact_id, - 'jaar=', $year - ); - $na_nrecs = array\length($na_recs); - - ifThenElse($na_nrecs > 0, - $na_rec = array\at($na_recs, 0); - - $na_id = hash\get($na_rec, 'id'); - $na_handmatig = hash\get($na_rec, 'handmatig'); - $na_vrijstelling = hash\get($na_rec, 'dagenVrijstelling'); - - // Zolang de totalen handmatig zijn, wordt er niets berekend. - ifThenElse($na_handmatig, - $na_totaal_dagen = hash\get($na_rec, 'dagen'); - $na_totaal_medisch = hash\get($na_rec, 'dagenMedisch'); - $na_totaal_homeopathie = hash\get($na_rec, 'dagenHomeopathie'); - $na_totaal_werkgroep = hash\get($na_rec, 'dagenWerkgroep'); - log('warning', 'Handmatige nascholing, er wordt niets berekend'); - , - // Totalen op 0 - $na_totaal_dagen = 0; - $na_totaal_medisch = 0; - $na_totaal_homeopathie = 0; - $na_totaal_werkgroep = 0; - - // Eerst de geaccrediteerde nascholingen voor zover van toepassing - // kan nog steeds met methode 1. - $na_rows = record\fetchRelatedMany( - 'Contact', $contact_id, 'nascholingen', - 'jaar, aantalDagen, aantalDagenMedisch, dagenHomeopathie', - 'jaar', 'asc', - 'jaar=', $year - ); - - $na_i = 0; - $na_n = array\length($na_rows); - - while($na_i < $na_n, - $na_row = array\at($na_rows, $na_i); - $na_totaal_dagen = $na_totaal_dagen + array\at($na_row, 1); - $na_totaal_medisch = $na_totaal_medisch + array\at($na_row, 2); - $na_totaal_homeopathie = $na_totaal_homeopathie + array\at($na_row, 3); - $na_i = $na_i + 1; - ); - - // Dan de goedgekeurde handmatige nascholingen - // kan nog steeds met methode 1. - $na_rows = record\fetchRelatedMany( - 'Contact', $contact_id, 'handmatigeNascholingen', - 'jaar, dagen, dagenMedisch, dagenHomeopathie, status', - 'jaar', 'asc', - 'jaar=', $year - ); - $na_i = 0; - $na_n = array\length($na_rows); - - while($na_i < $na_n, - $na_row = array\at($na_rows, $na_i); - $status = array\at($na_row, 4); - log('warning', 'i = ', $na_i, ', status = ', $status); - ifThen($status != '-' && $status != 'afgekeurd', - $na_totaal_dagen = $na_totaal_dagen + array\at($na_row, 1); - $na_totaal_medisch = $na_totaal_medisch + array\at($na_row, 2); - $na_totaal_homeopathie = $na_totaal_homeopathie + array\at($na_row, 3); - log('warning', 'dagen vermeerderd: ', $na_totaal_dagen, ', en ', $na_totaal_medisch); - ); - $na_i = $na_i + 1; - ); - - // Dan het aantal notulen voor de werkgroepen van dit contact voor het gegeven jaar - // Eerst kijken we of we al groter dan het grensjaar zitten. - // Dit is niet meer voor methode 1. - ifThen($year > $na_methode_1_tot_en_met, - // Nu kunnen we ons best doen. - // Haal de werkgroep lidmaatschappen op die geldig zijn voor dit jaar. - $na_today = datetime\now(); - $na_werkgroepen_ids_1 = record\fetchRelatedManyHash('Contact', $contact_id, - 'werkgroeplidmaatschappen', - 'werkgroepId, datumVanaf', - 'name', 'asc', - 'lidmaatschapBeeindigd=', 0, - 'jaarVanaf<=', $year, - ); - $na_werkgroepen_ids_2 = record\fetchRelatedManyHash('Contact', $contact_id, - 'werkgroeplidmaatschappen', - 'werkgroepId, datumVanaf, datumTotEnMet', - 'name', 'asc', - 'lidmaatschapBeeindigd=', 1, - 'jaarVanaf<=', $year, - 'jaarTotEnMet>=', $year - ); - // Oke, nu hebben we de werkgroep ids. - // En dan kijken naar het aantal verslagen over dit jaar. - // En afkappen op een maximaal aantal dagen. - - $na_werkgroep_verlagen = 0; - - $na_i = 0; - $na_n = array\length($na_werkgroepen_ids_1); - while($na_i < $na_n, - // Verkrijg het aantal notulen >= max(datumVanaf,begin dit jaar) en kleiner einde dit jaar. - $na_row = array\at($na_werkgroepen_ids_1, $na_i); - - $na_werkgroep_id = hash\get($na_row, 'werkgroepId'); - - $na_datumVanaf = hash\get($na_row, 'datumVanaf'); - $na_year_begin = string\concatenate($year, '-01-01'); - $na_end = string\concatenate($year, '-12-31'); - ifThenElse($na_datumVanaf > $na_year_begin, $na_begin = $na_datumVanaf, $na_begin = $na_year_begin); - - log('warning', 'werkgroepid = ', $na_werkgroep_id); - log('warning', 'datum vanaf: ', $na_begin, ' datumVanaf:', $na_datumVanaf, ' year begin:', $na_year_begin); - - $na_count = record\countRel('Werkgroep', $na_werkgroep_id, - 'werkgroepverslagen', - 'datum>=', $na_begin, - 'datum<=', $na_end - ); - - $na_werkgroep_verslagen = $na_werkgroep_verslagen + $na_count; - log('warning', 'count=', $na_count); - - $na_i = $na_i + 1; - ); - - // Oke en nu voor de jaren waarin er een einddatum is gezet. - - $na_i = 0; - $na_n = array\length($na_werkgroepen_ids_2); - while($na_i < $na_n, - // Verkrijg het aantal notulen >= max(datumVanaf,begin dit jaar) en kleiner MIN(datumTotEnMet, einde dit jaar). - $na_row = array\at($na_werkgroepen_ids_2, $na_i); - - $na_werkgroep_id = hash\get($na_row, 'werkgroepId'); - - $na_datumVanaf = hash\get($na_row, 'datumVanaf'); - $na_year_begin = string\concatenate($year, '-01-01'); - ifThenElse($na_datumVanaf > $na_year_begin, $na_begin = $na_datumVanaf, $na_begin = $na_year_begin); - - $na_datumTotEnMet = hash\get($na_row, 'datumTotEnMet'); - $na_year_end = string\concatenate($year, '-12-31'); - ifThenElse($na_datumTotEnMet < $na_year_end, $na_end = $na_datumTotEnMet, $na_end = $na_year_end); - - log('warning', 'werkgroepid = ', $na_werkgroep_id); - log('warning', 'datum vanaf: ', $na_begin, ' datumVanaf:', $na_datumVanaf, ' year begin:', $na_year_begin); - log('warning', 'datum t/m: ', $na_end, ' datumT/M:', $na_datumTotEnMet, ' year end:', $na_year_end); - - $na_count = record\countRel('Werkgroep', $na_werkgroep_id, - 'werkgroepverslagen', - 'datum>=', $na_begin, - 'datum<=', $na_end - ); - - $na_werkgroep_verslagen = $na_werkgroep_verslagen + $na_count; - log('warning', 'count=', $na_count); - - $na_i = $na_i + 1; - ); - - log('warning', 'totaal aantal werkgroep verslagen voor ', $year, ' = ', $na_werkgroep_verslagen); - - // Bereken de zooi. - - $na_totaal_werkgroep = number\floor($na_werkgroep_verslagen / $na_werkgroep_div); - ifThen($na_totaal_werkgroep > $na_werkgroep_max, $na_totaal_werkgroep = $na_totaal_max); - ); - ); - , - log('error', 'Geen nascholingstotaal voor contact_id ', $contact_id, ' en jaar ', $year); - $na_totaal_dagen = 0; - $na_totaal_medisch = 0; - $na_vrijstelling = 0; - $na_totaal_homeopathie = 0; - $na_totaal_werkgroep = 0; - ); -); - -/////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// Bereken de norm & vrijstelling -/////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -$na_dagen_norm_formeel = hash\get(hash\get($na_norm, $year), 'dagen'); -$na_medisch_norm = hash\get(hash\get($na_norm, $year), 'dagenMedisch'); -$na_homeopathie_norm = hash\get(hash\get($na_norm, $year), 'dagenHomeopathie'); - -log('warning', 'nascholingsnorm: jaar: ', $year, ', dagen: ', $na_dagen_norm_formeel, - ', medisch: ', $na_medisch_norm, - ', homeopathie: ', $na_homeopathie_norm - ); - -// $na_vrijstelling is op zich al bekend, maar misschien is er nog dispensatie of registratie jaar -$na_registration = ($year <= $na_reg_jr); -ifThenElse($na_dispensatie, - $na_vrijstelling = $na_dagen_norm_formeel; - , - ifThen($na_registration, - $na_vrijstelling = $na_dagen_norm_formeel; - ); -); - - -$na_dagen_norm = $na_dagen_norm_formeel - $na_vrijstelling; - -log('warning', 'dispensatie=', $na_dispensatie, ', regjr=', $na_registration, ', norm=', $na_dagen_norm); - - -/////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// Bereken het saldo aan dagen -/////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -$na_totaal_alle_dagen = $na_totaal_dagen + $na_totaal_medisch + $na_totaal_homeopathie; -$na_saldo = $na_totaal_alle_dagen - $na_dagen_norm; - -$na_saldo_homeopathie = $na_totaal_homeopathie - $na_homeopathie_norm; -$na_saldo_medisch = $na_totaal_medisch - $na_medisch_norm; - -log('warning', 'totaal alle:', $na_totaal_alle_dagen, - ', saldo:', $na_saldo, - ', saldo hom:', $na_saldo_homeopathie, - ', saldo medisch:', $na_saldo_medisch); - -log('warning', 'no db update = ', $no_db_update); - -/////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// Nascholingstotaal updaten (alleen van belang als we niet al aan het updaten zijn!) -/////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -ifThen(!$no_db_update && $na_id != '', - log('warning', 'Updaten nascholingstotaal: ', $na_id, ' jaar=', $year); - $oke = record\update('Nascholingstotaal', $na_id, - 'dagen', $na_totaal_dagen, - 'dagenMedisch', $na_totaal_medisch, - 'dagenHomeopathie', $na_totaal_homeopathie, - 'dagenWerkgroep', $na_totaal_werkgroep, - 'dagenTotaal', $na_totaal_alle_dagen, - 'dagenSaldo', $na_saldo, - 'homeopathieSaldo', $na_saldo_homeopathie, - 'medischSaldo', $na_saldo_medisch, - 'dagenFormeleNorm', $na_dagen_norm_formeel, - 'medischFormeleNorm', $na_medisch_norm, - 'homeopathieFormeleNorm', $na_homeopathie_norm - ); - - ifThen(!$oke, log('error', 'Update ging niet goed!')); -); - diff --git a/code-current/configs/script-bereken-nascholingstotaal-voor-jaar.descr b/code-current/configs/script-bereken-nascholingstotaal-voor-jaar.descr deleted file mode 100644 index 130c508..0000000 --- a/code-current/configs/script-bereken-nascholingstotaal-voor-jaar.descr +++ /dev/null @@ -1,40 +0,0 @@ -Berekent een nascholingstotaal voor een contact **$contact_id** en voor jaar **$year**. - -Indien global\get('nascholingstotalen-niet-herberekenen') gezet is, zal een opgeslagen Nascholingstotaal niet tot herberekening leiden. NB. Dit gebeurt als formule bij 'Nascholingstotaal' (afterSave). - -Indien $no_db_update == true, dan worden de resultaten niet opgeslagen bij het betreffende Nascholingstotaal en kunnen alleen de uitgangsvariabelen worden gebruikt. Het script dient dan gestart te worden met $na_totaal_dagen, $na_totaal_medisch, $na_vrijstelling, $na_start_surplus, $na_totaal_werkgroep en $na_handmatig. - -Voor het gegeven Lid: - -- $na_diploma_jr - jaar van diploma van het gegeven contact. In het jaar van afstuderen geldt geen normering. -- $na_dispensatie - of er dispensatie is in algemene zin voor het lid (niet jaar gebonden). -- $na_id - het id van het nascholingstotaal record (, als die er niet is). - -De totalen en saldi: - -- $na_totaal_dagen - het totaal aantal overige dagen, -- $na_totaal_medisch - het totaal aantal gevolgde medische dagen, -- $na_totaal_homeopathie - het totaal aantal gevolgde dagen klassieke homeopathie, -- $na_totaal_werkgroep - het totaal aantal dagen voor werkgroepverslagen (max 2), -- $na_saldo - het saldo na aftrek van $na_dagen_norm, -- $na_medisch_saldo - het saldo na aftrek van $na_medisch_norm, -- $na_homeopathie_saldo - het saldo na aftrek van $na_homeopathie_norm, -- $na_vrijstelling - het aantal geregistreerde vrijstellingsdagen voor de het gegeven jaar of, als dispensatie of als $year = jaar van afstuderen: = $na_dagen_norm_formeel. - -Examenjaar -- $na_examenjaar - true als het jaar voor het examenjaar ligt of gelijk is daaraan. - -De normen: - -- $na_dagen_norm - $na_dagen_norm_formeel - $na_vrijstelling -- $na_dagen_norm_formeel - het formele totaal aantal dagen te volgen nascholing voor het gegeven jaar $year -- $na_medisch_norm - het formeel aantal te volgen medische dagen voor het gegeven jaar $year -- $na_homeopathie_norm - het formeel aantal te volgen dagen klassieke homeopathie voor het gegeven jaar $year -- $na_meeneem_norm - het maximaal aantal mee te nemen dagen voor het gegeven jaar $year - -zijn daarna beschikbaar. - -Berekent het totaal aantal dagen homeopathie, dagen medisch, norm dagen, formele norm dagen en saldo dagen aan de hand van de geregistreerde nascholingen, tenzij het betrokken nascholingstotaal record op handmatig staat. - - - diff --git a/code-current/configs/script-bereken-nascholingstotaal-voor-jaar.id b/code-current/configs/script-bereken-nascholingstotaal-voor-jaar.id deleted file mode 100644 index 7daea1a..0000000 --- a/code-current/configs/script-bereken-nascholingstotaal-voor-jaar.id +++ /dev/null @@ -1 +0,0 @@ -5efb0f592364cb273 \ No newline at end of file diff --git a/code-current/configs/script-bereken-nascholingstotaal-voor-jaar.js b/code-current/configs/script-bereken-nascholingstotaal-voor-jaar.js deleted file mode 100644 index 5f61303..0000000 --- a/code-current/configs/script-bereken-nascholingstotaal-voor-jaar.js +++ /dev/null @@ -1,347 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// Initialiseren -/////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -$na_diploma_dt = record\attribute('Contact', $contact_id, 'vakopleidingDatumDiploma'); -$na_dispensatie = record\attribute('Contact', $contact_id, 'dispensatie'); -$na_regiocode = record\attribute('Contact', $contact_id, 'regiocode'); -$na_regiocode_str = $na_regiocode; -$na_regiocode = toInt($na_regiocode); // regiocode numeriek maken -$na_diploma_jr = datetime\year($na_diploma_dt); - -ifThen(!global\isset('nascholingsnorm-hash'), - $na_script = configGet('script-lees-nascholingsnorm-hash'); - Exec($na_script); -); -$na_norm = global\get('nascholingsnorm-hash'); - -$na_id = ''; - -$na_methode_1_tot_en_met = configGet('berekening-methode-1-tot-en-met'); -$na_werkgroep_div = configGet('werkgroep-dagen-deel-factor'); -$na_werkgroep_max = configGet('werkgroep-dagen-max'); - -/////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// Bereken de totalen dagen en dagenMedisch. -/////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -ifThen(!$no_db_update, - $na_recs = record\fetchManyHash('Nascholingstotaal', - 'id, dagen, dagenMedisch, dagenHomeopathie, dagenWerkgroep, handmatig, dagenVrijstelling, nascholingsnormId, startSurplus', - 'createdAt', 'asc', - 'contactId=', $contact_id, - 'jaar=', $year - ); - $na_nrecs = array\length($na_recs); - - ifThenElse($na_nrecs > 0, - $na_rec = array\at($na_recs, 0); - - $na_id = hash\get($na_rec, 'id'); - $na_handmatig = hash\get($na_rec, 'handmatig'); - $na_vrijstelling = hash\get($na_rec, 'dagenVrijstelling'); - $na_start_surplus = hash\get($na_rec, 'startSurplus'); - $na_current_norm_id = hash\get($na_rec, 'nascholingsnormId'); - - log('warning', 'Berekenen nascholingen voor jaar: ', $year, ', na_id = ', $na_id); - - // Zolang de totalen handmatig zijn, wordt er niets berekend. - ifThenElse($na_handmatig, - $na_totaal_dagen = hash\get($na_rec, 'dagen'); - $na_totaal_medisch = hash\get($na_rec, 'dagenMedisch'); - $na_totaal_homeopathie = hash\get($na_rec, 'dagenHomeopathie'); - $na_totaal_werkgroep = hash\get($na_rec, 'dagenWerkgroep'); - log('warning', 'Handmatige nascholing, er wordt niets berekend'); - log('warning', 'medisch:', $na_totaal_medisch, ', hom:', $na_totaal_homeopathie, - ', werkgr:', $na_totaal_werkgroep, ', homoverig:', $na_totaal_dagen); - , - // Totalen op 0, dit is een te berekenen nascholing - $na_totaal_dagen = 0; - $na_totaal_medisch = 0; - $na_totaal_homeopathie = 0; - $na_totaal_werkgroep = 0; - - // De goedgekeurde handmatige en geaccrediteerde nascholingen - // kan nog steeds met methode 1. - $na_rows = record\fetchRelatedMany( - 'Nascholingstotaal', $na_id, 'nascholingen1', - 'jaar, dagen, dagenMedisch, dagenHomeopathie, status, name', - 'jaar', 'asc', - 'jaar=', $year - ); - $na_i = 0; - $na_n = array\length($na_rows); - log('warning', '#nascholingen gerelateerd aan nascholingstotaal:', $na_n); - - while($na_i < $na_n, - $na_row = array\at($na_rows, $na_i); - $status = array\at($na_row, 4); - $name = array\at($na_row, 5); - log('warning', 'i = ', $na_i, ', status = ', $status); - ifThen($status != '-' && $status != 'afgekeurd', - $na_totaal_dagen = $na_totaal_dagen + array\at($na_row, 1); - $na_totaal_medisch = $na_totaal_medisch + array\at($na_row, 2); - $na_totaal_homeopathie = $na_totaal_homeopathie + array\at($na_row, 3); - log('warning', 'Dagen: hom:', $na_totaal_homeopathie, ', dagen: ', $na_totaal_dagen, ', medisch:', $na_totaal_medisch); - ); - $na_i = $na_i + 1; - ); - - // Dan het aantal notulen voor de werkgroepen van dit contact voor het gegeven jaar - // Eerst kijken we of we al groter dan het grensjaar zitten. - // Dit is niet meer voor methode 1. - ifThen($year > $na_methode_1_tot_en_met, - // Nu kunnen we ons best doen. - // Haal de werkgroep lidmaatschappen op die geldig zijn voor dit jaar. - $na_today = datetime\now(); - $na_werkgroepen_ids_1 = record\fetchRelatedManyHash('Contact', $contact_id, - 'werkgroeplidmaatschappen', - 'werkgroepId, datumVanaf', - 'name', 'asc', - 'lidmaatschapBeeindigd=', 0, - 'jaarVanaf<=', $year, - ); - $na_werkgroepen_ids_2 = record\fetchRelatedManyHash('Contact', $contact_id, - 'werkgroeplidmaatschappen', - 'werkgroepId, datumVanaf, datumTotEnMet', - 'name', 'asc', - 'lidmaatschapBeeindigd=', 1, - 'jaarVanaf<=', $year, - 'jaarTotEnMet>=', $year - ); - // Oke, nu hebben we de werkgroep ids. - // En dan kijken naar het aantal verslagen over dit jaar. - // En afkappen op een maximaal aantal dagen. - - $na_werkgroep_verslagen = 0; - - $na_n = array\length($na_werkgroepen_ids_1); - log('warning', 'Werkgroepen die niet beëindigd zijn :', $na_n); - $na_i = 0; - while($na_i < $na_n, - // Verkrijg het aantal notulen >= max(datumVanaf,begin dit jaar) en kleiner einde dit jaar. - $na_row = array\at($na_werkgroepen_ids_1, $na_i); - - $na_werkgroep_id = hash\get($na_row, 'werkgroepId'); - - $na_datumVanaf = hash\get($na_row, 'datumVanaf'); - $na_year_begin = string\concatenate($year, '-01-01'); - $na_end = string\concatenate($year, '-12-31'); - ifThenElse($na_datumVanaf > $na_year_begin, - $na_begin = $na_datumVanaf, - $na_begin = $na_year_begin); - - log('warning', 'werkgroepid = ', $na_werkgroep_id); - log('warning', 'datum vanaf: ', $na_begin, ', datum eind:', $na_end); - - $na_count = record\countRel('Werkgroep', $na_werkgroep_id, - 'werkgroepverslagen', - 'datum>=', $na_begin, - 'datum<=', $na_end - ); - - $na_werkgroep_verslagen = $na_werkgroep_verslagen + $na_count; - log('warning', 'notulen count=', $na_count, ', werkgroep verslagen=', $na_werkgroep_verslagen); - - $na_i = $na_i + 1; - ); - - // Oke en nu voor de jaren waarin er een einddatum is gezet. - - $na_n = array\length($na_werkgroepen_ids_2); - log('warning', 'Werkgroepen met een einddatum:', $na_n); - $na_i = 0; - while($na_i < $na_n, - // Verkrijg het aantal notulen >= max(datumVanaf,begin dit jaar) en kleiner MIN(datumTotEnMet, einde dit jaar). - $na_row = array\at($na_werkgroepen_ids_2, $na_i); - - $na_werkgroep_id = hash\get($na_row, 'werkgroepId'); - - $na_datumVanaf = hash\get($na_row, 'datumVanaf'); - $na_year_begin = string\concatenate($year, '-01-01'); - ifThenElse($na_datumVanaf > $na_year_begin, - $na_begin = $na_datumVanaf, - $na_begin = $na_year_begin); - - $na_datumTotEnMet = hash\get($na_row, 'datumTotEnMet'); - $na_year_end = string\concatenate($year, '-12-31'); - ifThenElse($na_datumTotEnMet < $na_year_end, - $na_end = $na_datumTotEnMet, - $na_end = $na_year_end); - - log('warning', 'werkgroepid = ', $na_werkgroep_id); - log('warning', 'datum vanaf: ', $na_begin, ', datum einde:', $na_end); - - $na_count = record\countRel('Werkgroep', $na_werkgroep_id, - 'werkgroepverslagen', - 'datum>=', $na_begin, - 'datum<=', $na_end - ); - - $na_werkgroep_verslagen = $na_werkgroep_verslagen + $na_count; - log('warning', 'notulen count=', $na_count, ', werkgroep verslagen=', $na_werkgroep_verslagen); - - $na_i = $na_i + 1; - ); - - log('warning', 'totaal aantal werkgroep verslagen voor ', $year, ' = ', $na_werkgroep_verslagen); - - // Bereken de zooi. - - $na_totaal_werkgroep = number\floor($na_werkgroep_verslagen / $na_werkgroep_div); - ifThen($na_totaal_werkgroep > $na_werkgroep_max, $na_totaal_werkgroep = $na_werkgroep_max); - ); - ); - , - log('error', 'Geen nascholingstotaal voor contact_id ', $contact_id, ' en jaar ', $year); - $na_totaal_dagen = 0; - $na_totaal_medisch = 0; - $na_vrijstelling = 0; - $na_totaal_homeopathie = 0; - $na_totaal_werkgroep = 0; - ); -); - -/////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// Bereken de norm & vrijstelling -/////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -$norm_key = $year; -ifThen($na_regiocode == 8, - log('warning', 'Afwijkende norm key'); - $norm_key = string\concatenate($year, '-', $na_regiocode_str); -); -log('warning', 'Regiocode=', $na_regiocode, ', str=', $na_regiocode_str, ', Norm key = ', $norm_key); - -$na_dagen_norm_formeel = hash\get(hash\get($na_norm, $norm_key), 'dagen'); -$na_medisch_norm = hash\get(hash\get($na_norm, $norm_key), 'dagenMedisch'); -$na_homeopathie_norm = hash\get(hash\get($na_norm, $norm_key), 'dagenHomeopathie'); -$na_max_meenemen = hash\get(hash\get($na_norm, $norm_key), 'meeneemNorm'); -$na_norm_id = hash\get(hash\get($na_norm, $norm_key), 'id'); -$na_norm_name = hash\get(hash\get($na_norm, $norm_key), 'name'); - -log('warning', 'nascholingsnorm: jaar: ', $year, ', dagen: ', $na_dagen_norm_formeel, - ', medisch: ', $na_medisch_norm, - ', homeopathie: ', $na_homeopathie_norm, - ', max meenemen: ', $na_max_meenemen, - ', start surplus: ', $na_start_surplus, - ', norm_id:', $na_norm_id, - ', norm_name:', $na_norm_name - ); - -// -// $na_vrijstelling is op zich al bekend, maar misschien is er nog dispensatie of registratie jaar -// $na_vrijstelling = MIN($na_vrijstelling, $na_dagen_norm_formeel – $na_homeopahie_norm – $na_medisch_norm) -// -$na_registration = ($year <= $na_diploma_jr); -$na_examenjaar = false; -ifThenElse($year <= $na_methode_1_tot_en_met, - $na_max_vrijstelling = $na_dagen_norm_formeel; -, - $na_max_vrijstelling = $na_dagen_norm_formeel - $na_homeopathie_norm - $na_medisch_norm; -); - -ifThen($na_vrijstelling > $na_max_vrijstelling, $na_vrijstelling = $na_max_vrijstelling); - -ifThenElse($na_dispensatie, - $na_vrijstelling = $na_max_vrijstelling; - , - ifThen($na_registration, - $na_dagen_norm_formeel = 0; - $na_medisch_norm = 0; - $na_homeopathie_norm = 0; - $na_examenjaar = true; - ); -); - -$na_dagen_norm = $na_dagen_norm_formeel; - -// Het aantal start dagen surplus kan nooit de norm overschrijden. -// startSurplus wordt alleen bij het 2013 record gebruikt, m.a.w. voor mensen die daarvoor -// al lid waren. In alle andere gevallen is $na_start_surplus gelijk aan 0. -ifThen($na_start_surplus > $na_dagen_norm_formeel, $na_start_surplus = $na_dagen_norm_formeel); - -log('warning', 'dispensatie=', $na_dispensatie, ', regjr=', $na_registration, - ', norm=', $na_dagen_norm, ', start surplus=', $na_start_surplus, ', dagen vrijstelling=', $na_vrijstelling, ', max vrijstelling=', $na_max_vrijstelling); - -/////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// Bereken het saldo aan dagen -/////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -log('warning', 'medisch:', $na_totaal_medisch, ', hom:', $na_totaal_homeopathie, - ', werkgr:', $na_totaal_werkgroep, ', homoverig:', $na_totaal_dagen); - -log('warning', 'year=', $year, ', na_methode_1_tot_en_met=', $na_methode_1_tot_en_met); - -/* -ifThenElse($year < $na_methode_1_tot_en_met, - $na_totaal_homeopathie = $na_totaal_homeopathie + $na_start_surplus + $na_vrijstelling; - $na_totaal_alle_dagen = $na_totaal_homeopathie; -, - ifThenElse($year == $na_methode_1_tot_en_met, - $na_totaal_homeopathie = $na_totaal_homemopathie + $na_start_surplus + $na_vrijstelling; - $na_totaal_alle_dagen = $na_totaal_dagen + $na_totaal_medisch + $na_totaal_homeopathie + $na_totaal_werkgroep; - , - $na_totaal_homeopathie = $na_totaal_homeopathie + $na_start_surplus; - $na_totaal_alle_dagen = $na_totaal_dagen + $na_totaal_medisch + $na_totaal_homeopathie + $na_totaal_werkgroep + $na_vrijstelling; - ); -); -*/ - -ifThenElse($year < $na_methode_1_tot_en_met, - $na_saldo_homeopathie = $na_totaal_homeopathie + $na_start_surplus + $na_vrijstelling; - $na_saldo = $na_saldo_homeopathie; - $na_totaal_alle_dagen = $na_saldo_homemopathie; -, - ifThenElse($year == $na_methode_1_tot_en_met, - $na_saldo_homeopathie = $na_totaal_homeopathie + $na_start_surplus + $na_vrijstelling; - $na_saldo = $na_saldo_homeopathie + $na_totaal_medisch; - $na_totaal_alle_dagen = $na_saldo; - , - $na_saldo_homeopathie = $na_totaal_homeopathie + $na_start_surplus; - $na_saldo = $na_saldo_homeopathie + $na_totaal_medisch + $na_totaal_dagen + $na_vrijstelling + $na_totaal_werkgroep; - $na_totaal_alle_dagen = $na_saldo; - ); -); - -$na_saldo_homeopathie = $na_saldo_homeopathie - $na_homeopathie_norm; -$na_saldo = $na_saldo - $na_dagen_norm; -$na_saldo_medisch = $na_totaal_medisch - $na_medisch_norm; - -log('warning', 'totaal alle:', $na_totaal_alle_dagen, - ', saldo:', $na_saldo, - ', saldo hom:', $na_saldo_homeopathie, - ', saldo medisch:', $na_saldo_medisch); - -log('warning', 'no db update = ', $no_db_update, ', na_id = ', $na_id); -log('warning', 'na_examenjaar = ', $na_examenjaar); - -/////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// Nascholingstotaal updaten (alleen van belang als we niet al aan het updaten zijn!) -/////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -ifThen(!$no_db_update && $na_id != '', - // Updaten van het record leidt tot herberekening - // Het relateren van de nascholingsnorm gebeurt bij de record herberekening. - // Dus dat moeten we hier niet willen doen... - - // Updaten van het record leidt tot herberekening, dus we moeten even oppassen. - log('warning', 'Updaten nascholingstotaal: ', $na_id, ' jaar=', $year); - $oke = record\update('Nascholingstotaal', $na_id, - 'dagen', $na_totaal_dagen, - 'dagenMedisch', $na_totaal_medisch, - 'dagenHomeopathie', $na_totaal_homeopathie, - 'dagenWerkgroep', $na_totaal_werkgroep, - 'dagenTotaal', $na_totaal_alle_dagen, - 'dagenSaldo', $na_saldo, - 'homeopathieSaldo', $na_saldo_homeopathie, - 'medischSaldo', $na_saldo_medisch, - 'dagenFormeleNorm', $na_dagen_norm_formeel, - 'medischFormeleNorm', $na_medisch_norm, - 'homeopathieFormeleNorm', $na_homeopathie_norm, - 'maxMeenemen', $na_max_meenemen, - 'examenjaar', $na_examenjaar - ); - ifThen(!$oke, log('error', 'Update ging niet goed!')); -); - diff --git a/code-current/configs/script-bereken-nascholingstotalen.descr b/code-current/configs/script-bereken-nascholingstotalen.descr deleted file mode 100644 index 83b3c81..0000000 --- a/code-current/configs/script-bereken-nascholingstotalen.descr +++ /dev/null @@ -1,7 +0,0 @@ -Verwachte parameters: - -- $contact_id bevat het id van het contact - -Herberekent de nascholingstotalen voor een gegeven contact en update de betrokken records, indien dat nodig is. - -Preconditie is dat voor alle Nascholingstotaal records van het contact al de individuele berekening is gebeurd. Dus de saldi zijn al berekend. diff --git a/code-current/configs/script-bereken-nascholingstotalen.id b/code-current/configs/script-bereken-nascholingstotalen.id deleted file mode 100644 index 14457f9..0000000 --- a/code-current/configs/script-bereken-nascholingstotalen.id +++ /dev/null @@ -1 +0,0 @@ -5efa39d03a099006b \ No newline at end of file diff --git a/code-current/configs/script-bereken-nascholingstotalen.js b/code-current/configs/script-bereken-nascholingstotalen.js deleted file mode 100644 index 3b1fe12..0000000 --- a/code-current/configs/script-bereken-nascholingstotalen.js +++ /dev/null @@ -1,948 +0,0 @@ -//exec last execution: Fri Jan 20 2023 15:56:21 GMT+0100 (Midden-Europese standaardtijd) - -/////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// Initialisatie -/////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -log('warning', 'Doorrekenen voor contact ', $contact_id); - -$na_reg_dt = record\attribute('Contact', $contact_id, 'datumRegistratie'); -$na_reg_jr = datetime\year($na_reg_dt); - -$na_methode_1_max_jaar = configGet('berekening-methode-1-tot-en-met'); -$na_methode_1_max_surplus = configGet('berekening-methode-1-max-surplus'); -$na_style_rubric = configGet('nascholingstotaal-rapport-jaar-rubric-style'); -$na_style_dagen = configGet('nascholingstotaal-rapport-jaar-dagen-style'); -$na_style_dagen_inspr = configGet('nascholingstotaal-rapport-jaar-dagen-style-inspr'); -$na_style_dagen_inspr2 = configGet('nascholingstotaal-rapport-jaar-dagen-style-inspr2'); -$na_style_nstd_goed = configGet('nascholingstotaal-rapport-jaar-nstd-goed-style'); -$na_style_nstd_goed_report = configGet('nascholingstotaal-rapport-jaar-nstd-goed-report-style'); -$na_style_nstd_tekort = configGet('nascholingstotaal-rapport-jaar-nstd-tekort-style'); -$na_style_nstd_tekort_report = configGet('nascholingstotaal-rapport-jaar-nstd-tekort-report-style'); -$na_style_nstd_nvt = configGet('nascholingstotaal-rapport-jaar-nstd-nvt-style'); -$na_style_bepaald = configGet('nascholingstotaal-rapport-jaar-nstd-bepaald-style'); -$na_style_bepaald_report = configGet('nascholingstotaal-rapport-jaar-nstd-bepaald-report-style'); -$na_style_onbepaald = configGet('nascholingstotaal-rapport-jaar-nstd-onbepaald-style'); -$na_style_onbepaald_report = configGet('nascholingstotaal-rapport-jaar-nstd-onbepaald-report-style'); -$na_style_kop = configGet('nascholingstotaal-rapport-jaar-kop-style'); -$na_style_probleem = configGet('nascholingstotaal-rapport-probleem-style'); -$na_style_waarschuwing = configGet('nascholingstotaal-rapport-waarschuwing-style'); -$na_style_sub_rubric = configGet('nascholingstotaal-rapport-sub-rubriek-style'); -$na_style_sub2_rubric = configGet('nascholingstotaal-rapport-sub2-rubriek-style'); - -$na_nascholing_onvoldoende = false; - -/////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// Haal eerst alle nascholingstotalen voor een contact op, in volgorde van jaar. -/////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -$na_geen_status_vanaf_jaar = datetime\year(datetime\now()) - 1; - -$na_in_calc_key = string\concatenate('nascholingstotalen-in-berekening-voor', $contact_id); -global\set($na_in_calc_key, true); - -$na_rows = record\fetchManyHash('Nascholingstotaal', - 'id, jaar, dagen, dagenMedisch, dagenHomeopathie, dagenTotaal, medischSaldo, homeopathieSaldo, dagenSaldo, saldoNaCorrectie, dagenWerkgroep, dagenVrijstelling, status, berekeningsUitleg, startSurplus, dagenFormeleNorm, homeopathieFormeleNorm, medischFormeleNorm, maxMeenemen, examenjaar, handmatig, surplus, surplusHomeopathie, surplusMedisch', - 'jaar', 'asc', - 'contactId=', $contact_id, - ); - -$na_n = array\length($na_rows); - -/////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// Initialiseer om te beginnen alle surplussen op de saldo's van een jaar. -// Daarna gaan we de zaak verdelen. -/////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -$na_i = 0; -while($na_i < $na_n, - $na_row = array\at($na_rows, $na_i); - - $na_jaar = hash\get($na_row, 'jaar'); - - $na_calc_tot = hash\get($na_row, 'dagenSaldo'); - $na_calc_med = hash\get($na_row, 'medischSaldo'); - $na_calc_hom = hash\get($na_row, 'homeopathieSaldo'); - - $na_row = hash\set($na_row, 'surplus', $na_calc_tot); - $na_row = hash\set($na_row, 'surplusMedisch', $na_calc_med); - $na_row = hash\set($na_row, 'surplusHomeopathie', $na_calc_hom); - $na_row = hash\set($na_row, 'meegenomen', 0); - $na_row = hash\set($na_row, 'meegenomen_hom', 0); - $na_row = hash\set($na_row, 'meegenomen_med', 0); - - $na_row = hash\set($na_row, 'correctie_uit_opvolgend_jaar', 0); - $na_row = hash\set($na_row, 'correctie_uit_opvolgend_jaar_hom', 0); - $na_row = hash\set($na_row, 'correctie_uit_opvolgend_jaar_med', 0); - - $na_row = hash\set($na_row, 'tekort', $na_calc_tot); - $na_row = hash\set($na_row, 'tekort_hom', $na_calc_hom); - $na_row = hash\set($na_row, 'tekort_med', $na_calc_med); - - $na_row = hash\set($na_row, 'tekort_aangevuld_vanuit', ''); - $na_row = hash\set($na_row, 'tekort_aangevuld_naar', ''); - $na_row = hash\set($na_row, 'correctie_aangevuld_vanuit', 0); - $na_row = hash\set($na_row, 'correctie_aangevuld_naar', 0); - - $na_uitleg = ''; - $na_uitleg_hom = ''; - $na_uitleg_med = ''; - - $na_dagen_hom = hash\get($na_row, 'dagenHomeopathie'); - $na_dagen_med = hash\get($na_row, 'dagenMedisch'); - $na_dagen = hash\get($na_row, 'dagenTotaal'); - $na_vrijstelling = hash\get($na_row, 'dagenVrijstelling'); - $na_werkgroep = hash\get($na_row, 'dagenWerkgroep'); - $na_overig = hash\get($na_row, 'dagen'); - $na_start_surplus = hash\get($na_row, 'startSurplus'); - strAdd($na_uitleg_hom, '[IDagen gevolgd :I][NI', number\format($na_dagen_hom, 2), ']%%'); - - ifThen($na_jaar == $na_methode_1_max_jaar, - strAdd($na_uitleg_med, '[IDagen gevolgd :I][NI', number\format($na_dagen_med, 2), ']%%'); - ); - - ifThenElse($na_jaar > $na_methode_1_max_jaar, - strAdd($na_uitleg_med, '[IDagen gevolgd :I][NI', number\format($na_dagen_med, 2), ']%%'); - ifThen($na_start_surplus > 0, - strAdd($na_uitleg, '[IDagen Start Surplus :I][NI', number\format($na_start_surplus, 2), ']%%'); - strAdd($na_uitleg_hom, '[IDagen Start Surplus :I][NI', number\format($na_start_surplus, 2), ']%%'); - ); - strAdd($na_uitleg, '[IDagen Klassieke Homeopathie gevolgd :I][NI', number\format($na_dagen_hom, 2), ']%%'); - strAdd($na_uitleg, '[IDagen Medisch gevolgd :I][NI', number\format($na_dagen_med, 2), ']%%'); - strAdd($na_uitleg, '[IDagen Overig gevolgd :I][NI', number\format($na_overig, 2), ']%%'); - strAdd($na_uitleg, '[IDagen Werkgroep :I][NI', number\format($na_werkgroep, 2), ']%%'); - ifThen($na_vrijstelling > 0, - strAdd($na_uitleg, '[IDagen Vrijstelling :I][NI', number\format($na_vrijstelling, 2), ']%%'); - ); - strAdd($na_uitleg, '[TNascholingsdagen :I][N', number\format($na_dagen, 2), ']%%'); - , - strAdd($na_uitleg, '[IDagen Klassieke Homeopathie gevolgd :I][NI', number\format($na_dagen_hom, 2), ']%%'); - ifThen($na_start_surplus > 0, - strAdd($na_uitleg, '[IDagen Start Surplus :I][NI', number\format($na_start_surplus, 2), ']%%'); - strAdd($na_uitleg_hom, '[IDagen Start Surplus :I][NI', number\format($na_start_surplus, 2), ']%%'); - ); - ifThen($na_jaar == $na_methode_1_max_jaar, - strAdd($na_uitleg, '[IDagen Medisch gevolgd :I][NI', number\format($na_dagen_med, 2), ']%%'); - ); - ifThen($na_vrijstelling > 0, - strAdd($na_uitleg, '[IDagen Vrijstelling :I][NI', number\format($na_vrijstelling, 2), ']%%'); - strAdd($na_uitleg_hom, '[IDagen Vrijstelling :I][NI', number\format($na_vrijstelling, 2), ']%%'); - ); - ); - - $na_norm_hom = hash\get($na_row, 'homeopathieFormeleNorm'); - $na_norm_med = hash\get($na_row, 'medischFormeleNorm'); - $na_norm = hash\get($na_row, 'dagenFormeleNorm'); - strAdd($na_uitleg_hom, '[INorm Homeopathie :I][NI', number\format($na_norm_hom, 2), ']%%'); - ifThenElse($na_jaar > $na_methode_1_max_jaar, - strAdd($na_uitleg_med, '[INorm Medisch :I][NI', number\format($na_norm_med, 2), ']%%'); - strAdd($na_uitleg, '[INorm Nascholingsdagen :I][NI', number\format($na_norm, 2), ']%%'); - , - strAdd($na_uitleg, '[INorm Nascholingsdagen :I][NI', number\format($na_norm, 2), ']%%'); - ); - - strAdd($na_uitleg_hom, '[TSaldo :I][N', number\format($na_calc_hom, 2), ']%%'); - ifThenElse($na_jaar >= $na_methode_1_max_jaar, - strAdd($na_uitleg_med, '[TSaldo :I][N', number\format($na_calc_med, 2), ']%%'); - strAdd($na_uitleg, '[TSaldo :I][N', number\format($na_calc_tot, 2), ']%%'); - , - strAdd($na_uitleg, '[TSaldo :I][N', number\format($na_calc_tot, 2), ']%%'); - ); - - $na_row = hash\set($na_row, 'uitleg', $na_uitleg); - $na_row = hash\set($na_row, 'uitleg_hom', $na_uitleg_hom); - $na_row = hash\set($na_row, 'uitleg_med', $na_uitleg_med); - $na_rows = array\set($na_rows, $na_i, $na_row); - $na_i = $na_i + 1; -); - -/////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// Pas de doorschuif berekening toe. -// Behalve dan dat we maximaal de norm aan dagen meenemen naar het volgende jaar. -/////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -$na_j_first_hom = 0; -$na_j_first_med = 0; -$na_j_first_tot = 0; - -$na_i = 0; -while($na_i < $na_n, - - $na_row = array\at($na_rows, $na_i); - - $na_id = hash\get($na_row, 'id'); - $na_jaar = hash\get($na_row, 'jaar'); - - log('warning', 'na_i=', $na_i, ', id=', $na_id, ', jaar=', $na_jaar); - - $na_norm_hom = hash\get($na_row, 'homeopathieFormeleNorm'); - $na_norm_med = hash\get($na_row, 'medischFormeleNorm'); - $na_norm = hash\get($na_row, 'dagenFormeleNorm'); - - $na_calc_tot = hash\get($na_row, 'surplus'); - $na_calc_med = hash\get($na_row, 'surplusMedisch'); - $na_calc_hom = hash\get($na_row, 'surplusHomeopathie'); - - $na_uitleg = hash\get($na_row, 'uitleg'); - $na_uitleg_hom = hash\get($na_row, 'uitleg_hom'); - $na_uitleg_med = hash\get($na_row, 'uitleg_med'); - $na_tekort_aangevuld_naar = hash\get($na_row, 'tekort_aangevuld_naar'); - $na_correctie_aangevuld_naar = hash\get($na_row, 'correctie_aangevuld_naar'); - - $na_tekort = hash\get($na_row, 'tekort'); - $na_tekort_hom = hash\get($na_row, 'tekort_hom'); - $na_tekort_med = hash\get($na_row, 'tekort_med'); - - $na_correctie_uit_opvolgend_jaar = hash\get($na_row, 'correctie_uit_opvolgend_jaar'); - $na_correctie_uit_opvolgend_jaar_hom = hash\get($na_row, 'correctie_uit_opvolgend_jaar_hom'); - $na_correctie_uit_opvolgend_jaar_med = hash\get($na_row, 'correctie_uit_opvolgend_jaar_med'); - - $na_jaar = hash\get($na_row, 'jaar'); - - $na_max_meenemen = hash\get($na_row, 'maxMeenemen'); - log('warning', 'na_max_meenemen=', $na_max_meenemen); - - $do_adding = true; - - ifThenElse($na_i == 0, - log('warning', '1e jaar'); - log('warning', 'jaar=', $na_jaar, ', calc_hom=', $na_calc_hom, ', calc_med=', $na_calc_med, ', calc_tot=', $na_calc_tot); - $na_j_first_hom = 0; - $na_j_first_med = 0; - $na_j_first_tot = 0; - , - // Check of het saldo van dagen > 0 voor homeopathie, medisch en totaal. - // Zorg dat dat eerst verdeeld wordt naar de voorgaande saldi van jaren. - - log('warning', 'jaar=', $na_jaar, ', calc_hom=', $na_calc_hom, ', calc_med=', $na_calc_med, ', calc_tot=', $na_calc_tot); - - $na_lowest_j = $na_i; - - log('warning', 'jaar=', $na_jaar, ', calc_hom=', $na_calc_hom, ', calc_med=', $na_calc_med, ', calc_tot=', $na_calc_tot); - - // Medisch negatieve correcties - // Alleen als er voldoende surplus is om te compenseren. - // We kijken dan niet naar het totaal, want daar ontstaat dan - // vanzelf een verder tekort als dat aan de orde is. - ifThen(($na_calc_med + $na_norm_med) > 0, - $na_j = $na_j_first_med; - $na_row_j = array\at($na_rows, $na_j); - $na_calc_med_j = hash\get($na_row_j, 'surplusMedisch'); - $na_uitleg_med_j = hash\get($na_row_j, 'uitleg_med'); - $na_uitleg_j = hash\get($na_row_j, 'uitleg'); - $na_tekort_aangevuld_vanuit_j = hash\get($na_row_j, 'tekort_aangevuld_vanuit'); - $na_correctie_aangevuld_vanuit_j = hash\get($na_row_j, 'correctie_aangevuld_vanuit'); - $na_jaar_j = hash\get($na_row_j, 'jaar'); - $na_correctie_uit_opvolgend_jaar_med_j = hash\get($na_row_j, 'correctie_uit_opvolgend_jaar_med'); - $na_correctie_uit_opvolgend_jaar_j = hash\get($na_row_j, 'correctie_uit_opvolgend_jaar'); - while($na_j < $na_i && ($na_calc_med + $na_norm_med) > 0, - while($na_j < $na_i && $na_calc_med_j >= 0, - $na_j = $na_j + 1; - $na_row_j = array\at($na_rows, $na_j); - $na_calc_med_j = hash\get($na_row_j, 'surplusMedisch'); - $na_uitleg_med_j = hash\get($na_row_j, 'uitleg_med'); - $na_uitleg_j = hash\get($na_row_j, 'uitleg'); - $na_tekort_aangevuld_vanuit_j = hash\get($na_row_j, 'tekort_aangevuld_vanuit'); - $na_correctie_aangevuld_vanuit_j = hash\get($na_row_j, 'correctie_aangevuld_vanuit'); - $na_jaar_j = hash\get($na_row_j, 'jaar'); - $na_correctie_uit_opvolgend_jaar_med_j = hash\get($na_row_j, 'correctie_uit_opvolgend_jaar_med'); - $na_correctie_uit_opvolgend_jaar_j = hash\get($na_row_j, 'correctie_uit_opvolgend_jaar'); - ); - - $na_j_first_med = $na_j; - //logAdd(log, 'jaar:', $na_jaar_j, ', tekort_aangevuld_vanuit: ', $na_tekort_aangevuld_vanuit_j); - - ifThen($na_j < $na_i, - ifThen($na_lowest_j > $na_j, $na_lowest_j = $na_j); - $na_correctie = -1 * $na_calc_med_j; - // Zorg dat niet meer dan het saldo kan worden verrekend - ifThen($na_correctie > ($na_calc_med + $na_norm_med), $na_correctie = ($na_calc_med + $na_norm_med)); - - strAdd($na_uitleg_med_j, "[IDagen tekort medisch aangevuld vanuit jaar ", $na_jaar, ":I][NI", number\format($na_correctie, 2), "]%%"); - strAdd($na_tekort_aangevuld_vanuit_j, "[IIWaarvan dagen medisch vanuit jaar ", $na_jaar, ":I][NII", number\format($na_correctie, 2), "]%%"); - strAdd($na_uitleg_med, "[IDagen tekort medisch aangevuld naar jaar ", $na_jaar_j, ":I][NI", number\format(-1 * $na_correctie, 2), "]%%"); - strAdd($na_tekort_aangevuld_naar, "[IIWaarvan dagen medisch naar jaar ", $na_jaar_j, ":I][NII", number\format($na_correctie, 2), "]%%"); - - $na_correctie_aangevuld_vanuit_j = $na_correctie_aangevuld_vanuit_j + $na_correctie; - $na_correctie_aangevuld_naar = $na_correctie_aangevuld_naar + $na_correctie; - - $na_correctie_uit_opvolgend_jaar_med_j = $na_correctie_uit_opvolgend_jaar_med_j + 1; - $na_correctie_uit_opvolgend_jaar_j = $na_correctie_uit_opvolgend_jaar_j + 1; - - $na_calc_med = $na_calc_med - $na_correctie; - $na_tekort_med = $na_tekort_med - $na_correctie; - $na_calc_tot = $na_calc_tot - $na_correctie; - $na_tekort = $na_tekort - $na_correctie; - - $na_calc_j = hash\get($na_row_j, 'surplus'); - $na_calc_j = $na_calc_j + $na_correctie; - $na_calc_med_j = $na_calc_med_j + $na_correctie; - - $na_row_j = hash\set($na_row_j, 'surplusMedisch', $na_calc_med_j); - $na_row_j = hash\set($na_row_j, 'surplus', $na_calc_j); - $na_row_j = hash\set($na_row_j, 'uitleg_med', $na_uitleg_med_j); - $na_row_j = hash\set($na_row_j, 'uitleg', $na_uitleg_j); - $na_row_j = hash\set($na_row_j, 'tekort_aangevuld_vanuit', $na_tekort_aangevuld_vanuit_j); - $na_row_j = hash\set($na_row_j, 'correctie_aangevuld_vanuit', $na_correctie_aangevuld_vanuit_j); - $na_row_j = hash\set($na_row_j, 'correctie_uit_opvolgend_jaar_med', $na_correctie_uit_opvolgend_jaar_med_j); - $na_row_j = hash\set($na_row_j, 'correctie_uit_opvolgend_jaar', $na_correctie_uit_opvolgend_jaar_j); - $na_rows = array\set($na_rows, $na_j, $na_row_j); - - //logAdd(log, 'jaar:', $na_jaar_j, ', tekort_aangevuld_vanuit: ', $na_tekort_aangevuld_vanuit_j); - ); - ); - ); - - // Klassieke Homeopathie negatieve correcties - // Alleen als er voldoende surplus is om te compenseren. - // We kijken dan niet naar het totaal, want daar ontstaat dan - // vanzelf een verder tekort als dat aan de orde is. - ifThen(($na_calc_hom + $na_norm_hom) > 0, - $na_j = $na_j_first_hom; - $na_row_j = array\at($na_rows, $na_j); - $na_calc_hom_j = hash\get($na_row_j, 'surplusHomeopathie'); - $na_uitleg_hom_j = hash\get($na_row_j, 'uitleg_hom'); - $na_uitleg_j = hash\get($na_row_j, 'uitleg'); - $na_tekort_aangevuld_vanuit_j = hash\get($na_row_j, 'tekort_aangevuld_vanuit'); - $na_correctie_aangevuld_vanuit_j = hash\get($na_row_j, 'correctie_aangevuld_vanuit'); - $na_jaar_j = hash\get($na_row_j, 'jaar'); - $na_correctie_uit_opvolgend_jaar_hom_j = hash\get($na_row_j, 'correctie_uit_opvolgend_jaar_hom'); - $na_correctie_uit_opvolgend_jaar_j = hash\get($na_row_j, 'correctie_uit_opvolgend_jaar'); - while($na_j < $na_i && ($na_calc_hom + $na_norm_hom) > 0, - while($na_j < $na_i && $na_calc_hom_j >= 0, - $na_j = $na_j + 1; - $na_row_j = array\at($na_rows, $na_j); - $na_calc_hom_j = hash\get($na_row_j, 'surplusHomeopathie'); - $na_uitleg_hom_j = hash\get($na_row_j, 'uitleg_hom'); - $na_uitleg_j = hash\get($na_row_j, 'uitleg'); - $na_tekort_aangevuld_vanuit_j = hash\get($na_row_j, 'tekort_aangevuld_vanuit'); - $na_correctie_aangevuld_vanuit_j = hash\get($na_row_j, 'correctie_aangevuld_vanuit'); - $na_jaar_j = hash\get($na_row_j, 'jaar'); - $na_correctie_uit_opvolgend_jaar_hom_j = hash\get($na_row_j, 'correctie_uit_opvolgend_jaar_hom'); - $na_correctie_uit_opvolgend_jaar_j = hash\get($na_row_j, 'correctie_uit_opvolgend_jaar'); - ); - $na_j_first_hom = $na_j; - - ifThen($na_j < $na_i, - ifThen($na_lowest_j > $na_j, $na_lowest_j = $na_j); - $na_correctie = -1 * $na_calc_hom_j; - // Zorg dat niet meer dan het saldo kan worden verrekend - ifThen($na_correctie > ($na_calc_hom + $na_norm_hom), $na_correctie = ($na_calc_hom + $na_norm_hom)); - - strAdd($na_uitleg_hom_j, "[IDagen tekort homeopathie aangevuld vanuit jaar ", $na_jaar, ":I][NI", number\format($na_correctie, 2), "]%%"); - strAdd($na_tekort_aangevuld_vanuit_j, "[IIWaarvan dagen homeopathie vanuit jaar ", $na_jaar, ":I][NII", number\format($na_correctie, 2), "]%%"); - strAdd($na_uitleg_hom, "[IDagen tekort homeopathie aangevuld naar jaar ", $na_jaar_j, ":I][NI", number\format(-1 * $na_correctie, 2), "]%%"); - strAdd($na_tekort_aangevuld_naar, "[IIWaarvan dagen homeopathie naar jaar ", $na_jaar_j, ":I][NII", number\format($na_correctie, 2), "]%%"); - - $na_correctie_aangevuld_vanuit_j = $na_correctie_aangevuld_vanuit_j + $na_correctie; - $na_correctie_aangevuld_naar = $na_correctie_aangevuld_naar + $na_correctie; - - $na_correctie_uit_opvolgend_jaar_hom_j = $na_correctie_uit_opvolgend_jaar_hom_j + 1; - $na_correctie_uit_opvolgend_jaar_j = $na_correctie_uit_opvolgend_jaar_j + 1; - - $na_calc_hom = $na_calc_hom - $na_correctie; - $na_tekort_hom = $na_tekort_hom - $na_correctie; - $na_calc_tot = $na_calc_tot - $na_correctie; - $na_tekort = $na_tekort - $na_correctie; - - $na_calc_j = hash\get($na_row_j, 'surplus'); - $na_calc_j = $na_calc_j + $na_correctie; - $na_calc_hom_j = $na_calc_hom_j + $na_correctie; - - $na_row_j = hash\set($na_row_j, 'surplusHomeopathie', $na_calc_hom_j); - $na_row_j = hash\set($na_row_j, 'surplus', $na_calc_j); - $na_row_j = hash\set($na_row_j, 'uitleg_hom', $na_uitleg_hom_j); - $na_row_j = hash\set($na_row_j, 'uitleg', $na_uitleg_j); - $na_row_j = hash\set($na_row_j, 'tekort_aangevuld_vanuit', $na_tekort_aangevuld_vanuit_j); - $na_row_j = hash\set($na_row_j, 'correctie_aangevuld_vanuit', $na_correctie_aangevuld_vanuit_j); - $na_row_j = hash\set($na_row_j, 'correctie_uit_opvolgend_jaar_hom', $na_correctie_uit_opvolgend_jaar_hom_j); - $na_row_j = hash\set($na_row_j, 'correctie_uit_opvolgend_jaar', $na_correctie_uit_opvolgend_jaar_j); - $na_rows = array\set($na_rows, $na_j, $na_row_j); - - //$ff = hash\get($na_row_j, 'tekort_aangevuld_vanuit'); - //logAdd(log, 'jaar:', $na_jaar_j, ', tekort_aangevuld_vanuit: ', $na_tekort_aangevuld_vanuit_j, ', ff:', $ff); - ); - ); - ); - - log('warning', 'jaar=', $na_jaar, ', calc_hom=', $na_calc_hom, ', calc_med=', $na_calc_med, ', calc_tot=', $na_calc_tot); - - // Totaal negatieve correcties - // Alleen als er voldoende surplus is om te compenseren. - ifThen(($na_calc_tot + $na_norm) > 0, - $na_j = $na_j_first_tot; - $na_row_j = array\at($na_rows, $na_j); - $na_calc_j = hash\get($na_row_j, 'surplus'); - $na_uitleg_j = hash\get($na_row_j, 'uitleg'); - $na_tekort_aangevuld_vanuit_j = hash\get($na_row_j, 'tekort_aangevuld_vanuit'); - $na_correctie_aangevuld_vanuit_j = hash\get($na_row_j, 'correctie_aangevuld_vanuit'); - $na_jaar_j = hash\get($na_row_j, 'jaar'); - $na_correctie_uit_opvolgend_jaar_j = hash\get($na_row_j, 'correctie_uit_opvolgend_jaar'); - while($na_j < $na_i && ($na_calc_tot + $na_norm) > 0, - while($na_j < $na_i && $na_calc_j >= 0, - $na_j = $na_j + 1; - $na_row_j = array\at($na_rows, $na_j); - $na_calc_j = hash\get($na_row_j, 'surplus'); - $na_uitleg_j = hash\get($na_row_j, 'uitleg'); - $na_tekort_aangevuld_vanuit_j = hash\get($na_row_j, 'tekort_aangevuld_vanuit'); - $na_correctie_aangevuld_vanuit_j = hash\get($na_row_j, 'correctie_aangevuld_vanuit'); - $na_jaar_j = hash\get($na_row_j, 'jaar'); - $na_correctie_uit_opvolgend_jaar_j = hash\get($na_row_j, 'correctie_uit_opvolgend_jaar'); - ); - - $na_j_first_tot = $na_j; - - ifThen($na_j < $na_i, - ifThen($na_lowest_j > $na_j, $na_lowest_j = $na_j); - $na_correctie = -1 * $na_calc_j; - ifThen($na_correctie > ($na_calc_tot + $na_norm), $na_correctie = ($na_calc_tot + $na_norm)); - - strAdd($na_tekort_aangevuld_vanuit_j, "[IIWaarvan nascholingsdagen vanuit jaar ", $na_jaar,":I][NII", number\format($na_correctie, 2), "]%%"); - strAdd($na_tekort_aangevuld_naar, "[IIWaarvan nascholingsdagen naar jaar ", $na_jaar_j, ":I][NII", number\format($na_correctie, 2), "]%%"); - - $na_correctie_aangevuld_vanuit_j = $na_correctie_aangevuld_vanuit_j + $na_correctie; - $na_correctie_aangevuld_naar = $na_correctie_aangevuld_naar + $na_correctie; - - $na_correctie_uit_opvolgend_jaar_j = $na_correctie_uit_opvolgend_jaar_j + 1; - - $na_calc_tot = $na_calc_tot - $na_correctie; - $na_tekort = $na_tekort - $na_correctie; - $na_calc_j = $na_calc_j + $na_correctie; - - $na_row_j = hash\set($na_row_j, 'surplus', $na_calc_j); - $na_row_j = hash\set($na_row_j, 'uitleg', $na_uitleg_j); - $na_row_j = hash\set($na_row_j, 'tekort_aangevuld_vanuit', $na_tekort_aangevuld_vanuit_j); - $na_row_j = hash\set($na_row_j, 'correctie_aangevuld_vanuit', $na_correctie_aangevuld_vanuit_j); - $na_row_j = hash\set($na_row_j, 'correctie_uit_opvolgend_jaar', $na_correctie_uit_opvolgend_jaar_j); - $na_rows = array\set($na_rows, $na_j, $na_row_j); - - //logAdd(log, 'jaar:', $na_jaar_j, ', tekort_aangevuld_vanuit: ', $na_tekort_aangevuld_vanuit_j); - ); - ); - ); - - log('warning', 'jaar=', $na_jaar, ', calc_hom=', $na_calc_hom, ', calc_med=', $na_calc_med, ', calc_tot=', $na_calc_tot); - - ifThen($na_lowest_j == $na_i, - // Kijk nu of er nog dagen meegenomen kunnen worden naar het volgende jaar - - $na_row_prev = array\at($na_rows, $na_i - 1); - $na_calc_hom_prev = hash\get($na_row_prev, 'surplusHomeopathie'); - $na_calc_med_prev = hash\get($na_row_prev, 'surplusMedisch'); - $na_calc_tot_prev = hash\get($na_row_prev, 'surplus'); - - //logAdd(log, 'warning', 'jaar:', $na_jaar, ', MEENEMEN: prev: tot:', $na_calc_tot_prev, ', hom: ', $na_calc_hom_prev, ', med:', $na_calc_med_prev); - - // Pak maximaal de maxMeenemen norm aan dagen over van het voorgaande jaar, als er voldoende dagen zijn. - ifThen($na_calc_tot_prev > 0, - // Oke, we kunnen überhaupt dagen meenemen. - $na_max_mee = $na_max_meenemen; - // Zorg dat we bij het teruggaan in de tijd niet meer meenemen dan in totaal max_meenemen. - // Dus we moeten wat al een keer is meegenomen vasthouden en van het maximum aftrekken. - $na_meegenomen = hash\get($na_row, 'meegenomen'); - $na_meegenomen_hom = hash\get($na_row, 'meegenomen_hom'); - $na_meegenomen_med = hash\get($na_row, 'meegenomen_med'); - $na_max_mee = $na_max_mee - $na_meegenomen; - // Verdeel de dagen tussen medisch en homeopatisch, tenzij de - // voorgaande surplussen niet voldoende zijn, vul dan verder aantal - // met overig - while($na_calc_tot_prev > 0 && $na_max_mee > 0, - // Zo lang huidig medisch surplus < 0 en previous medisch surplus > 0, kies voor medisch - // Anders, zo lang huidig homeopathie surplus < 0 en previous homeopathie surplus > 0, kies voor homeopathie - // Anders, zo lang previous homeopathie surplus / medisch surplus > 0, kies voor med, hom alternerend. - // Anders, zo lang previous homeopathie surplus > 0, kies voor homeopathie - // Anders, zo lang previous medisch surplus > 0, kies voor medisch - // Anders, kies voor overig - ifThenElse($na_calc_med < 0 && $na_calc_med_prev > 0, - $na_hom_med_overig = 'med'; - , - ifThenElse($na_calc_hom < 0 && $na_calc_hom_prev > 0, - $na_hom_med_overig = 'hom'; - , - ifThenElse($na_calc_hom_prev > 0 && $na_calc_med_prev > 0, - ifThenElse($na_hom_med_overig == 'med', - $na_hom_med_overig = 'hom'; - , - $na_hom_med_overig = 'med'; - ); - , - ifThenElse($na_calc_hom_prev > 0, - $na_hom_med_overig = 'hom'; - , - ifThenElse($na_calc_med_prev > 0, - $na_hom_med_overig = 'med'; - , - $na_hom_med_overig = 'overig'; - ); - ); - ); - ); - ); - - log('warning', 'na_hom_med_overig=', $na_hom_med_overig, ', surplus_tot_prev=', $na_calc_tot_prev, ', na_max_mee=', $na_max_mee); - - ifThen($na_hom_med_overig == 'med', - ifThen($na_calc_med_prev > 0, - $na_take = 1; - ifThen($na_calc_med_prev < $na_take, $na_take = $na_calc_med_prev); - ifThen($na_calc_tot_prev < $na_take, $na_take = $na_calc_tot_prev); - ifThen($na_max_mee < $na_take, $na_take = $na_max_mee); - $na_calc_med = $na_calc_med + $na_take; - $na_calc_med_prev = $na_calc_med_prev - $na_take; - $na_calc_tot = $na_calc_tot + $na_take; - $na_calc_tot_prev = $na_calc_tot_prev - $na_take; - $na_max_mee = $na_max_mee - $na_take; - $na_meegenomen = $na_meegenomen + $na_take; - $na_meegenomen_med = $na_meegenomen_med + $na_take; - ); - ); - ifThen($na_hom_med_overig == 'hom', - ifThen($na_calc_hom_prev > 0, - $na_take = 1; - ifThen($na_calc_hom_prev < $na_take, $na_take = $na_calc_hom_prev); - ifThen($na_calc_tot_prev < $na_take, $na_take = $na_calc_tot_prev); - ifThen($na_max_mee < $na_take, $na_take = $na_max_mee); - $na_calc_hom = $na_calc_hom + $na_take; - $na_calc_hom_prev = $na_calc_hom_prev - $na_take; - $na_calc_tot = $na_calc_tot + $na_take; - $na_calc_tot_prev = $na_calc_tot_prev - $na_take; - $na_max_mee = $na_max_mee - $na_take; - $na_meegenomen = $na_meegenomen + $na_take; - $na_meegenomen_hom = $na_meegenomen_hom + $na_take; - ); - ); - ifThen($na_hom_med_overig == 'overig', - // We weten nu al dat na_calc_tot_prev > 0 - $na_take = 1; - ifThen($na_calc_tot_prev < $na_take, $na_take = $na_calc_tot_prev); - ifThen($na_max_mee < $na_take, $na_take = $na_max_mee); - $na_calc_tot = $na_calc_tot + $na_take; - $na_calc_tot_prev = $na_calc_tot_prev - $na_take; - $na_max_mee = $na_max_mee - $na_take; - $na_meegenomen = $na_meegenomen + $na_take; - ); - ); - - //logAdd(log, 'warning', 'jaar:', $na_jaar, ', meegenomen: ', $na_meegenomen, ', hom:', $na_meegenomen_hom, ', med:', $na_meegenomen_med); - - $na_row = hash\set($na_row, 'meegenomen', $na_meegenomen); - $na_row = hash\set($na_row, 'meegenomen_hom', $na_meegenomen_hom); - $na_row = hash\set($na_row, 'meegenomen_med', $na_meegenomen_med); - ); - - $na_meegenomen = hash\get($na_row, 'meegenomen'); - $na_meegenomen_hom = hash\get($na_row, 'meegenomen_hom'); - $na_meegenomen_med = hash\get($na_row, 'meegenomen_med'); - //logAdd(log, 'jaar: ', $na_jaar, ', tekort:', $na_tekort, ', meegenomen uit vorig jaar:', $na_meegenomen); - - $na_row_prev = hash\set($na_row_prev, 'surplusHomeopathie', $na_calc_hom_prev); - $na_row_prev = hash\set($na_row_prev, 'surplusMedisch', $na_calc_med_prev); - $na_row_prev = hash\set($na_row_prev, 'surplus', $na_calc_tot_prev); - $na_rows = array\set($na_rows, $na_i - 1, $na_row_prev); - ); - - $na_row = hash\set($na_row, 'surplusHomeopathie', $na_calc_hom); - $na_row = hash\set($na_row, 'surplusMedisch', $na_calc_med); - $na_row = hash\set($na_row, 'surplus', $na_calc_tot); - $na_row = hash\set($na_row, 'uitleg', $na_uitleg); - $na_row = hash\set($na_row, 'uitleg_hom', $na_uitleg_hom); - $na_row = hash\set($na_row, 'uitleg_med', $na_uitleg_med); - $na_row = hash\set($na_row, 'tekort_aangevuld_naar', $na_tekort_aangevuld_naar); - $na_row = hash\set($na_row, 'correctie_aangevuld_naar', $na_correctie_aangevuld_naar); - $na_row = hash\set($na_row, 'correctie_uit_opvolgend_jaar', $na_correctie_uit_opvolgend_jaar); - $na_row = hash\set($na_row, 'correctie_uit_opvolgend_jaar_hom', $na_correctie_uit_opvolgend_jaar_hom); - $na_row = hash\set($na_row, 'correctie_uit_opvolgend_jaar_med', $na_correctie_uit_opvolgend_jaar_med); - $na_row = hash\set($na_row, 'tekort', $na_tekort); - $na_row = hash\set($na_row, 'tekort_hom', $na_tekort_hom); - $na_row = hash\set($na_row, 'tekort_med', $na_tekort_med); - $na_rows = array\set($na_rows, $na_i, $na_row); - - ifThen($na_lowest_j != $na_i, $na_i = $na_lowest_j - 1); - ); - - $na_i = $na_i + 1; -); - -/////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// Bepaal de uitslag -/////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -$na_i = 0; -$na_jaar_end = 0; -ifThenElse($na_i < $na_n, - $na_row = array\at($na_rows, $na_n - 1); - $na_calc_tot_end = hash\get($na_row, 'surplus'); - $na_calc_hom_end = hash\get($na_row, 'surplusHomeopathie'); - $na_calc_med_end = hash\get($na_row, 'surplusMedisch'); - $na_jaar_end = hash\get($na_row, 'jaar'); -, - $na_calc_tot_end = 0; - $na_calc_hom_end = 0; - $na_calc_med_end = 0; - $na_jaar_end = 0; -); - -log('warning', 'calc_tot_end = ', $na_calc_tot_end, ', calc_hom_end = ', $na_calc_hom_end, ', calc_med_end = ', $na_calc_med_end); - -while($na_i < $na_n, - $na_row = array\at($na_rows, $na_i); - - $na_jaar = hash\get($na_row, 'jaar'); - - $na_uitleg_hom = hash\get($na_row, 'uitleg_hom'); - $na_uitleg_med = hash\get($na_row, 'uitleg_med'); - $na_uitleg_tot = hash\get($na_row, 'uitleg'); - - $na_tekort_aangevuld_naar = hash\get($na_row, 'tekort_aangevuld_naar'); - $na_tekort_aangevuld_vanuit = hash\get($na_row, 'tekort_aangevuld_vanuit'); - $na_correctie_aangevuld_naar = hash\get($na_row, 'correctie_aangevuld_naar'); - $na_correctie_aangevuld_vanuit = hash\get($na_row, 'correctie_aangevuld_vanuit'); - - $na_calc_tot = hash\get($na_row, 'surplus'); - $na_calc_hom = hash\get($na_row, 'surplusHomeopathie'); - $na_calc_med = hash\get($na_row, 'surplusMedisch'); - - $na_mee_tot = hash\get($na_row, 'meegenomen'); - $na_mee_hom = hash\get($na_row, 'meegenomen_hom'); - $na_mee_med = hash\get($na_row, 'meegenomen_med'); - - $na_tekort = -1 * hash\get($na_row, 'tekort'); - $na_tekort_hom = -1 * hash\get($na_row, 'tekort_hom'); - $na_tekort_med = -1 * hash\get($na_row, 'tekort_med'); - - //logAdd(log, 'info', 'jaar:', $na_jaar, ', tekort_hom: ', $na_tekort_hom, ' tekort_med: ', $na_tekort_med, ', tekort_tot: ', $na_tekort); - - // Corrigeer voor het dashboard de tekorten nog met meegenomen uit voorgaande jaren - $na_tekort = $na_tekort - $na_mee_tot; - $na_tekort_hom = $na_tekort_hom - $na_mee_hom; - $na_tekort_med = $na_tekort_med - $na_mee_med; - - $na_dashboard = ''; - $na_dashb_entry_hom = ''; - $na_dashb_entry_med = ''; - $na_dashb_entry_tot = ''; - - ifThenElse($na_i == ($na_n - 1), - $na_mee_tot_next = 0; - $na_mee_hom_next = 0; - $na_mee_med_next = 0; - , - $na_row_next = array\at($na_rows, $na_i + 1); - $na_mee_tot_next = hash\get($na_row_next, 'meegenomen'); - $na_mee_hom_next = hash\get($na_row_next, 'meegenomen_hom'); - $na_mee_med_next = hash\get($na_row_next, 'meegenomen_med'); - ); - - $na_correctie_uit_opvolgend_jaar = hash\get($na_row, 'correctie_uit_opvolgend_jaar'); - $na_correctie_uit_opvolgend_jaar_hom = hash\get($na_row, 'correctie_uit_opvolgend_jaar_hom'); - $na_correctie_uit_opvolgend_jaar_med = hash\get($na_row, 'correctie_uit_opvolgend_jaar_med'); - - // Bepaal of er vóór het einde vanaf deze index nog ergens een surplus is, want - // dan is een negatief eindtotaal niet van toepassing. - //logAdd(log, 'warning', 'jaar = ', $na_jaar, ' - intermediate surplus?'); - $na_j = $na_i; - $has_intermediate_hom_surplus = false; - $has_intermediate_med_surplus = false; - $has_intermediate_tot_surplus = false; - while($na_j < $na_n && !($has_intermediate_hom_surplus && $has_intermediate_med_surplus && $has_intermediate_tot_surplus), - $na_row_j = array\at($na_rows, $na_j); - $na_j_jaar = hash\get($na_row_j, 'jaar'); - $na_j_calc_tot = hash\get($na_row_j, 'surplus'); - $na_j_calc_hom = hash\get($na_row_j, 'surplusHomeopathie'); - $na_j_calc_med = hash\get($na_row_j, 'surplusMedisch'); - $na_j_tekort = hash\get($na_row_j, 'tekort'); - $na_j_tekort_hom = hash\get($na_row_j, 'tekort_hom'); - $na_j_tekort_med = hash\get($na_row_j, 'tekort_med'); - - $has_intermediate_tot_surplus = ($na_j_calc_tot > 0.0 || ($na_j_calc_tot == 0.0 && $na_j_tekort >= 0.0)); - $has_intermediate_hom_surplus = ($na_j_calc_hom > 0.0 || ($na_j_calc_hom == 0.0 && $na_j_tekort_hom >= 0.0)); - $has_intermediate_med_surplus = ($na_j_calc_med > 0.0 || ($na_j_calc_med == 0.0 && $na_j_tekort_med >= 0.0)); - - //logAdd(log, 'info', 'jaar = ', $na_j_jaar, ', calc_tot = ', $na_j_calc_tot, ', tekort = ', $na_j_tekort, ' result = ', $has_intermediate_tot_surplus); - $na_j = $na_j + 1; - ); - //logAdd(log, 'info', 'intermediate surplus = ', $has_intermediate_tot_surplus); - - // Begin met uitleggen - - strAdd($na_uitleg_hom, "[IMeegenomen uit ", $na_jaar - 1, " :][NI", number\format($na_mee_hom, 2), "]%%"); - - ifThenElse($na_i == ($na_n - 1), - strAdd($na_uitleg_hom, "[TGecumuleerde nascholingsuitkomst:][N", number\format($na_calc_hom, 2), "]%%"); - , - strAdd($na_uitleg_hom, "[IDoorgegeven aan ", $na_jaar + 1, " :][NI", number\format(-1 * $na_mee_hom_next, 2), "]%%"); - ifThen($na_calc_hom > 0 && $na_calc_tot <= 0, - strAdd($na_uitleg_hom, "[ESurplus van ", number\format($na_calc_hom, 2), " Homeopathie dagen kunnen niet worden doorgegeven, omdat het totaal ontoereikend isE]%%"); - ); - ); - - ifThenElse($na_tekort_hom <= 0, - ifThenElse($na_calc_hom == 0.0, - $na_dashb_entry_hom = string\concatenate("[VTotaal Klassieke Homeopathie voldoendeV]%%"); - $na_status_hom = 'voldoet'; - , - $na_dashb_entry_hom = string\concatenate("[VTotaal Klassieke Homeopathie voldoende (surplus: ", number\format($na_calc_hom, 2), ")V]%%"); - $na_status_hom = 'voldoet'; - ); - , - ifThenElse($na_calc_hom >= 0, - $na_dashb_entry_hom = string\concatenate("[VTotaal Klassieke Homeopathie voldoende (gecompenseerd)V]%%"); - , - $na_dashb_entry_hom = string\concatenate("[OTotaal Klassieke Homeopathie onvoldoende (tekort: ", number\format(-1 * $na_calc_hom, 2), ")O]%%"); - $na_status_hom = 'voldoet-niet'; - ); - ); - - $na_uitleg_hom = string\concatenate($na_dashb_entry_hom, $na_uitleg_hom); - - ifThenElse($na_jaar >= $na_methode_1_max_jaar, - - strAdd($na_uitleg_med, "[IMeegenomen ", $na_jaar - 1, " :][NI", number\format($na_mee_med, 2), "]%%"); - ifThenElse($na_i == ($na_n - 1), - strAdd($na_uitleg_med, "[TGecumuleerde nascholingsuitkomst:][N", number\format($na_calc_med, 2), "]%%"); - , - strAdd($na_uitleg_med, "[IDoorgegeven aan ", $na_jaar + 1, " :][NI", number\format(-1 * $na_mee_med_next, 2), "]%%"); - ifThen($na_calc_med > 0 && $na_calc_tot <= 0, - strAdd($na_uitleg_med, "[ESurplus van ", number\format($na_calc_med, 2), " Medische dagen kunnen niet worden doorgegeven, omdat het totaal ontoereikend isE]%%"); - ); - ); - - ifThenElse($na_tekort_med <= 0, - ifThenElse($na_calc_med == 0.0, - $na_dashb_entry_med = string\concatenate("[VTotaal Medisch voldoendeV]%%"); - $na_status_med = 'voldoet'; - , - $na_dashb_entry_med = string\concatenate("[VTotaal Medisch voldoende (surplus: ", number\format($na_calc_med, 2), ")V]%%"); - $na_status_med = 'voldoet'; - ); - , - ifThenElse($na_calc_med >= 0, - $na_dashb_entry_med = string\concatenate("[VTotaal Medisch voldoende (gecompenseerd)V]%%"); - $na_status_med = 'voldoet'; - , - $na_dashb_entry_med = string\concatenate("[OTotaal Medisch onvoldoende (tekort: ", number\format(-1 * $na_calc_med, 2), ")O]%%"); - $na_status_hom = 'voldoet-niet'; - ); - ); - - $na_uitleg_med = string\concatenate($na_dashb_entry_med, $na_uitleg_med); - , - $na_dashb_entry_med = '[V - V]%%'; - ); - - log('warning', 'jaar:', $na_jaar, ', tot:', $na_calc_tot, ', correctie:', $na_correctie_uit_opvolgend_jaar, ', na_mee_tot:', $na_mee_tot_next); - - ifThen($na_correctie_aangevuld_naar > 0, - //strAdd($na_uitleg_tot, '[IDagen aangevuld naar jaar ', $na_jaar - 1, ":][NI", number\format(-1 * $na_correctie_aangevuld_naar, 2), ']%%'); - strAdd($na_uitleg_tot, '[IDagen aangevuld naar:][NI', number\format(-1 * $na_correctie_aangevuld_naar, 2), ']%%'); - strAdd($na_uitleg_tot, $na_tekort_aangevuld_naar); - ); - - ifThen($na_correctie_aangevuld_vanuit > 0, - //strAdd($na_uitleg_tot, '[IDagen aangevuld vanuit jaar ', $na_jaar + 1, ":][NI", number\format($na_correctie_aangevuld_vanuit, 2), ']%%'); - strAdd($na_uitleg_tot, '[IDagen aangevuld vanuit:][NI', number\format($na_correctie_aangevuld_vanuit, 2), ']%%'); - strAdd($na_uitleg_tot, $na_tekort_aangevuld_vanuit); - ); - - strAdd($na_uitleg_tot, "[IMeegenomen uit jaar ", $na_jaar - 1, " :][NI", number\format($na_mee_tot, 2), "]%%"); - ifThen($na_mee_hom > 0, - strAdd($na_uitleg_tot, "[IIWaarvan dagen homeopathie:][NII", number\format($na_mee_hom, 2), "]%%"); - ); - ifThen($na_mee_med > 0, - strAdd($na_uitleg_tot, "[IIWaarvan dagen medisch:][NII", number\format($na_mee_med, 2), "]%%"); - ); - - // Dit blijkt nodig te zijn (bug in ESPOCRM?), anders wordt na_mee_tot_hm gewoon niet berekend. - $na_mee_tot_hm = $na_mee_tot; - $na_mee_tot_hm = $na_mee_tot_hm - $na_mee_hom; - $na_mee_tot_hm = $na_mee_tot_hm - $na_mee_med; - - ifThen($na_mee_tot_hm > 0, - strAdd($na_uitleg_tot, "[IIWaarvan dagen nascholing:][NII", number\format($na_mee_tot_hm, 2), "]%%"); - ); - - ifThenElse($na_i == ($na_n - 1), - strAdd($na_uitleg_tot, "[TGecumuleerde nascholingsuitkomst:][N", number\format($na_calc_tot, 2), "]%%"); - , - strAdd($na_uitleg_tot, "[IDoorgegeven aan ", $na_jaar + 1, " :][NI", number\format(-1 * $na_mee_tot_next, 2), "]%%"); - ifThen($na_mee_hom_next > 0, - strAdd($na_uitleg_tot, "[IIWaarvan dagen homeopathie:][NII", number\format($na_mee_hom_next, 2), "]%%"); - ); - ifThen($na_mee_med_next > 0, - strAdd($na_uitleg_tot, "[IIWaarvan dagen medisch:][NII", number\format($na_mee_med_next, 2), "]%%"); - ); - - // Dit blijkt nodig te zijn (bug in ESPOCRM?), anders wordt na_mee_tot_hm_next gewoon niet berekend. - $na_mee_tot_hm_next = $na_mee_tot_next; - $na_mee_tot_hm_next = $na_mee_tot_hm_next - $na_mee_hom_next; - $na_mee_tot_hm_next = $na_mee_tot_hm_next - $na_mee_med_next; - ifThen($na_mee_tot_hm_next > 0, - strAdd($na_uitleg_tot, "[IIWaarvan dagen nascholing:][NII", number\format($na_mee_tot_hm_next, 2), "]%%"); - ); - ); - - ifThenElse($na_tekort <= 0, - ifThenElse($na_calc_tot == 0.0, - $na_dashb_entry_tot = string\concatenate("[VNascholingsdagen voldoendeV]%%"); - $na_status = 'voldoet'; - , - $na_dashb_entry_tot = string\concatenate("[VNascholingsdagen voldoende (surplus: ", number\format($na_calc_tot, 2), ")V]%%"); - $na_status = 'voldoet'; - ); - , - ifThenElse($na_calc_tot >= 0, - $na_dashb_entry_tot = string\concatenate("[VNascholingsdagen voldoende (gecompenseerd)V]%%"); - $na_status = 'voldoet'; - , - $na_dashb_entry_tot = string\concatenate("[ONascholingsdagen onvoldoende (tekort: ", number\format(-1 * $na_calc_tot, 2), ")O]%%"); - $na_status = 'voldoet-niet'; - ); - ); - - $na_uitleg_tot = string\concatenate($na_dashb_entry_tot, $na_uitleg_tot); - - - ifThenElse($na_jaar < $na_methode_1_max_jaar, - $na_dashb_entry_med = string\replace($na_dashb_entry_med, '[V', string\concatenate('')); - $na_dashb_entry_med = string\replace($na_dashb_entry_med, '[O', string\concatenate('')); - , - ifThenElse($na_jaar == $na_methode_1_max_jaar, - $na_dashb_entry_med = string\replace($na_dashb_entry_med, '[V', string\concatenate('')); - $na_dashb_entry_med = string\replace($na_dashb_entry_med, '[O', string\concatenate('')); - , - $na_dashb_entry_med = string\replace($na_dashb_entry_med, '[V', string\concatenate('')); - $na_dashb_entry_med = string\replace($na_dashb_entry_med, '[O', string\concatenate('')); - ) - ); - $na_dashb_entry_hom = string\replace($na_dashb_entry_hom, '[V', string\concatenate('')); - $na_dashb_entry_hom = string\replace($na_dashb_entry_hom, '[O', string\concatenate('')); - $na_dashb_entry_tot = string\replace($na_dashb_entry_tot, '[V', string\concatenate('')); - $na_dashb_entry_tot = string\replace($na_dashb_entry_tot, '[O', string\concatenate('')); - - $na_dashb_entry_tot = string\replace($na_dashb_entry_tot, 'V]%%', ''); - $na_dashb_entry_tot = string\replace($na_dashb_entry_tot, 'O]%%', ''); - $na_dashb_entry_hom = string\replace($na_dashb_entry_hom, 'V]%%', ''); - $na_dashb_entry_hom = string\replace($na_dashb_entry_hom, 'O]%%', ''); - $na_dashb_entry_med = string\replace($na_dashb_entry_med, 'V]%%', ''); - $na_dashb_entry_med = string\replace($na_dashb_entry_med, 'O]%%', ''); - - $na_dashb_entry_hom = string\replace($na_dashb_entry_hom, "Totaal Klassieke Homeopathie", "Kl. Hom."); - $na_dashb_entry_med = string\replace($na_dashb_entry_med, "Totaal Medisch", "Medisch"); - $na_dashb_entry_hom = string\replace($na_dashb_entry_hom, '(surplus: 0,0)', ''); - $na_dashb_entry_med = string\replace($na_dashb_entry_med, '(surplus: 0,0)', ''); - $na_dashb_entry_tot = string\replace($na_dashb_entry_tot, '(surplus: 0,0)', ''); - - $na_dashboard = string\concatenate($na_dashb_entry_hom, $na_dashb_entry_med, $na_dashb_entry_tot); - - $na_row = hash\set($na_row, 'uitleg', $na_uitleg_tot); - $na_row = hash\set($na_row, 'uitleg_hom', $na_uitleg_hom); - $na_row = hash\set($na_row, 'uitleg_med', $na_uitleg_med); - $na_row = hash\set($na_row, 'dashboard', $na_dashboard); - $na_row = hash\set($na_row, 'status', $na_status); - $na_row = hash\set($na_row, 'status_hom', $na_status_hom); - $na_row = hash\set($na_row, 'status_med', $na_status_med); - $na_rows = array\set($na_rows, $na_i, $na_row); - - $na_i = $na_i + 1; -); - -/////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// Bewerk alle uitleggen -/////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -$na_i = 0; -while($na_i < $na_n, - $na_row = array\at($na_rows, $na_i); - - log('warning', 'na_i=', $na_i, ', got row'); - - $na_jaar = hash\get($na_row, 'jaar'); - $na_bep_rep = 'bepaald'; - - log('warning', 'na_i=', $na_i, ', got jaar=', $na_jaar); - - $na_report = configGet('nascholingstotaal-rapport-jaar'); - $na_report = string\replace($na_report, '%jaar%', toString($na_jaar)); - - $na_report = string\replace($na_report, '%bepaald%', $na_bep_rep); - - $na_uitleg_hom = hash\get($na_row, 'uitleg_hom'); - $na_uitleg_med = hash\get($na_row, 'uitleg_med'); - $na_uitleg_tot = hash\get($na_row, 'uitleg'); - - $na_report = string\replace($na_report, '%tot%', $na_uitleg_tot); - $na_report = string\replace($na_report, '%hom%', $na_uitleg_hom); - ifThenElse($na_jaar >= $na_methode_1_max_jaar, - $na_report = string\replace($na_report, '%med%', $na_uitleg_med); - , - $na_report = string\replace($na_report, '%med%', ''); - ); - - $na_report = string\replace($na_report, '[T', string\concatenate('')); - $na_report = string\replace($na_report, '[S', ''); - $na_report = string\replace($na_report, '[NII', string\concatenate('')); - $na_report = string\replace($na_report, '[NI', string\concatenate('')); - $na_report = string\replace($na_report, '[N', string\concatenate('')); - $na_report = string\replace($na_report, '[V', string\concatenate('')); - $na_report = string\replace($na_report, '[O', string\concatenate('')); - $na_report = string\replace($na_report, '[E', string\concatenate('')); - $na_report = string\replace($na_report, '[W', string\concatenate('')); - $na_report = string\replace($na_report, '[II', string\concatenate('')); - $na_report = string\replace($na_report, '[I', string\concatenate('')); - $na_report = string\replace($na_report, '[R', string\concatenate('')); - $na_report = string\replace($na_report, "O]", ""); - $na_report = string\replace($na_report, "V]", ""); - $na_report = string\replace($na_report, "E]", ""); - $na_report = string\replace($na_report, "W]", ""); - $na_report = string\replace($na_report, "I]", ""); - $na_report = string\replace($na_report, "R]", ""); - $na_report = string\replace($na_report, "]", ""); - $na_report = string\replace($na_report, '%%', '\n'); - - $na_row = hash\set($na_row, 'na_report', $na_report); - $na_rows = array\set($na_rows, $na_i, $na_row); - - $na_i = $na_i + 1; -); - -/////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// Zet al die totalen weer in de database -/////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -$na_i = 0; -while($na_i < $na_n, - $na_row = array\at($na_rows, $na_i); - $na_id = hash\get($na_row, 'id'); - $na_calc_tot = hash\get($na_row, 'surplus'); - $na_calc_hom = hash\get($na_row, 'surplusHomeopathie'); - $na_calc_med = hash\get($na_row, 'surplusMedisch'); - $na_dashboard = hash\get($na_row, 'dashboard'); - $na_report = hash\get($na_row, 'na_report'); - - $na_status = hash\get($na_row, 'status'); - $na_status_hom = hash\get($na_row, 'status_hom'); - $na_status_med = hash\get($na_row, 'status_med'); - $na_status_all = $na_status; - - ifThen($na_status_all == 'voldoet-niet-na-saldering', $na_status_all = 'voldoet-niet'); - ifThen($na_status_hom == 'voldoet-niet' || $na_status_hom == 'voldoet-niet-na-saldering', $na_status_all = 'voldoet-niet'); - ifThen($na_status_med == 'voldoet-niet' || $na_status_med == 'voldoet-niet-na-saldering', $na_status_all = 'voldoet-niet'); - ifThen($na_status_all == 'voldoet-na-saldering', $na_status_all = 'voldoet'); - - record\update('Nascholingstotaal', $na_id, - 'surplus', $na_calc_tot, - 'surplusMedisch', $na_calc_med, - 'surplusHomeopathie', $na_calc_hom, - 'dashboard', $na_dashboard, - 'berekeningsuitleg', $na_report, - 'status', $na_status_all - ); - - $na_i = $na_i + 1; -); - -/////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// Klaar. -/////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -global\unset($na_in_calc_key, true); diff --git a/code-current/configs/script-lees-nascholingsnorm-hash.descr b/code-current/configs/script-lees-nascholingsnorm-hash.descr deleted file mode 100644 index 04f18fa..0000000 --- a/code-current/configs/script-lees-nascholingsnorm-hash.descr +++ /dev/null @@ -1,7 +0,0 @@ -Leest alle nascholingsnormen in een hash en zet ze in de globale variable 'nascholingsnorm-hash', waarbij ze kunnen worden gelezen als hash\get($hash, "$year") of hash\get($hash, "$year-$regiocode"). De key "$year-$regiocode" gaat boven die van de algemene "$year". - -De velden die hierbij te lezen zijn zijn: - -- dagen (het totaal aantal te volgen dagen per jaar, inclusief dagenMedisch en dagenHomeopathie) -- dagenMedisch (aantal te volgen medische dagen per jaar) -- dagenHomeopathie (aantal te volgen klassieke homeopathie dagen per jaar) diff --git a/code-current/configs/script-lees-nascholingsnorm-hash.id b/code-current/configs/script-lees-nascholingsnorm-hash.id deleted file mode 100644 index aa46673..0000000 --- a/code-current/configs/script-lees-nascholingsnorm-hash.id +++ /dev/null @@ -1 +0,0 @@ -5f0c79b5aae44ef72 \ No newline at end of file diff --git a/code-current/configs/script-lees-nascholingsnorm-hash.js b/code-current/configs/script-lees-nascholingsnorm-hash.js deleted file mode 100644 index 591912a..0000000 --- a/code-current/configs/script-lees-nascholingsnorm-hash.js +++ /dev/null @@ -1,32 +0,0 @@ -//exec last execution: Mon Jul 13 2020 17:57:38 GMT+0200 (Midden-Europese zomertijd) - -$sln_rows = record\fetchManyHash('Nascholingsnorm', 'name, id, jaar, dagen, dagenMedisch, dagenHomeopathie, meeneemNorm, regiocode', 'createdAt', 'asc'); - -$sln_i = 0; -$sln_n = array\length($sln_rows); -$sln_hash = hash\new(); -$sln_hash_id = hash\new(); - -while($sln_i < $sln_n, - $sln_row = array\at($sln_rows, $sln_i); - - $jaar = hash\get($sln_row, 'jaar'); - $id = hash\get($sln_row, 'id'); - $regiocode = hash\get($sln_row, 'regiocode'); - $jaar = $jaar + 0; - - $key = $jaar; - ifThen($regiocode != '-', - $key = string\concatenate($jaar, '-', $regiocode); - ); - - $sln_hash = hash\set($sln_hash, $key, $sln_row); - $sln_hash_id = hash\set($sln_hash_id, $id, $sln_row); - - $sln_i = $sln_i + 1; -); - -global\set('nascholingsnorm-hash', $sln_hash); -global\set('nascholingsnorm-hash-by-id', $sln_hash_id); - -logAdd(log, '#nascholingsnormen gelezen: ', $sln_n); diff --git a/code-current/configs/script-nascholing-recalc-for-contact.descr b/code-current/configs/script-nascholing-recalc-for-contact.descr deleted file mode 100644 index 497ec75..0000000 --- a/code-current/configs/script-nascholing-recalc-for-contact.descr +++ /dev/null @@ -1 +0,0 @@ -Triggert een hercalculatie van de nascholingstotalen voor een Lid ($contact_id). \ No newline at end of file diff --git a/code-current/configs/script-nascholing-recalc-for-contact.id b/code-current/configs/script-nascholing-recalc-for-contact.id deleted file mode 100644 index e268754..0000000 --- a/code-current/configs/script-nascholing-recalc-for-contact.id +++ /dev/null @@ -1 +0,0 @@ -5efae9e4a72b632bb \ No newline at end of file diff --git a/code-current/configs/script-nascholing-recalc-for-contact.js b/code-current/configs/script-nascholing-recalc-for-contact.js deleted file mode 100644 index e049014..0000000 --- a/code-current/configs/script-nascholing-recalc-for-contact.js +++ /dev/null @@ -1,5 +0,0 @@ - - -$na_recalc_e = entity\get('Contact', $contact_id); -setAttr($na_recalc_e, 'nascholingstotalenHerberekenen', true); -entity\save($na_recalc_e); diff --git a/code-current/configs/script-nascholings-totaal-jaar-admin.descr b/code-current/configs/script-nascholings-totaal-jaar-admin.descr deleted file mode 100644 index fe7f6cf..0000000 --- a/code-current/configs/script-nascholings-totaal-jaar-admin.descr +++ /dev/null @@ -1 +0,0 @@ -Voor een gegeven $contact_id en $year maakt dit script indien nodig nieuwe nascholingstotalen jaren aan. \ No newline at end of file diff --git a/code-current/configs/script-nascholings-totaal-jaar-admin.id b/code-current/configs/script-nascholings-totaal-jaar-admin.id deleted file mode 100644 index 7d41cdc..0000000 --- a/code-current/configs/script-nascholings-totaal-jaar-admin.id +++ /dev/null @@ -1 +0,0 @@ -5ef66f724567d9188 \ No newline at end of file diff --git a/code-current/configs/script-nascholings-totaal-jaar-admin.js b/code-current/configs/script-nascholings-totaal-jaar-admin.js deleted file mode 100644 index 34dc082..0000000 --- a/code-current/configs/script-nascholings-totaal-jaar-admin.js +++ /dev/null @@ -1,44 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// Initialiseren -/////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -$na_reg_dt = record\attribute('Contact', $contact_id, 'datumRegistratie'); -$na_reg_jr = datetime\year($na_reg_dt); - -ifThen(!global\isset('nascholingsnorm-hash'), - $na_script = configGet('script-lees-nascholingsnorm-hash'); - Exec($na_script); -); -$na_norm = global\get('nascholingsnorm-hash'); - -$na_adm_my_user_id = env\userAttribute('id'); -Log('error', 'contact: ', $contact_id, ', jaar: ', $year); - -/////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// Maak indien nodig een nascholingsjaar aan -/////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -$na_adm_c = entity\Get('Contact', $contact_id); -$na_adm_reg_dt = attr($na_adm_c, 'datumRegistratie'); -$na_adm_reg_dt_year = datetime\year($na_adm_reg_dt); - -ifThen($year >= $na_adm_reg_dt_year, - $na_adm_e = record\exists('Nascholingstotaal', 'jaar=', $year, 'contactId=', $contact_id); - ifThen(!$na_adm_e, - ifThenElse(hash\isSet($na_norm, $year), - $na_norm_id = hash\get(hash\get($na_norm, $year), 'id'); - , - log('error', 'Geen Norm getal voor jaar ', $year); - ); - - ifThen($na_norm_id, - Log('error', 'creëren nascholingstotaal record...'); - record\create('Nascholingstotaal', 'jaar', - $year, 'contactId', $contact_id, - 'assignedUserId', $na_adm_my_user_id, - 'handmatig', false, - 'nascholingsnormId', $na_norm_id - ); - ); - ); -); diff --git a/code-current/configs/script-praktijken-koppelen-aan-portal-user.descr b/code-current/configs/script-praktijken-koppelen-aan-portal-user.descr deleted file mode 100644 index 54c98b4..0000000 --- a/code-current/configs/script-praktijken-koppelen-aan-portal-user.descr +++ /dev/null @@ -1,10 +0,0 @@ -Koppelt de praktijken van het contact behorende bij een user id aan de portal user. - -Input: - -$user_id - het id van de portal gebruiker -$contact_id - het id van het bijbehorende contact - -postconditie: - -relaties met de accounts gelegd. \ No newline at end of file diff --git a/code-current/configs/script-praktijken-koppelen-aan-portal-user.id b/code-current/configs/script-praktijken-koppelen-aan-portal-user.id deleted file mode 100644 index cefe7ea..0000000 --- a/code-current/configs/script-praktijken-koppelen-aan-portal-user.id +++ /dev/null @@ -1 +0,0 @@ -6036231fbdadf8ff6 \ No newline at end of file diff --git a/code-current/configs/script-praktijken-koppelen-aan-portal-user.js b/code-current/configs/script-praktijken-koppelen-aan-portal-user.js deleted file mode 100644 index 76f2d15..0000000 --- a/code-current/configs/script-praktijken-koppelen-aan-portal-user.js +++ /dev/null @@ -1,45 +0,0 @@ - - $pk_related_accounts = Hash\New(); - - $pk_related_to_portal_user = record\fetchRelatedManyHash('User', $user_id, 'accounts', 'id', 'id', 'asc'); - $pk_m = array\length($pk_related_to_portal_user); - $pk_j = 0; - while($pk_j < $pk_m, - $pk_row = array\at($pk_related_to_portal_user, $pk_j); - $pk_account_id = hash\get($pk_row, 'id'); - $pk_related_accounts = Hash\Set($pk_related_accounts, $pk_account_id, 'del'); - $pk_j = $pk_j + 1; - ); - - $pk_related_to_contact = record\fetchRelatedManyHash('Contact', $contact_id, 'accounts', 'id', 'id', 'asc'); - $pk_m = array\length($pk_related_to_contact); - $pk_j = 0; - while($pk_j < $pk_m, - $pk_row = array\at($pk_related_to_contact, $pk_j); - $pk_account_id = hash\get($pk_row, 'id'); - ifThenElse(Hash\IsSet($pk_related_accounts, $pk_account_id), - $pk_related_accounts = Hash\Set($pk_related_accounts, $pk_account_id, 'exist'); - , - $pk_related_accounts = Hash\Set($pk_related_accounts, $pk_account_id, 'new'); - ); - $pk_j = $pk_j + 1; - ); - - $pk_keys = Hash\Keys($pk_related_accounts); - $pk_m = array\length($pk_keys); - $pk_j = 0; - while($pk_j < $pk_m, - $pk_key = array\at($pk_keys, $pk_j); - $pk_val = Hash\Get($pk_related_accounts, $pk_key); - logAdd(log, 'info', $i, ': ', $pk_key, '=', Hash\Get($pk_related_accounts, $pk_key)); - ifThenElse($pk_val == 'del', - record\unrelate('User', $user_id, 'accounts', $pk_key); - logAdd(log, 'info', 'Unrelated ', $pk_key, ' from ', $username); - , - ifThen($pk_val == 'new', - record\relate('User', $user_id, 'accounts', $pk_key); - logAdd(log, 'info', 'related ', $pk_key, ' to ', $username); - ); - ); - $pk_j = $pk_j + 1; - ); diff --git a/code-current/configs/script-to-firstname-lastname.descr b/code-current/configs/script-to-firstname-lastname.descr deleted file mode 100644 index 8183809..0000000 --- a/code-current/configs/script-to-firstname-lastname.descr +++ /dev/null @@ -1,2 +0,0 @@ -in: $param_name ==> Initials (firstName) lastName or Initials () lastName or Initials lastName -out: $val_fn_ln ==> firstName lastName \ No newline at end of file diff --git a/code-current/configs/script-to-firstname-lastname.id b/code-current/configs/script-to-firstname-lastname.id deleted file mode 100644 index 2574853..0000000 --- a/code-current/configs/script-to-firstname-lastname.id +++ /dev/null @@ -1 +0,0 @@ -61c22448a0d48492c \ No newline at end of file diff --git a/code-current/configs/script-to-firstname-lastname.js b/code-current/configs/script-to-firstname-lastname.js deleted file mode 100644 index 7e4a26d..0000000 --- a/code-current/configs/script-to-firstname-lastname.js +++ /dev/null @@ -1,13 +0,0 @@ -$sfnln_fn = string\match($param_name, '/[(][^)]*[)]/'); -ifThenElse($fn == '()', - $val_fn_ln = string\replace($param_name, ' ()', ''); -, - $sfnln_ln = string\match($param_name, '/[^)]*[)][ ]*/'); - ifThenElse($sfnln_ln != '', - $sfnln_ln = string\substring($param_name, string\length($sfnln_ln)); - $sfnln_fn = string\substring($sfnln_fn, 1, string\length($sfnln_fn) - 2); - $val_fn_ln = string\concatenate($sfnln_fn, ' ', $sfnln_ln); - , - $val_fn_ln = $param_name; - ) -); diff --git a/code-current/configs/script-visitatie-stuur-certificaat.descr b/code-current/configs/script-visitatie-stuur-certificaat.descr deleted file mode 100644 index cdd9c9f..0000000 --- a/code-current/configs/script-visitatie-stuur-certificaat.descr +++ /dev/null @@ -1,5 +0,0 @@ -Stuurt als de juiste parameters zijn gegeven het visitatie formulier naar het gegeven lid. - -* $date_par_visitatie_datum='2021-12-02'; -* $par_praktijk_type='P1'; -* $par_lid_id=''; diff --git a/code-current/configs/script-visitatie-stuur-certificaat.id b/code-current/configs/script-visitatie-stuur-certificaat.id deleted file mode 100644 index 01f9d67..0000000 --- a/code-current/configs/script-visitatie-stuur-certificaat.id +++ /dev/null @@ -1 +0,0 @@ -61b677bf9657457f9 \ No newline at end of file diff --git a/code-current/configs/script-visitatie-stuur-certificaat.js b/code-current/configs/script-visitatie-stuur-certificaat.js deleted file mode 100644 index 3ea807a..0000000 --- a/code-current/configs/script-visitatie-stuur-certificaat.js +++ /dev/null @@ -1,167 +0,0 @@ -// last execution: Mon Jun 07 2021 11:33:11 GMT+0200 (Midden-Europese zomertijd) - -$par_uitvoeren=true; -$par_test_run_geen_mail_versturen=false; - -//$date_par_visitatie_datum='2021-12-02'; -//$par_visitatienummer=''; -//$par_praktijk_type=list('P1', 'P2', 'P3'); -//$par_lid_id=''; - -////////////////////////////////////////////////////////////////////////////////////// -// init -////////////////////////////////////////////////////////////////////////////////////// - -$visitatie_datum = $par_visitatie_datum; -$nvkh_afzender = configGet('nvkh-afzender'); - -$visitatie_certificaat_id = configGet('visitatie-certificaat'); - -$lid_id=$par_lid_id; -$lid = entity\get('Contact', $lid_id); -$emailadres = attr($lid, 'emailAddress'); - -$secretariaat_email = configGet('secretariaat-email-address'); - -$geldig_jaren = configGet('visitatie-geldigheid-in-jaren'); - -$praktijk_type = $par_praktijk_type; -$testrun = $par_test_run_geen_mail_versturen; - -html = ''; - -log('warning', 'visitatie datum:', $visitatie_datum); -log('warning', 'emailadres:', $emailadres); -log('warning', 'nvkh afzender:', $nvkh_afzender); -log('warning', 'visitatie-certificaat-id:', $visitatie_certificaat_id); -log('warning', 'praktijk soort:', $praktijk_type); - -html = ''; - -////////////////////////////////////////////////////////////////////////////////////// -// Visitatie formulier invullen en opsturen -////////////////////////////////////////////////////////////////////////////////////// - -ifThenElse($par_uitvoeren, - -$dt = datetime\now(); -$dt = datetime\format($dt, 'Europe/Amsterdam', 'YYYY-MM-DD'); - -$formulier = 'visitatie-certificaat'; -$formulier_id = $visitatie_certificaat_id; - -log('warning', 'visitatie certificaat input document : ', $formulier, ' - id : ', $formulier_id); - -$leden = list($lid); - -$i = 0; -$n = array\length($leden); -log('warning', 'gerelateerde leden: ', $n); - -while($i < $n, - $lid = array\at($leden, $i); - $lid_nr = attr($lid, 'lidnummer'); - $lid_id = attr($lid, 'id'); - $achternaam = attr($lid, 'lastName'); - $voorzetsel = string\trim(attr($lid, 'middleName')); - ifThen($voorzetsel != "", - $achternaam = string\concatenate($voorzetsel, '-', $achternaam); - ); - - $achternaam = string\trim($achternaam); - $achternaam = string\replace($achternaam, ' ', '-'); - - $form_out = string\concatenate('visitatie-certificaat-', $achternaam, '.pdf'); - log('warning', 'visitatie certificaat output: ', $form_out); - - log('warning', 'lid id: ', $lid_id, ' naam: ', attr($lid, 'name'), ', lidnummer:', $lid_nr); - - $scr_toFnLn = configGet('script-to-firstname-lastname'); - $param_name = attr($lid, 'name'); - exec($scr_toFnLn); - $lid_naam = $val_fn_ln; - - $lid_naam = string\concatenate('van ', $lid_naam, ' op'); - - $email = attr($lid, 'emailAddress'); - - $primary_account_id = record\findRelatedOne('Contact', $lid_id, 'accounts', 'name', 'asc', 'type=', $praktijk_type); - log('warning', 'praktijk[', $praktijk_type, ']: ', $primary_account_id); - - ifThenElse(!$primary_account_id, - $msg = string\concatenate(attr($lid, 'name'), ' (', $lid_nr, ') voert geen praktijk van soort ', $praktijk_type); - log('warning', $msg); - strAdd(html, '

', $msg, '

'); - , - $pr = entity\get('Account', $primary_account_id); - - log('warning', 'praktijk: ', attr($pr, 'naam')); - $praktijknaam = attr($pr, 'naam'); - - $street = attr($pr, 'shippingAddressStreet'); - $city = attr($pr, 'shippingAddressCity'); - $praktijkadres = string\concatenate($street, ' te ', $city); - - log('warning', 'lid_id:', $lid_id, ', praktijk:', $praktijknaam, - ', visitatiedatum:', $visitatiedatum, ', van:', $lid_naam, - ', adres:', $praktijkadres, ', geldig_tot:', $geldig_tot); - - $visitatiedatum = ''; - ifThen($visitatie_datum, - $visitatiedatum = datetime\format($visitatie_datum, 'Europe/Amsterdam', 'DD-MM-YYYY'); - ); - - $geldig_tot = datetime\addYears($visitatie_datum, $geldig_jaren); - $gdt = datetime\format($geldig_tot, 'Europe/Amsterdam', 'D MMM YYYY'); - $geldig_tot = string\concatenate('Dit certificaat is geldig tot ', $gdt); - - $attach_id = ext\pdf\fillin('Contact', $lid_id, - $formulier_id, $form_out, - 'praktijk', $praktijknaam, - 'visitatiedatum', $visitatiedatum, - 'van', $lid_naam, - 'adres', $praktijkadres, - 'geldig_tot', $geldig_tot - ); - log('warning', 'attachment id :', $attach_id); - - $body = configGet('visitatie-certificaat-email');; - - $visitatie_dt = datetime\format($visitatie_datum, 'Europe/Amsterdam', 'DD/MM/YYYY'); - $body = string\replace($body, '{{visitatie-datum}}', $visitatie_dt); - $body = string\replace($body, '{{nvkh-afzender}}', $nvkh_afzender); - $body = string\replace($body, '{{lid-naam}}', attr($lid, 'name')); - $body = ext\htmlize($body, 'Contact', attr($lid, 'id')); - - $subject = 'Visitatie Certificaat voor visitatie d.d. {{datum}}'; - $subject = string\replace($subject, '{{datum}}', $visitatie_dt); - - $userId = env\userAttribute('id'); - - //$emailadres="sysadm@nvkh.nl"; - - ifThenElse($testrun, - log('warning', 'Dit is een testrun, er wordt geen email verstuurd'); - , - $emailId = record\create('Email', - 'subject', $subject, - 'body', $body, - 'to', $emailadres, - 'attachmentsIds', list($attach_id), - 'assignedUser', $userId, - 'isUser', true, - 'parentType', 'Contact', - 'parentId', $lid_id - ); - ext\email\send($emailId); - ); - - ); - - $i = $i + 1; - ); - -, -log('warning', 'Vink uitvoeren aan om dit script uit te voeren'); -); - diff --git a/code-current/configs/script-visitatie-stuur-formulier.descr b/code-current/configs/script-visitatie-stuur-formulier.descr deleted file mode 100644 index e14571c..0000000 --- a/code-current/configs/script-visitatie-stuur-formulier.descr +++ /dev/null @@ -1,8 +0,0 @@ -Stuurt als de juiste parameters zijn gegeven het visitatie formulier naar het gegeven lid. - -* $date_par_visitatie_datum='2021-12-02 12:15:00'; -* $par_visitatie_nummer=''; -* $par_praktijk_type='P1'; -* $par_lid_id=''; -* $par_visiteur_id=''; - diff --git a/code-current/configs/script-visitatie-stuur-formulier.id b/code-current/configs/script-visitatie-stuur-formulier.id deleted file mode 100644 index 435b2f9..0000000 --- a/code-current/configs/script-visitatie-stuur-formulier.id +++ /dev/null @@ -1 +0,0 @@ -61ae898da96139566 \ No newline at end of file diff --git a/code-current/configs/script-visitatie-stuur-formulier.js b/code-current/configs/script-visitatie-stuur-formulier.js deleted file mode 100644 index fc3f1a2..0000000 --- a/code-current/configs/script-visitatie-stuur-formulier.js +++ /dev/null @@ -1,220 +0,0 @@ -// last execution: Mon Jun 07 2021 11:33:11 GMT+0200 (Midden-Europese zomertijd) - -$par_uitvoeren=true; -$par_test_run_geen_mail_versturen=false; - -//$date_par_visitatie_datum='2021-12-02'; -//$par_visitatienummer=''; -//$par_praktijk_type=list('P1', 'P2', 'P3'); -//$par_lid_id=''; -//$par_visiteur_id=''; - -////////////////////////////////////////////////////////////////////////////////////// -// init -////////////////////////////////////////////////////////////////////////////////////// - -$visitatienummer = $par_visitatie_nummer; -$visitatie_datum = $par_visitatie_datum; -$visiteur_id = $par_visiteur_id; -$nvkh_afzender = configGet('nvkh-afzender'); - -$visiteur = entity\get('Contact', $visiteur_id); - -$visitatie_formulier_id = configGet('visitatie-formulier'); - -$lid_id=$par_lid_id; -$lid = entity\get('Contact', $lid_id); -$emailadres = attr($lid, 'emailAddress'); - -$secretariaat_email = configGet('secretariaat-email-address'); -$retouradres = $secretariaat_email; - -$visitatie_wacht_dagen = configGet('visitatie-dagen-voor-invullen-formulier'); -$two_weeks_before_visitatiedatum = datetime\addDays($visitatie_datum, -1 * $visitatie_wacht_dagen); -$two_weeks_before_visitatiedatum = datetime\format( - $two_weeks_before_visitatiedatum, - 'Europe/Amsterdam', 'DD/MM/YYYY'); - -$praktijk_type = $par_praktijk_type; -$testrun = $par_test_run_geen_mail_versturen; - -html = ''; - -$visiteur = entity\get('Contact', $visiteur_id); -$visiteur_name = attr($visiteur, 'name'); - -log('warning', 'visiteur:', $visiteur_name); -log('warning', 'visitatie datum:', $visitatie_datum); -log('warning', 'two weeks notice:', $two_weeks_before_visitatiedatum); -log('warning', 'visitatienummer: ', $visitatienummer); -log('warning', 'retouradres:', $retouradres); -log('warning', 'emailadres:', $emailadres); -log('warning', 'nvkh afzender:', $nvkh_afzender); -log('warning', 'visitatie-formulier-id:', $visitatie_formulier_id); -log('warning', 'praktijk soort:', $praktijk_type); - -html = ''; - -////////////////////////////////////////////////////////////////////////////////////// -// Visitatie formulier invullen en opsturen -////////////////////////////////////////////////////////////////////////////////////// - -ifThenElse($par_uitvoeren, - -$versie = $par_visitatie_formulier_versie; - -$dt = datetime\now(); -$dt = datetime\format($dt, 'Europe/Amsterdam', 'YYYY-MM-DD'); - -$formulier = 'visitatie-formulier'; -$formulier_id = $visitatie_formulier_id; - -log('warning', 'visitatie vragenformulier input document : ', $formulier, ' - id : ', $formulier_id); - -$leden = list($lid); - -$i = 0; -$n = array\length($leden); -log('warning', 'gerelateerde leden: ', $n); - -while($i < $n, - $lid = array\at($leden, $i); - $lid_nr = attr($lid, 'lidnummer'); - $lid_id = attr($lid, 'id'); - $achternaam = attr($lid, 'lastName'); - $voorzetsel = string\trim(attr($lid, 'middleName')); - ifThen($voorzetsel != "", - $achternaam = string\concatenate($voorzetsel, '-', $achternaam); - ); - - $achternaam = string\trim($achternaam); - $achternaam = string\replace($achternaam, ' ', '-'); - - $form_out = string\concatenate('visitatie-vragenlijst-', $achternaam, '.pdf'); - log('warning', 'visitatie vragenformulier avar document : ', $form_out); - - log('warning', 'lid id: ', $lid_id, ' naam: ', attr($lid, 'name'), ', lidnummer:', $lid_nr); - - $email = attr($lid, 'emailAddress'); - - $primary_account_id = record\findRelatedOne('Contact', $lid_id, 'accounts', 'name', 'asc', 'type=', $praktijk_type); - log('warning', 'praktijk[', $praktijk_type, ']: ', $primary_account_id); - - ifThenElse(!$primary_account_id, - $msg = string\concatenate(attr($lid, 'name'), ' (', $lid_nr, ') voert geen praktijk van soort ', $praktijk_type); - log('warning', $msg); - strAdd(html, '

', $msg, '

'); - , - $pr = entity\get('Account', $primary_account_id); - - log('warning', 'praktijk: ', attr($pr, 'naam')); - - $mbkdatum = attr($lid, 'mBKDatum'); - ifThen($mbkdatum, - $mbkdatum = datetime\format($mbkdatum, 'Europe/Amsterdam', 'DD-MM-YYYY'); - ); - - $vogdatum = attr($lid, 'datumVOG'); - ifThen($vogdatum, - $vogdatum = datetime\format($vogdatum, 'Europe/Amsterdam', 'DD-MM-YYYY'); - ); - - $diplomadatum = attr($lid, 'vakopleidingDatumDiploma'); - ifThen($diplomadatum, - $diplomadatum = datetime\format($diplomadatum, 'Europe/Amsterdam', 'DD-MM-YYYY'); - ); - - $visitatiedatum = ''; - ifThen($visitatie_datum, - $visitatiedatum = datetime\format($visitatie_datum, 'Europe/Amsterdam', 'DD-MM-YYYY'); - ); - - $visitatietijdstip = ''; - ifThen($visitatie_datum, - $visitatietijdstip = datetime\format($visitatie_datum, 'Europe/Amsterdam', 'HH:mm'); - ); - - $attach_id = ext\pdf\fillin('Contact', $lid_id, $formulier_id, $form_out, - 'naam_homeopaat', attr($lid, 'name'), - 'naam_gevisiteerde', attr($lid, 'name'), - 'AVAR_Visitatienummer', $visitatie_nummer, - 'ondertekening_naam_gevisiteerde', attr($lid, 'name'), - 'email_homeopaat', $email, - 'naam_praktijk', attr($pr, 'naam'), - 'agb_praktijk', attr($pr, 'agbcode'), - 'rbcz_nummer', attr($lid, 'rbcznummer'), - 'nvkh_nummer', attr($lid, 'lidnummer'), - 'adres_praktijk_straat', attr($pr, 'shippingAddressStreet'), - 'adres_praktijk_postcode', attr($pr, 'shippingAddressPostalCode'), - 'adres_praktijk_plaats', attr($pr, 'shippingAddressCity'), - 'agb_persoonlijk', attr($lid, 'agbcode'), - 'datum_mbk_of_big', $mbkdatum, - 'datum_vog', $vogdatum, - 'email_retouradres', $retouradres, - 'tel_prive', attr($lid, 'phoneNumber'), - 'tel_praktijk', attr($pr, 'phoneNumber'), - 'websites', attr($pr, 'website'), - 'datum_diploma_vakopleiding', $diplomadatum, - 'bijscholingsdagen_laatste_jaren', $bijscholing, - 'datum_nascholing_big', 'Nvt', - 'datum_visitatie', $visitatiedatum, - 'tijdstip_visitatie', $visitatietijdstip, - 'AVAR_Visitatienummer', $visitatienummer - ); - log('warning', 'attachment id :', $attach_id); - - $body = configGet('visitatie-informatie-email'); - - $scr_fnln = configGet('script-to-firstname-lastname'); - - $param_name = attr($lid, 'name'); - exec($scr_fnln); - $lid_name = $val_fn_ln; - - $param_name = $visiteur_name; - exec($scr_fnln); - $visiteur_name = $val_fn_ln; - - $visitatie_dt = datetime\format($visitatie_datum, 'Europe/Amsterdam', 'DD/MM/YYYY'); - $body = string\replace($body, '{{visitatie-datum}}', $visitatie_dt); - $body = string\replace($body, '{{visitatie-tijdstip}}', $visitatietijdstip); - $body = string\replace($body, '{{visitatie-nummer}}', $visitatienummer); - $body = string\replace($body, '{{nvkh-afzender}}', $nvkh_afzender); - $body = string\replace($body, '{{visiteur}}', $visiteur_name); - $body = string\replace($body, '{{wacht-dagen}}', string\concatenate('', $visitatie_wacht_dagen)); - $body = string\replace($body, '{{retourdatum}}', $two_weeks_before_visitatiedatum); - $body = string\replace($body, '{{secretariaat-adres}}', $secretariaat_email); - $body = string\replace($body, '{{lid-naam}}', $lid_name); - $body = ext\htmlize($body, 'Contact', attr($lid, 'id')); - - $userId = env\userAttribute('id'); - - $subject = 'Visitatieformulier voor visitatie d.d. {{datum}}'; - $subject = string\replace($subject, '{{datum}}', $visitatie_dt); - - - ifThenElse($testrun, - log('warning', 'Dit is een testrun, er wordt geen email verstuurd'); - , - $emailId = record\create('Email', - 'subject', $subject, - 'body', $body, - 'to', $emailadres, - 'attachmentsIds', list($attach_id), - 'assignedUser', $userId, - 'isUser', true, - 'parentType', 'Contact', - 'parentId', $lid_id - ); - ext\email\send($emailId); - ); - - ); - - $i = $i + 1; - ); - -, -log('warning', 'Vink uitvoeren aan om dit script uit te voeren'); -); - diff --git a/code-current/get-current-scripts.rkt b/code-current/get-current-scripts.rkt index 39360a6..81c706a 100755 --- a/code-current/get-current-scripts.rkt +++ b/code-current/get-current-scripts.rkt @@ -61,16 +61,19 @@ (define (handle-rows dir rows) (for-each (lambda (row) - (let ((id (vector-ref row 0)) - (name (vector-ref row 1)) - (description (vector-ref row 2)) - (value_script (vector-ref row 3)) - (mk-name (lambda (name ext) (build-path dir - (string-append (string-replace name "/" "-") "." ext)))) - ) + (let* ((id (vector-ref row 0)) + (name (vector-ref row 1)) + (description (vector-ref row 2)) + (value_script (vector-ref row 3)) + (re #px"[/><]") + (mk-name (lambda (name ext) (build-path dir + (string-append + (regexp-replace* name re "_") "." ext)))) + ) (displayln (format "making ~a / ~a" dir name)) (to-file (mk-name name "id") id) + (to-file (mk-name name "name") name) (to-file (mk-name name "js") value_script) (to-file (mk-name name "descr") description) )) diff --git a/code-current/scripts/000 Upgrade Test.descr b/code-current/scripts/000 Upgrade Test.descr deleted file mode 100644 index 89dcd40..0000000 --- a/code-current/scripts/000 Upgrade Test.descr +++ /dev/null @@ -1 +0,0 @@ -Testscript voor EspoCRM Upgrades (voor systeembeheer) \ No newline at end of file diff --git a/code-current/scripts/000 Upgrade Test.id b/code-current/scripts/000 Upgrade Test.id deleted file mode 100644 index a24dc10..0000000 --- a/code-current/scripts/000 Upgrade Test.id +++ /dev/null @@ -1 +0,0 @@ -66ed76ba5e58baf04 \ No newline at end of file diff --git a/code-current/scripts/000 Upgrade Test.js b/code-current/scripts/000 Upgrade Test.js deleted file mode 100644 index 9d25b28..0000000 --- a/code-current/scripts/000 Upgrade Test.js +++ /dev/null @@ -1,464 +0,0 @@ -// last execution: Tue Oct 01 2024 15:18:51 GMT+0200 (Midden-Europese zomertijd) - -$par_hooked_formula_test=true; -$par_test_pdf_and_mail=true; -$par_espocrm_version=list('8', '-', '6', '7'); -$par_tabel_rijen_per_pagina=20; - -$espocrm_ver = array\at($par_espocrm_version, 0); -$aantal_rijen_op_een_pagina = $par_tabel_rijen_per_pagina; - -// Constanten - -$h_col = "#b3ccff"; -$hh_col = "#b3ffb3"; -$t_col = "#ffff99"; -$test_email = 'hans@dijkewijk.nl'; - - -// Test script - -log('warning', '00 Testscript Upgrade'); -logAdd(log); -logAdd(log, $hh_col, '00 Testscript Upgrade'); - -ifThenElse($espocrm_ver == '-', - logAdd(log, 'info', 'Log cleared, run script with other version than "-"'); - html = ''; - logAdd(log, 'info', 'HTML Report cleared'); -, - -// Hooked formula tests - -ifThen($par_hooked_formula_test, - logAdd(log, $hh_col, 'Testing Hooked Formulas'); - - // Record\FetchManyHash - - logAdd(log, $h_col, 'Record\FetchManyHash'); - - $rows = record\FetchManyHash('Contact', 'id, lidnummer, name, regiocode, datumRegistratie', 'name', 'asc'); - $n = array\length($rows); - logAdd(log, 'info', 'FetchManyHash: ', $n); - - $rows = record\FetchManyHash('Contact', 'id, lidnummer, name', 'name', 'asc', 'lidnummer=', 1935); - $n = array\length($rows); - logAdd(log, 'info', 'FetchManyHash: ', $n); - - $contact = array\at($rows, 0); - $contact_id = hash\get($contact, 'id'); - logAdd(log, 'info', 'id = ', hash\get($contact, 'id')); - logAdd(log, 'info', 'contact name: ', hash\get($contact, 'name'), ' nummer: ', hash\get($contact, 'lidnummer'), ', id = ', $contact_id); - - // Record\FindMany - - logAdd(log, 'warning', 'Record\FindMany, While, Entity\Get, Attr'); - - $rows = record\FindMany('Contact', 'name', 'asc', 'lidnummer>=', 1930, 'lidnummer<=', 1940); - $n = array\length($rows); - logAdd(log, 'info', 'FetchManyHash: ', $n); - - $i = 0; - while($i < $n, - $c = Entity\Get('Contact', array\at($rows, $i)); - logAdd(log, 'info', '--contact: ', attr($c, 'name'), ', nummer: ', attr($c, 'lidnummer')); - $i = $i + 1; - ); - - // EntityGroup - logAdd(log, $h_col, 'EntityGroup'); - // Entity Functions - logAdd(log, $t_col, 'Entity\GetMany, SetAttr'); - $entities = Entity\GetMany('Contact', 10, 'lidnummer', 'asc', 'lidnummer=', 1935); - $c = array\at($entities, 0); - $id = attr($c, 'id'); - logAdd(log, 'info', 'contact c: id = ', $id); - logAdd(log, $t_col, 'Entity\Get'); - $c_orig = Entity\Get('Contact', $id); - logAdd(log, 'info', '$c_orig: ', attr($c_orig, 'lidnummer')); - logAdd(log, 'info', '--fetched entity:', attr($c, 'lidnummer'), ' opmerking: ', attr($c, 'description')); - $s = string\concatenate('opmerking nieuw: ', datetime\now()); - setAttr($c, 'description', $s); - logAdd(log, $t_col, 'Entity\Save'); - logAdd(log, 'info', '--updated entity:', attr($c, 'lidnummer'), ' opmerking: ', attr($c, 'description')); - entity\save($c); - logAdd(log, 'info', 'entity saved'); - logAdd(log, $t_col, 'Entity\GetRelated'); - $rel = Entity\GetRelated($c, 'dossierdocumenten', 1000, 'name', 'asc'); - $i = 0; - while($i < array\length($rel), - $account = array\at($rel, $i); - logAdd(log, 'info', $i, ': ', attr($account, 'name')); - $i = $i + 1; - ); - - logAdd(log, $t_col, 'Entity\This'); - $e = entity\this(); - logAdd(log, 'info', '--Entity\This->name = ', attr($e, 'name')); - - // Config - logAdd(log, $h_col, 'Config'); - logAdd(log, 'Config functions - clearing cache'); - ConfigClearCache(); - logAdd(log, 'config_exists hoi: ', ConfigExists('hoi')); - logAdd(log, 'config_exists visitatie-geldigheid-in-jaren: ', ConfigExists('visitatie-geldigheid-in-jaren')); - ConfigInc('visitatie-geldigheid-in-jaren'); - logAdd(log, 'config_get visitatie-geldigheid-in-jaren: ', ConfigGet('visitatie-geldigheid-in-jaren')); - ConfigSet('visitatie-geldigheid-in-jaren', 5); - logAdd(log, 'config_get visitatie-geldigheid-in-jaren: ', ConfigGet('visitatie-geldigheid-in-jaren')); - - // StrAdd - logAdd(log, $h_col, 'StrAdd functions'); - $str = "Hoi"; - logAdd(log, $str); - strAdd($str, ' Hans'); - logAdd(log, 'warning', $str); - - // exec - logAdd(log, $h_col, 'Exec functions'); - $script = '$i = $i +1;logAdd(log, "increasing value to ", $i)'; - $i = 0; - Exec($script); - Exec($script); - - // Conversion - logAdd(log, $h_col, 'Conversion'); - $a = '20'; - logAdd(log, '(int) $a = ', toInt($a)); - logAdd(log, '(double) $a = ', toDouble($a)); - $b = toDouble($a); - $b = $b + 0.1; - logAdd(log, '(string) $b = ', toString($b)); - - // To Json file - logAdd(log, $h_col, 'ToJsonFile'); - logAdd(log, 'toJsonFile: ', toJsonFile('000_upgrade_test.json', $c)); - - // Diff - logAdd(log, 'warning', 'Diff'); - logAdd(log, 'diff: ', Diff($c_orig, $c)); - - // ArrayGroup - logAdd(log, $h_col, 'ArrayGroup'); - logAdd(log, $t_col, 'Array\Set'); - $a = list(10, 20, 30); - logAdd(log, 'info', '$a[1] = ', array\at($a, 1)); - $a1 = array\at($a, 1) * 2.3; - logAdd(log, 'info', '$a1 = ', $a1); - $a = array\set($a, 1, $a1); - logAdd(log, 'info', '$a[1] = ', array\at($a, 1)); - - // ExtGroup - logAdd(log, $h_col, 'ExtGroup'); - logAdd(log, $t_col, 'Ext\Htmlize'); - $body = 'Beste {{name}},

Dit is een test voor {{today}}.'; - logAdd(log, 'info', $body); - $body = ext\htmlize($body, 'Contact', attr($c, 'id')); - logAdd(log, 'info', $body); - - logAdd(log, $t_col, 'Ext\Begin, Ext\Commit'); - Ext\Begin(); - Entity\Save($c); - Entity\Save($c); - Ext\Commit(); - - logAdd(log, $t_col, 'Ext\CopyFile'); - $icons = Entity\GetMany('StandaardIcon', 1, 'name', 'asc'); - $icon_doc = array\at($icons, 0); - $file_id = attr($icon_doc, 'iconId'); - logAdd(log, 'info', 'Standaard Icon = ', attr($icon_doc, 'name '), ', File Id = ', $file_id); - - $file_id_copy = Ext\CopyFile($file_id, Entity\This()); - logAdd(log, 'info', 'Copied Attachement = ', $file_id_copy); - - logAdd(log, 'info', 'Deleting created attachement'); - //Record\Delete('Attachment', $file_id_copy); // Vanaf EspoCRM 7.4 - - ifThen($par_test_pdf_and_mail, - // ExtGroup\PdfGroup - logAdd(log, $h_col, 'Ext\PdfGroup'); - logAdd(log, $t_col, 'Ext\Pdf\PdfFillIn'); - log('warning', 'Ext\Pdf\PdfFillIn'); - $visitatie_formulier_id = configGet('visitatie-formulier'); - $formulier_id = $visitatie_formulier_id; - $lid = $c; - log('warning', 'Lid: ', attr($lid, 'lidnummer')); - $praktijken = Entity\GetRelated($c, 'accounts', 1, 'name', 'asc'); - log('warning', 'praktijken: ', array\length($praktijken)); - $pr = array\at($praktijken, 0); - $lid_id = attr($c, 'contact_id'); - $lid_nr = attr($c, 'lidnummer'); - $lid_name = attr($c, 'name'); - logAdd(log, 'warning', '$lid_name = ', $lid_name); - log('warning', '$lid_name = ', $lid_name); - $form_out = string\concatenate('visitatie-vragenlijst-', $lid_nr, '.pdf'); - $visitatiedatum = '27-08-2024'; - $two_weeks_before_visitatiedatum = '01-08-2024'; - $visitatietijdstip = '12:03'; - $visitatienummer = '12345'; - $visiteurname = 'Liesbeth Kruyswijk'; - $nvkh_afzender = 'sysadm@nvkh.nl'; - $visitatie_wacht_dagen = 10; - logAdd(log, 'info', 'visitatie vragenformulier avar document : ', $form_out); - - $attach_id = ext\pdf\fillin('Contact', $lid_id, $formulier_id, $form_out, - 'naam_homeopaat', attr($lid, 'name'), - 'naam_gevisiteerde', attr($lid, 'name'), - 'AVAR_Visitatienummer', $visitatie_nummer, - 'ondertekening_naam_gevisiteerde', attr($lid, 'name'), - 'email_homeopaat', $email, - 'naam_praktijk', attr($pr, 'naam'), - 'agb_praktijk', attr($pr, 'agbcode'), - 'rbcz_nummer', attr($lid, 'rbcznummer'), - 'nvkh_nummer', attr($lid, 'lidnummer'), - 'adres_praktijk_straat', attr($pr, 'shippingAddressStreet'), - 'adres_praktijk_postcode', attr($pr, 'shippingAddressPostalCode'), - 'adres_praktijk_plaats', attr($pr, 'shippingAddressCity'), - 'agb_persoonlijk', attr($lid, 'agbcode'), - 'datum_mbk_of_big', $mbkdatum, - 'datum_vog', $vogdatum, - 'email_retouradres', $retouradres, - 'tel_prive', attr($lid, 'phoneNumber'), - 'tel_praktijk', attr($pr, 'phoneNumber'), - 'websites', attr($pr, 'website'), - 'datum_diploma_vakopleiding', $diplomadatum, - 'bijscholingsdagen_laatste_jaren', $bijscholing, - 'datum_nascholing_big', 'Nvt', - 'datum_visitatie', $visitatiedatum, - 'tijdstip_visitatie', $visitatietijdstip, - 'AVAR_Visitatienummer', $visitatienummer - ); - logAdd(log, 'info', 'attachment id :', $attach_id); - - $body = configGet('visitatie-informatie-email'); - $scr_fnln = configGet('script-to-firstname-lastname'); - - $param_name = $lid_name; - logAdd(log, 'info', 'lid: ', $param_name); - exec($scr_fnln); - $lid_name = $val_fn_ln; - logAdd(log, 'info', 'lid_name: ', $lid_name); - - $param_name = $visiteur_name; - exec($scr_fnln); - $visiteur_name = $val_fn_ln; - - $emailadres = $test_email; - $secretariaat_email = 'secretariaat@nvkh.nl'; - - $visitatie_dt = datetime\format(datetime\now(), 'Europe/Amsterdam', 'DD/MM/YYYY'); - logAdd(log, 'repl1');log('warning', 'repl1'); - $body = string\replace($body, '{{visitatie-datum}}', $visitatie_dt); - logAdd(log, 'repl2');log('warning', 'repl2'); - $body = string\replace($body, '{{visitatie-tijdstip}}', $visitatietijdstip); - logAdd(log, 'repl3');log('warning', 'repl3'); - $body = string\replace($body, '{{visitatie-nummer}}', $visitatienummer); - logAdd(log, 'repl4');log('warning', 'repl4'); - $body = string\replace($body, '{{nvkh-afzender}}', $nvkh_afzender); - logAdd(log, 'repl5');log('warning', 'repl5'); - $body = string\replace($body, '{{visiteur}}', $visiteur_name); - logAdd(log, 'repl6');log('warning', 'repl6'); - $body = string\replace($body, '{{wacht-dagen}}', string\concatenate('', $visitatie_wacht_dagen)); - logAdd(log, 'repl7');log('warning', 'repl7'); - $body = string\replace($body, '{{retourdatum}}', $two_weeks_before_visitatiedatum); - logAdd(log, 'repl8');log('warning', 'repl8'); - $body = string\replace($body, '{{secretariaat-adres}}', $secretariaat_email); - logAdd(log, 'repl9');log('warning', 'repl9'); - $body = string\replace($body, '{{lid-naam}}', $lid_name); - logAdd(log, 'replA');log('warning', 'replA'); - $body = ext\htmlize($body, 'Contact', attr($lid, 'id')); - - $userId = env\userAttribute('id'); - - $subject = 'Upgrade Test PdfFillIn {{datum}}'; - $subject = string\replace($subject, '{{datum}}', $visitatiedatum); - - $emailId = record\create('Email', - 'subject', $subject, - 'body', $body, - 'to', $emailadres, - 'attachmentsIds', list($attach_id), - 'assignedUser', $userId, - 'isUser', true, - 'parentType', 'Contact', - 'parentId', $lid_id - ); - ext\email\send($emailId); - ); - - // GlobalGroup - - $key = 'upgrade-test-script-global-key'; - logAdd(log, 'info', 'ConfigGet for key "', $key, '"'); - $cg = ConfigGet($key); - ifThenElse($cg != 0, - Global\Set($key, $cg), - Global\UnSet($key) - ); - logAdd(log, $h_col, 'GlobalGroup'); - logAdd(log, $t_col, 'Global\IsSet'); - $is = Global\IsSet($key); - ifThenElse($is, $is = 'yes', $is = 'no'); - logAdd(log, 'info', $key, ' iset = ', $is); - ifThenElse($is == 'yes', - logAdd(log, $t_col, 'Global\Get'); - $v = Global\Get($key); - $v = $v + 1; - logAdd(log, $t_col, 'Global\Set'); - Global\Set($key, $v); - , - logAdd(log, 'info', 'initializing ', $key, ' to 1'); - $v = 1; - logAdd(log, $t_col, 'Global\Set'); - Global\Set($key, $v); - ); - logAdd(log, 'info', 'Key value: ', $key, ' = ', Global\Get($key)); - ifThen($v > 3, - logAdd(log, 'info', 'clearing ', $key); - logAdd(log, $t_col, 'Global\UnSet'); - Global\UnSet($key); - ); - ifThenElse(Global\IsSet($key), - logAdd(log, 'info', $key, ' is still set'); - ConfigSet($key, $v); - logAdd(log, 'warning', 'Run this test another time!'); - , - logAdd(log, 'info', $key, ' is not set anymore'); - ConfigSet($key, 0); - logAdd(log, 'info', 'This test is now completed.'); - ); - - // HashGroup - logAdd(log, $h_col, 'HashGroup'); - logAdd(log, $t_col, 'Hash\New'); - $hash_1 = Hash\New(); - logAdd(log, $t_col, 'Hash\Set'); - $hash_1 = Hash\Set($hash_1, 'key', 122213); - logAdd(log, $t_col, 'Hash\Get'); - $v = Hash\Get($hash_1, 'key'); - logAdd(log, 'info', 'Value for "key" = ', $v); - $hash_1 = Hash\Set($hash_1, 'key2', 'HIHI'); - log('warning', 'getting keys'); - $keys = Hash\Keys($hash_1); - logAdd(log, $t_col, 'Hash\Keys'); - $i = 0; - $n = array\length($keys); - logAdd(log, 'info', 'Number of keys: ', $n); - log('warning', 'Number of Keys: ', $n); - while($i < array\length($keys), - $key_i = array\at($keys, $i); - logAdd(log, 'info', 'key ', $i, ' = \"', $key_i, '\", value = ', hash\get($hash_1, $key_i)); - $i = $i + 1; - ); - logAdd(log, $t_col, 'Hash\IsSet'); - logAdd(log, 'info', 'hash\isset key2: ', Hash\IsSet($hash_1, 'key2')); - - ifThen($espocrm_ver != '6', - logAdd(log, $t_col, 'Hash\Copy'); - $hash_2 = Hash\Copy($hash_1); - ); - - logAdd(log, $t_col, 'Hash\UnSet'); - $hash_1 = Hash\UnSet($hash_1, 'key2'); - logAdd(log, 'info', 'hash\isset($hash_1, "key2"): ', Hash\IsSet($hash_1, 'key2')); - - ifThen($espocrm_ver != '6', - logAdd(log, 'info', 'hash\isset($hash_2, "key2"): ', Hash\IsSet($hash_2, 'key2')); - ); - - // RecordGroup - logAdd(log, $h_col, 'RecordGroup'); - logAdd(log, 'info', 'Using Contact Id ', $contact_id); - logAdd(log, $t_col, 'Record\CountRel'); - $count = Record\CountRel('Contact', $contact_id, 'accounts'); - logAdd(log, 'info', 'Record\CountRel = ', $count); - logAdd(log, $t_col, 'Record\FetchManyHash - ALREADY TESTED'); - logAdd(log, $t_col, 'Record\FindMany - ALREADY TESTED'); - logAdd(log, $t_col, 'Record\Create - ALREADY TESTED'); - - logAdd(log, $t_col, 'Record\FetchMany'); - $rows = Record\FetchMany('Contact', 'id, lidnummer', 'lidnummer', 'desc', 'lidnummer>', 1934, 'lidnummer<', 1939); - logAdd(log, 'info', 'Fetched ', array\length($rows), ' rows'); - $i = 0; - while($i < array\length($rows), - $row = array\at($rows, $i); - logAdd(log, 'info', $i, ' - id = ', array\at($row, 0), ', lidnummer = ', array\at($row, 1)); - $i = $i + 1; - ); - - logAdd(log, $t_col, 'Record\FetchRelatedMany'); - $rows = Record\FetchRelatedMany('Contact', $contact_id, 'nascholingstotalen', 'id, jaar', 'jaar', 'desc', 'jaar>=', 2022); - logAdd(log, 'info', 'Fetched ', array\length($rows), ' rows'); - $i = 0; - while($i < array\length($rows), - $row = array\at($rows, $i); - logAdd(log, 'info', $i, ' - id = ', array\at($row, 0), ', jaar = ', array\at($row, 1)); - $i = $i + 1; - ); - - logAdd(log, $t_col, 'Record\FetchRelatedManyHash'); - $rows = Record\FetchRelatedManyHash('Contact', $contact_id, 'nascholingstotalen', 'id, jaar', 'jaar', 'desc', 'jaar>=', 2022); - logAdd(log, 'info', 'Fetched ', array\length($rows), ' rows'); - $i = 0; - while($i < array\length($rows), - $row = array\at($rows, $i); - logAdd(log, 'info', $i, ' - id = ', hash\get($row, 'id'), ', jaar = ', hash\get($row, 'jaar')); - $i = $i + 1; - ); - - logAdd(log, $t_col, 'Record\Recalculate'); - Record\Recalculate('Contact', 'id=', $contact_id); - logAdd(log, 'warning', 'Check the EspoCRM Logs for this one'); - - logAdd(log, $h_col, 'StringGroup'); - logAdd(log, $t_col, 'String\Tobase64'); - $b64 = String\Tobase64($contact_id); - logAdd(log, 'info', 'id = ', $contact_id, ', - b64: ', $b64); - - - logAdd(log, $h_col, 'TableGroup'); - html = ''; - - $p_page_len = $aantal_rijen_op_een_pagina; - - $h = ''; - strAdd($h, '
'); - $table = table\new('Naam', 75, - 'Lidnummer', 5, 'right', - 'registratiejaar', 20, 'center' - ); - - table\rowsPerPage($table, $p_page_len); - table\filename($table, 'upgrade_test_tabel'); - - $rows = record\FetchManyHash('Contact', 'id, lidnummer, name, datumRegistratie, lastName', 'lastName', 'desc', 'lidnummer>', 1934, 'lidnummer<', 1980); - $n = array\length($rows); - $i = 0; - while($i < $n, - $row = array\at($rows, $i); - - $contact_id = hash\get($row, 'id'); - $name = hash\get($row, 'name'); - $reg_dat = hash\get($row, 'datumRegistratie'); - $reg_jaar = datetime\year($reg_dat); - $lidnummer = hash\get($row, 'lidnummer'); - logAdd(log, 'info', $i, ' - id = ', $contact_id, ', name = ', $name, ', reg_jaar = ', $reg_jaar, ', lidnummer = ', $lidnummer); - table\add($table, - table\link(string\concatenate('/#Contact/view/', $contact_id), $name), - string\concatenate(' ', $lidnummer), - toString($reg_jaar) - ); - $i = $i + 1; - ); - - $table_html = table\toHtml($table); - strAdd($h, $table_html); - strAdd($h, '
'); - - html = string\concatenate('

Upgrade Testscript Report

', $h); - - logAdd(log, $t_col, 'Table\New, Table\Add, Table\RowsPerPage, Table\Filename, Table\toHtml, Table\Link'); - logAdd(log, 'info', 'Testresult: see Report'); - logAdd(log, 'warning', 'Table\Style is not tested'); -); -); \ No newline at end of file diff --git a/code-current/scripts/000 job test.descr b/code-current/scripts/000 job test.descr deleted file mode 100644 index 8627043..0000000 --- a/code-current/scripts/000 job test.descr +++ /dev/null @@ -1 +0,0 @@ -# \ No newline at end of file diff --git a/code-current/scripts/000 job test.id b/code-current/scripts/000 job test.id deleted file mode 100644 index 94fa4ec..0000000 --- a/code-current/scripts/000 job test.id +++ /dev/null @@ -1 +0,0 @@ -66ed7ad21b4740be1 \ No newline at end of file diff --git a/code-current/scripts/000 job test.js b/code-current/scripts/000 job test.js deleted file mode 100644 index e9d6d23..0000000 --- a/code-current/scripts/000 job test.js +++ /dev/null @@ -1,5 +0,0 @@ -// last execution: 2026-08-28 10:23:01 -$cfg = ConfigGet('job-test'); -log('warning', 'JobTest: Current value for config job-test:', $cfg); -$cfg = datetime\now(); -ConfigSet('job-test', $cfg); \ No newline at end of file diff --git a/code-current/scripts/Alle nascholingstotalen herberekenen.descr b/code-current/scripts/Alle nascholingstotalen herberekenen.descr deleted file mode 100644 index 052216f..0000000 --- a/code-current/scripts/Alle nascholingstotalen herberekenen.descr +++ /dev/null @@ -1 +0,0 @@ -Berekent alle nascholingstotalen opnieuw, voor alle jaren. Dat zijn er dan erg veel. \ No newline at end of file diff --git a/code-current/scripts/Alle nascholingstotalen herberekenen.id b/code-current/scripts/Alle nascholingstotalen herberekenen.id deleted file mode 100644 index a2c1428..0000000 --- a/code-current/scripts/Alle nascholingstotalen herberekenen.id +++ /dev/null @@ -1 +0,0 @@ -5fa55e9426ec82119 \ No newline at end of file diff --git a/code-current/scripts/Alle nascholingstotalen herberekenen.js b/code-current/scripts/Alle nascholingstotalen herberekenen.js deleted file mode 100644 index 24ad279..0000000 --- a/code-current/scripts/Alle nascholingstotalen herberekenen.js +++ /dev/null @@ -1,76 +0,0 @@ -// last execution: 2026-08-28 03:30:01 -$script_alle_totalen = configGet('script-bereken-nascholingstotalen'); -$script_calc_totaal_voor_jaar = configGet('script-bereken-nascholingstotaal-voor-jaar'); - -log('warning', 'Fetching Maximum nascholingstotaal'); -$rows= Record\FetchManyHash('Nascholingstotaal', 'jaar', 'jaar', 'desc', 'limit by', 1); -$n_rows = array\length($rows); - -log('warning', 'n_rows=', $n_rows); - -logAdd(log); -logAdd(log, 'info', 'n_rows = ', $n_rows); - -ifThenElse($n_rows == 0, - logAdd(log, 'info', '0 nascholingstotalen'); -, - logAdd(log, 'info', $n_rows, ' nascholingstotalen'); - $row = array\at($rows, 0); - $max_jaar = hash\get($row, 'jaar'); - logAdd(log, 'info', 'Maximum jaar met nascholingstotalen = ', $max_jaar); - - logAdd(log, 'info', 'Herberekenen van alle nascholingstotalen.'); - - //global\set('nascholingstotalen-niet-herberekenen', true); - //record\recalculate('Nascholingstotaal'); - //global\unset('nascholingstotalen-niet-herberekenen'); - - logAdd(log, 'info', 'Voor alle contacten met regiocode < 30, nascholingstotaal herberekenen en dan ook totaliseren'); - - $rows = Record\FetchManyHash('Contact', 'id, lidnummer, lastName, regiocode', - 'lastName', 'asc'); - $n_rows = array\length($rows); - $i = 0; - - log('warning', 'i=', $i, ', n_rows=', $n_rows); - - while($i < $n_rows, - $row = array\at($rows, $i); - $contact_id = hash\get($row, 'id'); - $regiocode = 0 + hash\get($row, 'regiocode'); - ifThen($regiocode < 30, - $lidnummer = hash\get($row, 'lidnummer'); - $lastname = hash\get($row, 'lastName'); - logAdd(log, 'info', 'regiocode: ', $regiocode, ', lid: ', $lidnummer, ' - ', $lastname, ' - herberekenen...'); - log('warning', 'Herberekenen alle totalen voor lid ', $lidnummer, ', id = ', $contact_id); - - $tot_rows = Record\FetchManyHash('Nascholingstotaal', 'id, jaar', - 'jaar', 'asc', 'contactId=', $contact_id); - $n_tot_rows = array\length($tot_rows); - - ifThenElse($n_tot_rows == 0, - logAdd(log, 'info', 'Geen nascholingstotalen voor dit lid'); - , - $t_row = 0; - while($t_row < $n_tot_rows, - $tot_row = array\at($tot_rows, $t_row); - $jaar = hash\get($tot_row, 'jaar'); - $t_id = hash\get($tot_row, 'id'); - - logAdd(log, 'info', 'Berekenen jaar voor lid ', $lidnummer, ', jaar:', $jaar); - - $no_db_update == false; - $year = $jaar; - Exec($script_calc_totaal_voor_jaar); - - $t_row = $t_row + 1; - ); - - // bereken de hele zaak - $year = $jaar; - Exec($script_alle_totalen); - ); - ); - $i = $i + 1; - ); -); \ No newline at end of file diff --git a/code-current/scripts/Bereken totaal voor één lid.descr b/code-current/scripts/Bereken totaal voor één lid.descr deleted file mode 100644 index 1e78d0a..0000000 --- a/code-current/scripts/Bereken totaal voor één lid.descr +++ /dev/null @@ -1 +0,0 @@ -Berekent de nascholingstotalen voor één lid \ No newline at end of file diff --git a/code-current/scripts/Bereken totaal voor één lid.id b/code-current/scripts/Bereken totaal voor één lid.id deleted file mode 100644 index 49b3e08..0000000 --- a/code-current/scripts/Bereken totaal voor één lid.id +++ /dev/null @@ -1 +0,0 @@ -620ae9091bdb2322c \ No newline at end of file diff --git a/code-current/scripts/Bereken totaal voor één lid.js b/code-current/scripts/Bereken totaal voor één lid.js deleted file mode 100644 index d92cb1f..0000000 --- a/code-current/scripts/Bereken totaal voor één lid.js +++ /dev/null @@ -1,44 +0,0 @@ -// last execution: Fri Aug 28 2026 11:05:10 GMT+0200 (Midden-Europese zomertijd) - -$me = Entity\This(); - -logAdd(log); - -logAdd(log, 'info', 'Ophalen naberekeningsscript voor één jaar'); -$jaar_calc_script = configGet('script-bereken-nascholingstotaal-voor-jaar'); - -logAdd(log, 'info', 'Ophalen naberekeningsscript voor de jaren'); -$jaren_calc_script = configGet('script-bereken-nascholingstotalen'); - -logAdd(log, 'info', 'Leden ophalen bij dit script'); -$contacts = Entity\GetRelated($me, 'contacts', 1000, 'lidnummer', 'asc'); -$n = Array\Length($contacts); -logAdd(log, 'info', $n, ' Leden'); - -$i = 0; -while($i < $n, - $contact = array\at($contacts, $i); - $contact_id = Attr($contact, 'id'); - - logAdd(log, 'warning', 'Lid: ', Attr($contact, 'lidnummer'), ' - ', Attr($contact, 'name')); - - logAdd(log, 'Ophalen nascholingstotalen'); - $nascholingstotalen = Entity\GetRelated($contact, 'nascholingstotalen', 1000, 'jaar', 'asc'); - logAdd(log, 'opgehaald'); - - $m = array\length($nascholingstotalen); - logAdd(log, 'info', ' #nascholingstotalen: ', $m); - $j = 0; - while($j < $m, - $nascholingstotaal = array\at($nascholingstotalen, $j); - $year = Attr($nascholingstotaal, 'jaar'); - logAdd(log, 'info', ' Herberekenen jaar: ', $year); - Exec($jaar_calc_script); - $j = $j + 1; - ); - - logAdd(log, 'info', 'Totalen herberekenen'); - Exec($jaren_calc_script); - - $i = $i + 1; -); \ No newline at end of file diff --git a/code-current/scripts/CZ Export Lijst.descr b/code-current/scripts/CZ Export Lijst.descr deleted file mode 100644 index b9a69c8..0000000 --- a/code-current/scripts/CZ Export Lijst.descr +++ /dev/null @@ -1,3 +0,0 @@ -Voert de laatste stand van de gegevens uit voor CZ. - -Alle leden met regiocode < 30 worden uitgevoerd. \ No newline at end of file diff --git a/code-current/scripts/CZ Export Lijst.id b/code-current/scripts/CZ Export Lijst.id deleted file mode 100644 index eb3aa2c..0000000 --- a/code-current/scripts/CZ Export Lijst.id +++ /dev/null @@ -1 +0,0 @@ -5ed765f5bd8a8b9bc \ No newline at end of file diff --git a/code-current/scripts/CZ Export Lijst.js b/code-current/scripts/CZ Export Lijst.js deleted file mode 100644 index 9ba7a8c..0000000 --- a/code-current/scripts/CZ Export Lijst.js +++ /dev/null @@ -1,88 +0,0 @@ -// last execution: Fri Apr 25 2025 10:06:42 GMT+0200 (Midden-Europese zomertijd) - -$par_Regels_per_pagina=18; -$par_Alleen_buitenlandse=false; -$par_Excel_Bestandsnaam_voorzien_van_datum=true; -$par_Excel_Bestandsnaam='CZ Kwartaallijst'; - -$p_filename = $par_Excel_Bestandsnaam; -ifThen($par_Excel_Bestandsnaam_voorzien_van_datum, - $now = datetime\today(); - $fmt = datetime\format($now, 'Europe/Amsterdam', 'DD-MM-YYYY'); - $p_filename = string\concatenate($p_filename, ' ', $fmt); -); -$p_page_len = $par_Regels_per_pagina; -ifThen($p_page_len < 1, $p_page_len = 10;); - -$p_no_nl = $par_Alleen_buitenlandse; - -html = ''; -logAdd(log); - -$rows = record\fetchManyHash('Contact', - 'id, agbcode, initialsName, middleName, lastName, addressStreet, addressPostalCode, addressCity, addressCountry, regiocode', - 'lastName', 'asc'); - -$n = array\length($rows); -logAdd(log, 'Contacts read: ', $n); -$h = ''; - -strAdd($h, '
'); - -$table = table\new('Persoonlijk AGB', - 'VolledigeNaam', - 'Adres', - 'Postcode', - 'Woonplaats', 'asc', - 'Land' - ); -table\rowsPerPage($table, $p_page_len); -table\filename($table, $p_filename); - -logAdd(log, 'Rows Per Page: ', $p_page_len); -logAdd(log, 'Filename: ', $p_filename); - -$i = 0; -while($i < $n, - $e = array\at($rows, $i); - - $regiocode = hash\get($e, 'regiocode'); - $agbcode = hash\get($e, 'agbcode'); - ifThenElse($agbcode == null, $agbcode = '';, $agbcode = string\trim($agbcode);); - $regiocode = $regiocode + 0; - $meenemen = $regiocode < 30 && $agbcode != ''; - - ifThen($meenemen, - $initials = hash\get($e, 'initialsName'); - $voorvoegsel = hash\get($e, 'middleName'); - $naam = hash\get($e, 'lastName'); - $adres = hash\get($e, 'addressStreet'); - $postcode = hash\get($e, 'addressPostalCode'); - $plaats = hash\get($e, 'addressCity'); - $country = hash\get($e, 'addressCountry'); - - ifThen($country == null || $country == '', $country = 'Nederland'); - - $report = true; - ifThen($country == 'Nederland' && $p_no_nl, $report = false;); - - ifThen($voorvoegsel, $voorvoegsel = string\concatenate($voorvoegsel, ' ');); - $fullname = string\concatenate($initials, ' ', $voorvoegsel, $naam); - - $agbcode = string\replace($agbcode, '/', ''); - - ifThen($report, - table\add($table, - $agbcode, $fullname, $adres, $postcode, $plaats, $country - ); - ); - ); - - $i = $i + 1; -); - -strAdd($h, table\toHtml($table)); - -strAdd($h, '
'); - -html=$h; \ No newline at end of file diff --git a/code-current/scripts/Controle Praktijk-AGB.descr b/code-current/scripts/Controle Praktijk-AGB.descr deleted file mode 100644 index 60ecdc7..0000000 --- a/code-current/scripts/Controle Praktijk-AGB.descr +++ /dev/null @@ -1,3 +0,0 @@ -Checkt of leden met een regiocode < 30 een AGB voor hun praktijk hebben. -Checkt daarnaast of er een lege persoonlijke AGB code voor die leden. -En checkt of de AGB code aan het format voldoet: nn/nnnnnn. \ No newline at end of file diff --git a/code-current/scripts/Controle Praktijk-AGB.id b/code-current/scripts/Controle Praktijk-AGB.id deleted file mode 100644 index 504fe97..0000000 --- a/code-current/scripts/Controle Praktijk-AGB.id +++ /dev/null @@ -1 +0,0 @@ -5ed794a47a7f6b2b3 \ No newline at end of file diff --git a/code-current/scripts/Controle Praktijk-AGB.js b/code-current/scripts/Controle Praktijk-AGB.js deleted file mode 100644 index d504300..0000000 --- a/code-current/scripts/Controle Praktijk-AGB.js +++ /dev/null @@ -1,123 +0,0 @@ -// last execution: Fri Dec 04 2020 19:25:55 GMT+0100 (Midden-Europese standaardtijd) - -$par_Rapporteer_alleen_de_lege_Praktijk_AGBs=true; -$par_Maximum_aantal_rijen_per_pagina=12; -$par_Valide_AGB_Prefixen='84,90'; - -html = ''; -logAdd(log); - -$p_agb_report = $par_Rapporteer_alleen_de_lege_Praktijk_AGBs; -$p_page_len = $par_Maximum_aantal_rijen_per_pagina; -ifThen($p_page_len < 1, - $p_page_len = 10; - ); -$agb_prefixes=string\replace($par_Valide_AGB_Prefixen, ',', '|'); -$re_agb = string\concatenate('/^(', $agb_prefixes, ')[\/][0-9]{6,6}$/'); - -$rows = record\fetchManyHash('Contact', - 'id, agbcode, firstName, middleName, lastName, emailAddress, regiocode', - 'lastName', 'asc'); - -$n = array\length($rows); -logAdd(log, 'Contacts read: ', $n); -$h = ''; - -$table = table\new('AGB Persoonlijk', 10, - 'AGB Praktijk', 10, - 'Voornaam', 10, 'ellipsis', - 'Achternaam', 20, 'asc', 'ellipsis', - 'Praktijknaam', 25, 'ellipsis', - 'Regiocode', 5, 'center', - 'eMail', 20, 'ellipsis' - ); -table\rowsPerPage($table, $p_page_len); - -$i = 0; -while($i < $n, - $e = array\at($rows, $i); - - $regiocode = hash\get($e, 'regiocode'); - $r_code = $regiocode + 0; - $meenemen = $r_code < 30; - $naam = hash\get($e, 'lastName'); - - ifThen($meenemen, - $id = hash\get($e, 'id'); - $praktijk_id = record\findRelatedOne('Contact', $id, 'accounts', 'type'); - - - ifThenElse($praktijk_id, - $praktijk_rows = record\fetchManyHash('Account', 'naam, agbcode, type', 'type', 'asc', 'id=', $praktijk_id); - $praktijk_row = array\at($praktijk_rows, 0); - - $praktijk_naam = hash\get($praktijk_row, 'naam'); - $praktijk_agbcode = hash\get($praktijk_row, 'agbcode'); - , - $praktijk_naam = ''; - $praktijk_agbcode = ''; - ); - - $style = ''; - $report = true; - $problem = false; - - ifThenElse($praktijk_agbcode != '' && $praktijk_agbcode != null, - $report = !$p_agb_report; - , - $problem = true; - ifThen(!$p_agb_report, - $style = 'background:#f78c81;'; - ); - ); - - $agbcode = hash\get($e, 'agbcode'); - ifThen($agbcode == '' || $agbcode == null, - $problem = true; - $report = true; - ifThen(!$p_agb_report, - $style = 'background:#f78c81;'; - ); - ); - - - ifThen(!$problem, - ifThen(string\match($agbcode, $re_agb) == null, - $style = 'background:#faa75f;'; - $report = true; - ); - - ifThen(string\match($praktijk_agbcode, $re_agb) == null, - $style = 'background:#faa75f;'; - $report = true; - ); - ); - - ifThen($report, - - $voornaam = hash\get($e, 'firstName'); - $voorvoegsel = hash\get($e, 'middleName'); - $email = hash\get($e, 'emailAddress'); - - ifThen($voorvoegsel, - $naam = string\concatenate($naam, ', ', $voorvoegsel); - ); - - table\add($table, $agbcode, $praktijk_agbcode, - $voornaam, - table\link(string\concatenate('/#Contact/view/', $id), $naam), - $praktijk_naam, - $regiocode, $email - ); - table\style($table, $style); - ); - ); - - $i = $i + 1; -); - -strAdd($h, table\toHtml($table)); -strAdd($h, ''); - -html=$h; - diff --git a/code-current/scripts/Dagen Medisch <=2018 op 0.descr b/code-current/scripts/Dagen Medisch <=2018 op 0.descr deleted file mode 100644 index e1d5bb0..0000000 --- a/code-current/scripts/Dagen Medisch <=2018 op 0.descr +++ /dev/null @@ -1 +0,0 @@ -Updaten van alle nascholingstotaal records van <=2018, waarbij dagen medisch op 0 wordt gezet. Hierbij wordt niet per contact het totaal aan nascholingstotalen herberekend, maar worden alleen de individuele nascholingstotalen herberekend. Dit wordt gedaan door de globale variabele 'nascholingstotalen-niet-herberekenen' te zetten. \ No newline at end of file diff --git a/code-current/scripts/Dagen Medisch <=2018 op 0.id b/code-current/scripts/Dagen Medisch <=2018 op 0.id deleted file mode 100644 index e62cf25..0000000 --- a/code-current/scripts/Dagen Medisch <=2018 op 0.id +++ /dev/null @@ -1 +0,0 @@ -5f05d49d9948e27c7 \ No newline at end of file diff --git a/code-current/scripts/Dagen Medisch <=2018 op 0.js b/code-current/scripts/Dagen Medisch <=2018 op 0.js deleted file mode 100644 index 424888c..0000000 --- a/code-current/scripts/Dagen Medisch <=2018 op 0.js +++ /dev/null @@ -1,21 +0,0 @@ -// last execution: Tue Jul 14 2020 09:06:56 GMT+0200 (Midden-Europese zomertijd) - -global\set('nascholingstotalen-niet-herberekenen', true); - -logAdd(log); -$rows = record\fetchManyHash('Nascholingstotaal', 'id, jaar, dagenMedisch', 'name', 'asc', 'jaar<=', '2018'); -logAdd(log, 'Aantal rijen:', array\length($rows)); - -$i = 0; -$n = array\length($rows); - -while($i < $n, - $row = array\at($rows, $i); - $id = hash\get($row, 'id'); - $jaar = hash\get($row, 'jaar'); - record\update('Nascholingstotaal', $id, 'dagenMedisch', 0); - logAdd(log, 'Updating: ', $i, ' - ', $jaar); - $i = $i + 1; -); - -global\unset('nascholingstotalen-niet-herberekenen'); diff --git a/code-current/scripts/Herberekenen individuele nascholingstotaal-records.descr b/code-current/scripts/Herberekenen individuele nascholingstotaal-records.descr deleted file mode 100644 index 465a8ec..0000000 --- a/code-current/scripts/Herberekenen individuele nascholingstotaal-records.descr +++ /dev/null @@ -1 +0,0 @@ -Triggert de herberekening van alle individuele nascholingsrecords. \ No newline at end of file diff --git a/code-current/scripts/Herberekenen individuele nascholingstotaal-records.id b/code-current/scripts/Herberekenen individuele nascholingstotaal-records.id deleted file mode 100644 index 9b03c4e..0000000 --- a/code-current/scripts/Herberekenen individuele nascholingstotaal-records.id +++ /dev/null @@ -1 +0,0 @@ -5f0c8b06e797b2dc0 \ No newline at end of file diff --git a/code-current/scripts/Herberekenen individuele nascholingstotaal-records.js b/code-current/scripts/Herberekenen individuele nascholingstotaal-records.js deleted file mode 100644 index 9b8c8a7..0000000 --- a/code-current/scripts/Herberekenen individuele nascholingstotaal-records.js +++ /dev/null @@ -1,5 +0,0 @@ -// last execution: Tue Jul 14 2020 08:58:56 GMT+0200 (Midden-Europese zomertijd) - -global\set('nascholingstotalen-niet-herberekenen', true); -record\recalculate('Nascholingstotaal'); -global\unset('nascholingstotalen-niet-herberekenen'); diff --git a/code-current/scripts/Herberekenen nascholingen.descr b/code-current/scripts/Herberekenen nascholingen.descr deleted file mode 100644 index caa122f..0000000 --- a/code-current/scripts/Herberekenen nascholingen.descr +++ /dev/null @@ -1 +0,0 @@ -Triggert de contacten om de nascholingstotalen te herberekenen \ No newline at end of file diff --git a/code-current/scripts/Herberekenen nascholingen.id b/code-current/scripts/Herberekenen nascholingen.id deleted file mode 100644 index 1836c3c..0000000 --- a/code-current/scripts/Herberekenen nascholingen.id +++ /dev/null @@ -1 +0,0 @@ -5efa6f935ef17c59a \ No newline at end of file diff --git a/code-current/scripts/Herberekenen nascholingen.js b/code-current/scripts/Herberekenen nascholingen.js deleted file mode 100644 index b0c5a94..0000000 --- a/code-current/scripts/Herberekenen nascholingen.js +++ /dev/null @@ -1,32 +0,0 @@ -// last execution: Tue Jul 14 2020 13:08:34 GMT+0200 (Midden-Europese zomertijd) - -logAdd(log); - -$leden = Record\FetchManyHash('Contact', 'id, name, regiocode', 'name', 'asc'); - -$i = 0; -$n = array\length($leden); -logAdd(log, 'info', '#leden om te processen: ', $n); - -while($i < $n, - $lid = array\at($leden, $i); - - $regiocode = hash\get($lid, 'regiocode'); - $r_code = string\substring($regiocode, 0, 2) + 0; - - ifThenElse($r_code >= 30, - logAdd(log, 'info', $i, ': lid: ', hash\get($lid, 'name'), ' - regiocode >= 30'); - , - logAdd(log, 'info', $i, ': lid: ', hash\get($lid, 'name'), ' - herberekenen nascholingstotalen'); - - $lid_id = hash\get($lid, 'id'); - - // Trigger recalculate van één van de nascholingen - $na_id = record\findRelatedOne('Contact', $lid_id, 'nascholingstotalen', 'createdAt', 'desc'); - ifThen($na_id, record\recalculate('Nascholingstotaal', 'id=', $na_id); ); - ); - - $i = $i + 1; -); - -logAdd(log, 'info', 'Klaar.'); \ No newline at end of file diff --git a/code-current/scripts/Homeopaten Doellijst Bijwerken.descr b/code-current/scripts/Homeopaten Doellijst Bijwerken.descr deleted file mode 100644 index fc32a47..0000000 --- a/code-current/scripts/Homeopaten Doellijst Bijwerken.descr +++ /dev/null @@ -1 +0,0 @@ -Maakt de doellijst met homeopaten resp. werkt deze bij \ No newline at end of file diff --git a/code-current/scripts/Homeopaten Doellijst Bijwerken.id b/code-current/scripts/Homeopaten Doellijst Bijwerken.id deleted file mode 100644 index a18e94f..0000000 --- a/code-current/scripts/Homeopaten Doellijst Bijwerken.id +++ /dev/null @@ -1 +0,0 @@ -5f16fdf4c0b3bc6b8 \ No newline at end of file diff --git a/code-current/scripts/Homeopaten Doellijst Bijwerken.js b/code-current/scripts/Homeopaten Doellijst Bijwerken.js deleted file mode 100644 index 65c8239..0000000 --- a/code-current/scripts/Homeopaten Doellijst Bijwerken.js +++ /dev/null @@ -1,66 +0,0 @@ -// last execution: 2026-08-28 03:00:01 -logAdd(log); - -$entities = Entity\GetMany('TargetList', 1, 'name', 'asc', 'name=', 'Homeopaten'); -$n = array\length($entities); - -ifThenElse($n == 0, - logAdd(log, 'warning', 'Geen "Homeopaten" doellijst, maak deze eerst aan!'); - , - logAdd(log, 'info', 'Homeopaten doellijst aanwezig, leden worden vervangen...'); - - $doellijst = array\at($entities, 0); - $id = attr($doellijst, 'id'); - - logAdd(log, 'info', 'Verwijderen leden met regiocode >=30'); - $rows = record\fetchRelatedManyHash('TargetList', $id, - 'contacts', 'id, lastName, regiocode', - 'lastName', 'asc' - ); - $n = array\length($rows); - logAdd(log, 'info', 'Aantal gerelateerde leden: ', $n); - $i = 0; - $rcnt = 0; - while($i < $n, - $row = array\at($rows, $i); - $code = hash\get($row, 'regiocode') + 0; - ifThen($code >= 30, - $lastname = hash\get($row, 'lastName'); - $contact_id = hash\get($row, 'id'); - logAdd(log, 'info', 'Verwijderen: ', $lastname, '; regiocode=', $code); - record\unrelate('TargetList', $id, 'contacts', $contact_id); - $rcnt = $rcnt + 1; - ); - $i = $i + 1; - ); - - logAdd(log, 'info', 'Relateren leden met regiocode <30'); - $rows = record\fetchManyHash('Contact', 'id, lastName, regiocode', 'lastName', 'asc'); - $n = array\length($rows); - logAdd(log, 'info', 'Aantal leden om te beoordelen: ', $n); - $i = 0; - $cnt = 0; - $hom_cnt = 0; - while($i < $n, - $row = array\at($rows, $i); - $code = hash\get($row, 'regiocode') + 0; - ifThen($code < 30, - $hom_cnt = $hom_cnt + 1; - $contact_id = hash\get($row, 'id'); - $r_id = record\findRelatedMany('TargetList', $id, - 'contacts', 1, 'createdAt', 'desc', - 'id=', $contact_id - ); - ifThen(!$r_id, - $lastname = hash\get($row, 'lastName'); - logAdd(log, 'info', 'Toevoegen lid: ', $lastname); - record\relate('TargetList', $id, 'contacts', $contact_id); - $cnt = $cnt + 1; - ); - ); - $i = $i + 1; - ); - logAdd(log, 'info', $cnt, ' leden toegevoegd'); - logAdd(log, 'info', $rcnt, ' leden verwijderd'); - logAdd(log, 'info', $hom_cnt, ' leden in de lijst'); -); \ No newline at end of file diff --git a/code-current/scripts/Import Nabewerking - Nascholingstotalen koppelen.descr b/code-current/scripts/Import Nabewerking - Nascholingstotalen koppelen.descr deleted file mode 100644 index 19ee020..0000000 --- a/code-current/scripts/Import Nabewerking - Nascholingstotalen koppelen.descr +++ /dev/null @@ -1 +0,0 @@ -Koppelt de geïmporteerde nascholingstotalen aan de betreffende leden. \ No newline at end of file diff --git a/code-current/scripts/Import Nabewerking - Nascholingstotalen koppelen.id b/code-current/scripts/Import Nabewerking - Nascholingstotalen koppelen.id deleted file mode 100644 index 6a99b5f..0000000 --- a/code-current/scripts/Import Nabewerking - Nascholingstotalen koppelen.id +++ /dev/null @@ -1 +0,0 @@ -5ef9d2ba1e3e500f5 \ No newline at end of file diff --git a/code-current/scripts/Import Nabewerking - Nascholingstotalen koppelen.js b/code-current/scripts/Import Nabewerking - Nascholingstotalen koppelen.js deleted file mode 100644 index 931c8b1..0000000 --- a/code-current/scripts/Import Nabewerking - Nascholingstotalen koppelen.js +++ /dev/null @@ -1,44 +0,0 @@ -// last execution: Mon Jun 29 2020 15:53:33 GMT+0200 (Midden-Europese zomertijd) - -$par_Nu_uitvoeren=1; - -logAdd(log); - -ifThenElse($par_Nu_uitvoeren == 0, - logAdd(log, 'info', "Zet 'Nu uitvoeren' op 1 om deze taak uit te voeren."); - , - $nascholingen = entity\getMany('Nascholingstotaal', 10000, 'jaar', ''); - - $i = 0; - $n = array\length($nascholingen); - - logAdd(log, 'info', 'Aantal nascholingsrecords: ', $n); - - while($i < $n, - - $nascholing = array\at($nascholingen, $i); - - $lidnr = attr($nascholing, 'lidnummer'); - $jaar = attr($nascholing, 'jaar'); - - $contacts = entity\getMany('Contact', 1, 'name', '', 'lidnummer=', $lidnr); - - log('error', $i, ': nascholingsjaar: ', $jaar, 'lidnummer: ', $lidnr); - - ifThenElse(array\length($contacts) > 0, - $contact = array\at($contacts, 0); - $name = attr($contact, 'name'); - - setAttr($nascholing, 'contactId', attr($contact, 'id')); - - entity\save($nascholing); - - logAdd(log, 'info', $i, ': nascholingsjaar: ', $jaar, ', lidnummer: ', $lidnr, ' naam: ', $name); - , - logAdd(log, 'warning', $i, ': lidnummer: ', $lidnr, ' niet aanwezig in het systeem'); - ); - - $i = $i + 1; - ); -); - diff --git a/code-current/scripts/Import Nabewerking - Visitaties.descr b/code-current/scripts/Import Nabewerking - Visitaties.descr deleted file mode 100644 index 0245b15..0000000 --- a/code-current/scripts/Import Nabewerking - Visitaties.descr +++ /dev/null @@ -1 +0,0 @@ -Koppelt de geïmporteerde visitaties aan de betreffende leden \ No newline at end of file diff --git a/code-current/scripts/Import Nabewerking - Visitaties.id b/code-current/scripts/Import Nabewerking - Visitaties.id deleted file mode 100644 index c803ca7..0000000 --- a/code-current/scripts/Import Nabewerking - Visitaties.id +++ /dev/null @@ -1 +0,0 @@ -5ed18abfb4cefb71d \ No newline at end of file diff --git a/code-current/scripts/Import Nabewerking - Visitaties.js b/code-current/scripts/Import Nabewerking - Visitaties.js deleted file mode 100644 index 3d59cba..0000000 --- a/code-current/scripts/Import Nabewerking - Visitaties.js +++ /dev/null @@ -1,36 +0,0 @@ -// last execution: Tue Jun 09 2020 13:51:55 GMT+0200 (Midden-Europese zomertijd) - -$par_import=0; - -logAdd(log); -ifThenElse($par_import == 1, - logAdd(log, 'Bezig de visitaties te koppelen aan de leden'); - - $records = record\fetchMany('Visitatie', 'id, lidnummer, name', 'lidnummer', 'asc'); - $n = array\length($records); - logAdd(log, $n, ' visitaties ingelezen'); - - $i = 0; - while($i < $n, - $row = array\at($records, $i); - $lidnummer = array\at($row, 1); - $visitatie_id = array\at($row, 0); - $datum = array\at($row, 2); - $contact_id = record\findOne('Contact', 'createdAt', 'asc', 'lidnummer=', $lidnummer); - ifThenElse($contact_id, - $success = record\relate('Visitatie', $visitatie_id, 'lid', $contact_id); - ifThenElse($success, - logAdd(log, 'relateren contact_id = ', $contact_id, ' voor ', $lidnummer, ' gelukt, met datum ', $datum); - , - logAdd(log, 'error', - 'relateren contact_id = ', $contact_id, ' voor ', $lidnummer, ' met datum ', $datum, 'niet gelukt' - ); - ); - , - logAdd(log, 'error', 'lidnummer "', $lidnummer, '" niet gevonden'); - ); - $i = $i + 1; - ); - , - logAdd(log, 'Zet import op 1 om de visitatie nabewerking uit te voeren'); -); \ No newline at end of file diff --git a/code-current/scripts/Import Nabewerking - leden aan praktijken koppelen.descr b/code-current/scripts/Import Nabewerking - leden aan praktijken koppelen.descr deleted file mode 100644 index 5e67d27..0000000 --- a/code-current/scripts/Import Nabewerking - leden aan praktijken koppelen.descr +++ /dev/null @@ -1 +0,0 @@ -Bewerkt de import na, als de parameter gelijk is aan 1 \ No newline at end of file diff --git a/code-current/scripts/Import Nabewerking - leden aan praktijken koppelen.id b/code-current/scripts/Import Nabewerking - leden aan praktijken koppelen.id deleted file mode 100644 index 125087b..0000000 --- a/code-current/scripts/Import Nabewerking - leden aan praktijken koppelen.id +++ /dev/null @@ -1 +0,0 @@ -5ed0fa67cb3ab01e7 \ No newline at end of file diff --git a/code-current/scripts/Import Nabewerking - leden aan praktijken koppelen.js b/code-current/scripts/Import Nabewerking - leden aan praktijken koppelen.js deleted file mode 100644 index 979d5f3..0000000 --- a/code-current/scripts/Import Nabewerking - leden aan praktijken koppelen.js +++ /dev/null @@ -1,72 +0,0 @@ -// last execution: Tue Jun 09 2020 13:51:49 GMT+0200 (Midden-Europese zomertijd) - -$par_import=0; - -logAdd(log); - -IfThenElse($par_import, - $records = record\fetchMany('Account', 'id, name, lidnummers', 'name', 'asc', 'lidnummers!=', ''); - - $i = 0; - $n = array\length($records); - logAdd(log, 'Nabewerken: ', $n, ' praktijken'); - - while($i < $n, - $row = array\at($records, $i); - $account_id = array\at($row, 0); - $account_name = array\at($row, 1); - $lidnummers = array\at($row, 2); - logAdd(log, $account_id, ' - ', $lidnummers); - $i = $i + 1; - - $lid_nummers = string\matchAll($lidnummers, '/[0-9]+/'); - - $j = 0; - $m = array\length($lid_nummers); - - while($j < $m, - $lidnummer = array\at($lid_nummers, $j); - $contact_id = record\findOne('Contact', 'createdAt', 'asc', 'lidnummer=', $lidnummer); - ifThenElse($contact_id, - $success = record\relate('Account', $account_id, 'contacts', $contact_id); - ifThenElse($success, - logAdd(log, 'relateren contact_id = ', $contact_id, ' voor ', $lidnummer, ' gelukt'); - , - logAdd(log, 'error', 'relateren contact_id = ', $contact_id, ' voor ', $lidnummer, ' niet gelukt'); - ); - , - logAdd(log, 'error', 'lidnummer "', $lidnummer, '" niet gevonden'); - ); - $j = $j + 1; - ); - - ); - -/* - $lid_nummers = - - logAdd(log, 'lid_nummers = ', $lid_nummers); - logAdd(log, 'length = ', array\length($lid_nummers)); - - $i = 0; - $n = array\length($lid_nummers); - log('error', 'Praktijk:', 'n=', $n); - - while( - $i < $n, - $lidnummer = array\at($lid_nummers, $i); - $lidnummer = $lidnummer + 0; - $contact_id = record\findOne('Contact', 'createdAt', 'asc', 'lidnummer=', $lidnummer); - ifThenElse($contact_id, - logAdd(log, 'Contact: linking contact_id = ', $contact_id); - record\relate('Account', $accountId, 'contacts', $contact_id), - logAdd(log, 'lidnummer ', $lidnummer, ' niet gevonden'); - ); - $i = $i + 1; - ); -*/ - , - - logAdd(log, 'par_import = 0, de import nabewerking wordt niet uitgevoerd nu.'); - -); diff --git a/code-current/scripts/Inlezen consultgegevens.descr b/code-current/scripts/Inlezen consultgegevens.descr deleted file mode 100644 index 79534c8..0000000 --- a/code-current/scripts/Inlezen consultgegevens.descr +++ /dev/null @@ -1 +0,0 @@ -Importeert CSV bestanden met lidnummer, #consulten (of leeg als er geen consulten waren; of niet ingevuld.) \ No newline at end of file diff --git a/code-current/scripts/Inlezen consultgegevens.id b/code-current/scripts/Inlezen consultgegevens.id deleted file mode 100644 index 525ae4e..0000000 --- a/code-current/scripts/Inlezen consultgegevens.id +++ /dev/null @@ -1 +0,0 @@ -60192aded6ee3632b \ No newline at end of file diff --git a/code-current/scripts/Inlezen consultgegevens.js b/code-current/scripts/Inlezen consultgegevens.js deleted file mode 100644 index 926f7e6..0000000 --- a/code-current/scripts/Inlezen consultgegevens.js +++ /dev/null @@ -1,116 +0,0 @@ -// last execution: Thu Feb 04 2021 11:28:51 GMT+0100 (Midden-Europese standaardtijd) - -$csvfile_par_consultgegevens_als_csv='Lid Nummer,consulten 2019,\n1846,,\n1780,,\n1856,150,\n0045,,\n0878,200,\n1509,v,\n1697,,\n0325,,\n1316,v,\n1255,300,\n1871,,\n0600,362,\n1749,400,\n1938,,\n1055,,\n0949,,\n1885,v,\n1148,v,\n1258,65,\n1352,50,\n0982,100,\n1431,v,\n1924,v,\n0349,v,\n1849,,\n1761,155,\n1830,,\n1821,,\n0489,219,\n1940,,\n1682,v,\n1030,,\n1219,422,\n1675,93,\n1459,,\n0769,,\n0847,555,\n0871,v,\n0157,,\n1433,,\n1536,250,\n1158,,\n1621,,\n1820,112,\n1926,,\n0395,61,\n1436,,\n1880,,\n1896,18,\n1716,617,\n1799,,\n0220,584,\n1883,,\n1640,,\n1628,191,\n0723,,\n1242,,\n1914,168,\n0038,,\n1003,400,\n1762,,\n1256,,\n1718,304,\n1487,v,\n1259,,\n0049,212,\n1362,150,\n1706,352,\n1784,37,\n1274,v,\n1579,v,\n1547,,\n1565,,\n1001,200,\n1500,v, \n1790,33,\n1357,177,\n1727,,\n0751,520,\n1892,,\n0293,,\n1239,,\n0191,459,\n0257,v, \n1329,,\n1512,v,\n0853,,\n1842,62,\n1143,651,\n1935,40,\n1387,,\n1585,,\n0985,,\n1002,104,\n0265,760,\n0669,900,\n1872,24,\n1569,201,\n0743,,\n0577,185,\n1495,65,\n1643,90,\n1794,v,\n1750,208,\n1841,,\n1932,,\n0729,188,\n1658,,\n1571,,\n1796,,\n1713,252,\n1507,560,\n0205,900,\n0189,720,\n0956,90,\n0336,,\n1541,201,\n1933,,\n1278,262,\n0080,400,\n1690,,\n1824,25,\n1620,280,\n1584,815,\n0396,,\n0757,v,\n1736,178,\n0812,361,\n1533,,\n1063,71,\n1380,300,\n1358,380,\n1445,,\n1894,,\n1863,35,\n1681,194,\n1741,v,\n0963,,\n0778,1000,\n1205,350,\n1759,24,\n0726,,\n1293,250,\n1524,v,\n0421,,\n1203,3550,\n1878,,\n1865,,\n0111,550,\n1696,,\n1253,1000,\n1210,250,\n1288,,\n1666,v,\n1455,,\n1691,,\n0271,473,\n1787,,\n1859,728,\n0924,180,\n1811,,\n1079,90,\n1848,,\n1499,v,\n1260,445,\n0456,250,\n1826,18,\n1048,,\n1605,v,\n0961,1100,\n0451,,\n1457,,\n0685,500,\n0042,,\n1911,v,\n0957,180,\n1623,v,\n0084,,\n1828,50,\n1680,1000,\n1350,,\n1610,v,\n1684,,\n1720,190,\n0843,135,\n1869,v,\n1614,355,\n1418,190,\n1598,,\n1954,,\n1563,300,\n1919,77,\n0266,,\n1613,,\n1325,,\n1466,170,\n1747,4,\n0301,,\n0919,176,\n1729,,\n1589,v,\n1395,,\n1897,v,\n1669,,\n1171,v,\n1725,,\n1712,250,\n0286,557,\n0076,v,\n1920,,\n1693,v,\n0179,,\n1513,,\n0887,1100,\n1700,v,\n1622,v,\n0893,1219,\n0848,,\n0954,,\n1945,,\n1575,v,\n1936,,\n1917,200,\n1629,158,\n1321,310,\n0631,247,\n1895,,\n0180,,\n1860,,\n0230,,\n1853,,\n1532,253,\n1254,,\n0085,500,\n0606,500,\n1633,100,\n0398,300,\n1649,300,\n1709,160,\n1798,,\n1699,193,\n1816,35,\n1218,v,\n1868,27,\n1597,250,\n1804,,\n0799,84,\n1788,358,\n1934,40,\n0660,161,\n1810,,\n1854,,\n1428,173,\n1814,,\n1299,,\n0063,,\n0633,225,\n1939,,\n0807,450,\n0485,,\n1570,750,\n1634,280,\n1801,731,\n1889,,\n1578,,\n1554,v,\n1722,v,\n1627,230,\n1701,,\n1943,,\n0433,610,\n1652,,\n1730,285,\n1866,,\n1777,221,\n0190,496,\n1805,,\n0137,,\n1150,300,\n0525,107,\n1838,110,\n1803,96,\n1639,371,\n0140,227,\n1923,47,\n1827,,\n0866,213,\n1161,v,\n0355,39,\n1674,,\n0872,500,\n1737,180,\n1005,24,\n0155,220,\n0003,,\n1529,525,\n1040,,\n1359,250,\n0516,,\n0154,,\n1266,,\n0209,185,\n1858,,\n0185,v,\n1615,v,\n0004,125,\n1948,,\n1683,95,\n1086,v,\n0926,230,\n1899,,\n0756,60,\n1893,,\n1823,504,\n1141,,\n1808,,\n0287,,\n1464,150,\n1746,280,\n1916,,\n0967,340,\n0876,,\n1534,450,\n0861,1200,\n1949,,\n0363,204,\n0932,251,\n0953,500,\n1745,148,\n1929,,\n1653,v,\n1175,220,\n1740,54,\n1435,250,\n0226,124,\n0938,490,\n1432,400,\n1549,720,\n0047,299,\n1779,v,\n1035,431,\n1728,11,\n1797,,\n0788,v,\n1545,,\n0569,,\n0228,,\n0316,,\n1498,50,\n0461,,\n1711,108,\n0927,,\n0413,380,\n1600,,\n1887,,\n1733,v,\n1467,85,\n1641,,\n1813,,\n1425,,\n1724,900,\n1638,v,\n0869,,\n1096,710,\n0714,501,\n1781,v,\n0034,,\n1809,,\n0171,215,\n0935,360,\n0720,240,\n1510,222,\n1213,362,\n1648,833,\n1195,v,\n0203,143,\n1667,v,\n0533,v,\n1874,624,\n1556,206,\n1692,400,\n1857,,\n1465,400,\n1732,v,\n0721,,\n0899,,\n1873,,\n1891,,\n1942,15,\n1937,,\n0643,,\n0245,,\n0322,,\n1877,,\n1815,,\n0727,v,\n0292,,\n1062,,\n0112,,\n0113,502,\n0551,320,\n1562,670,\n1763,825,\n1383,,\n0984,,\n0114,,\n1468,,\n0648,1450,\n1179,,\n1703,v,\n0821,v,\n1785,,\n1886,,\n1791,290,\n0811,25,\n1572,,\n1698,108,\n1772,517,\n1471,203,\n1752,,\n0885,,\n1363,,\n1850,230,\n1178,325,\n1407,450,\n1812,,\n1773,738,\n1665,140,\n0388,217,\n1317,,\n0564,,\n0696,v,\n0875,v,\n0570,107,\n1625,,\n1941,,\n1283,,\n1084,173,\n1912,,\n1739,550,\n1612,61,\n1953,,\n1807,v,\n1422,540,\n1837,,\n0273,,\n1276,,\n1123,65,\n0580,,\n1778,110,\n1100,150,\n1843,,\n1267,,\n1930,,\n1867,,\n0022,,\n0664,,\n1659,,\n0628,,\n1663,436,\n1011,284,\n0820,482,\n0178,,\n0928,v,\n1888,,\n0342,,\n1156,,\n1308,270,\n0921,,\n'; -$par_Testrun_geen_consultgegevens_maken=false; -$par_jaar=2019; - -logAdd(log); - -$csv = $csvfile_par_consultgegevens_als_csv; -$testrun = $par_Testrun_geen_consultgegevens_maken; -$jaar = $par_jaar; - -ifThenElse($csv == '', - logAdd(log, 'error', 'Geen CSV bestand ingelezen, kies er één.'); - , - logAdd(log, 'warning', 'CSV Bestand ingelezen, uitvoeren inlezen consultgegevens.'); - - $idx1 = string\pos($csv, ','); - $idx2 = string\pos($csv, ';'); - - $comma="@$@#@@"; - ifThenElse($idx1, - ifThenElse($idx2, - ifThenElse($idx1 < $idx2, $comma=',', $comma=';'); - , - $comma=','; - ); - , - ifThen($idx2, - $comma=';'; - ); - ); - - $re_entries = string\concatenate('/["][^"]*["]|[^', $comma, ']+/'); - - $user_id = env\userAttribute('id'); - logAdd(log, 'info', 'User id: ', $user_id); - - logAdd(log, 'info', "Gevonden comma-separator: '", $comma, "' - positie ','=", $idx1, ", positie ';'=", $idx2 ); - - ifThenElse($testrun, - logAdd(log, 'warning', 'Testrun - er worden geen consultgegevens aangemaakt.'); - , - logAdd(log, 'warning', 'Er worden consultgegevens aangemaakt'); - ); - - // Split in lines - - $rows=list(); - $line=''; - $csv = string\concatenate(string\trim($csv), '\n'); - $idx = string\pos($csv, '\n'); - $data = list(); - $n_data = 2; - $heading = true; - - while($idx, - $line = string\substring($csv, 0, $idx); - $csv = string\substring($csv, $idx + 1); - - $entries = string\matchAll($line, $re_entries); - - $k = array\length($entries); - ifThen($k < $n_data, $entries = array\push($entries, '')); - $k = array\length($entries); - ifThenElse($k < $n_data, - logAdd(log, 'error', 'Minder dan ', $n_data, ' cellen op deze rij, niet te herkennen'); - logAdd(log, 'error', $line); - , - $row = list(); - $j = 0; - while($j < $k, - $entry = array\at($entries, $j); - $row = array\push($row, $entry); - $j = $j + 1; - ); - ifThenElse($heading, - $heading = false; - , - $rows = array\push($rows, $row); - ); - ); - - $idx = string\pos($csv, '\n'); - ); - - $n = array\length($rows); - logAdd(log, 'warning', $n, ' - rijen ingelezen'); - - - $i = 0; - while($i < $n, - $row = array\at($rows, $i); - $lidnummer = toString(array\at($row, 0)); - $consulten = string\trim(array\at($row, 1)); - ifThen($consulten == 'v', $consulten = ""); - ifThenElse($consulten != "", - $consulten_int = toInt($consulten); - $id = record\findOne('Contact', 'name', 'asc', 'lidnummer=', $lidnummer); - ifThenElse($id, - ifThenElse($testrun, - logAdd(log, 'info', 'Testrun, er worden geen consultgegevens opgevoerd'); - , - $rec_id = record\create('ConsultGegevens', 'contactId', $id, 'jaar', $jaar, 'aantal', $consulten_int, 'assignedUserId', $used_id); - record\relate('Contact', $id, 'consultGegevens', $rec_id); - ); - logAdd(log, 'info', 'lidnummer: ', $lidnummer, ' - ', $consulten_int, ' consulten opgegeven (', $consulten, '), voor id: ', $id); - , - logAdd(log, 'warning', 'lidnummer: ', $lidnummer, ' - geen id gevonden!'); - ); - , - logAdd(log, 'info', 'lidnummer: ', $lidnummer, ' - geen consulten opgegeven'); - ); - $i = $i + 1; - ); -); diff --git a/code-current/scripts/Leden met dubbel geregistreerde nascholingen.descr b/code-current/scripts/Leden met dubbel geregistreerde nascholingen.descr deleted file mode 100644 index 03de786..0000000 --- a/code-current/scripts/Leden met dubbel geregistreerde nascholingen.descr +++ /dev/null @@ -1 +0,0 @@ -Rapporteer leden die in een bepaald nascholingsjaar nascholingen meer dan 1 keer geregistreerd hebben. Te checken voor leden die moeten nascholen, d.w.z. leden met regiocode < 30 en ongelijk 8 (verloskundige). \ No newline at end of file diff --git a/code-current/scripts/Leden met dubbel geregistreerde nascholingen.id b/code-current/scripts/Leden met dubbel geregistreerde nascholingen.id deleted file mode 100644 index 532ad17..0000000 --- a/code-current/scripts/Leden met dubbel geregistreerde nascholingen.id +++ /dev/null @@ -1 +0,0 @@ -639e03f4e8f686f7a \ No newline at end of file diff --git a/code-current/scripts/Leden met dubbel geregistreerde nascholingen.js b/code-current/scripts/Leden met dubbel geregistreerde nascholingen.js deleted file mode 100644 index 57c9f0d..0000000 --- a/code-current/scripts/Leden met dubbel geregistreerde nascholingen.js +++ /dev/null @@ -1,162 +0,0 @@ -// last execution: Sun Dec 18 2022 17:14:39 GMT+0100 (Midden-Europese standaardtijd) - -$par_nascholingsjaar=2021; -$par_open_lid_in_nieuwe_tab=true; -$par_aantal_rijen_op_een_pagina=21; - -$p_page_len = $par_aantal_rijen_op_een_pagina; - -logAdd(log); - -html = ''; -$h = ''; - -logAdd(log, "Controle op dubbel geregistreerde nascholingsvereisten voor jaar ", $par_nascholingsjaar); -$leden = Record\FetchManyHash('Contact', - 'id, firstName, middleName, lastName, name, regiocode, dispensatie, lidnummer, datumRegistratie', - 'lastName', 'asc' - ); - -strAdd($h, '
'); -$table = table\new('Voornaam', 10, - 'Achternaam', 20, 'asc', - 'Lidnummer', 10, 'center', - 'Regiocode', 10, 'center', - 'Nascholingen van lid', 20, 'center', - 'Dubbel geregistreerd', 30 - ); - -table\rowsPerPage($table, $p_page_len); -table\filename($table, string\concatenate($par_nascholingsjaar, ' - leden met te weinig nascholing')); - -$i = 0; -$n = array\length($leden); - -logAdd(log, 'leden:', $n); -$n_onvoldoende = 0; -$cnt_dubbelingen = 0; - -while($i < $n, - $lid = array\at($leden, $i); - $r_code = string\substring(hash\get($lid, 'regiocode'), 0, 2) + 0; - - ifThen($r_code < 30 && $r_code != 8, - $rapport = true; - $contact_id = hash\get($lid, 'id'); - $dispensatie = hash\get($lid, 'dispensatie'); - $lidnummer = hash\get($lid, 'lidnummer'); - $naam = hash\get($lid, 'name'); - $middlename = hash\get($lid, 'middleName'); - $firstname = hash\get($lid, 'firstName'); - $lastname = string\concatenate($middlename, ' ', hash\get($lid, 'lastName')); - $regdat = hash\get($lid, 'datumRegistratie'); - $reg_jaar = datetime\year($regdat); - - $contact = Entity\Get('Contact', $contact_id); - $nascholingstotalen = Entity\GetRelated($contact, 'nascholingstotalen', 10, 'jaar', 'asc', 'jaar=', $par_nascholingsjaar); - $m = array\length($nascholingstotalen); - - ifThenElse($m == 0, $heeft_nt = 'nee', ifThenElse($m > 1, $heeft_nt = 'teveel', $heeft_nt = 'ja')); - ifThen($m > 0, $nascholingstotals = array\at($nascholingstotalen, 0);$nascholingstotalen_id = attr($nascholingstotals, 'id')); - ifThen($m == 0 && $par_nascholingsjaar < $reg_jaar, $rapport = false; $reden = 'gevraagde jaar ligt voor registratie jaar'); - ifThen($m == 0, ifThen($rapport, $reden = 'voor het gevraagde jaar geen nascholingstotaal aanwezig!')); - ifThenElse($rapport, $opnemen = 'opnemen in rapport', $opnemen = 'niet opnemen'); - - // Nu checken of er überhaupt dubbele nascholingsrecords zijn. - - ifThen($heeft_nt == 'ja', - $cnt_dubbel = 0; - $nascholingen = Entity\GetRelated($nascholingstotals, 'nascholingen1', 1000, 'name', 'asc'); - $m = array\length($nascholingen); - //logAdd(log, 'info', $m, ' nascholingen gevonden'); - $j = 0; - $ns_hash = Hash\New(); - while($j < $m, - $ns = array\at($nascholingen, $j); - $j = $j + 1; - - $ns_id = attr($ns, 'accNascholingId'); - $ns_soort = attr($ns, 'soort'); - $ns_name = attr($ns, 'name'); - $ns_status = attr($ns, 'status'); - //logAdd(log, 'info', 'ns_id = ', $ns_id, ' - name=', attr($ns, 'name'), ' - soort=', $ns_soort, ' - status=', $ns_status); - - ifThenElse($ns_soort != 'Vooraf aangevraagd met formulier', - $check_dubbel = true; - ifThen($ns_status == 'afgekeurd', $check_dubbel = false) - , - $check_dubbel = false - ); - - ifThen($check_dubbel, - $dubbel = false; - - //logAdd(log, 'info', 'isset ', $ns_id, ' = ', hash\isset($ns_hash, $ns_id)); - ifThenElse(hash\isset($ns_hash, $ns_id), - $cnt = hash\get($ns_hash, $ns_id) + 1 - , - $cnt = 1 - ); - //logAdd(log, 'info', 'cnt = ', $cnt); - $ns_hash = hash\set($ns_hash, $ns_id, $cnt); - - ifThen($cnt == 2, $dubbel = true); - //logAdd(log, 'info', 'ns_id - cnt = ', $cnt); - - ifThen($dubbel, - $ln_ns = table\link(string\concatenate('/#Nascholingstotaal/view/', $nascholingstotalen_id), 'Nascholingen'); - table\add($table, - table\link(string\concatenate('/#Contact/view/', $contact_id), $firstname), - table\link(string\concatenate('/#Contact/view/', $contact_id), $lastname), - string\concatenate(' ', $lidnummer), - string\concatenate(' ', $regiocode), - $ln_ns, - table\link(string\concatenate('/#Nascholing/view/', $ns_id), $ns_name) - ); - $cnt_dubbel = $cnt_dubbel + 1; - ); - ); - ); - - ifThenElse($cnt_dubbel > 0, - logAdd(log, 'warning', 'lid: ', $naam, ', lidnummer: ', $lidnummer, ', nascholingen: ', $m, ' - heeft dubbel opgevoerde nascholingsrecords'); - $cnt_dubbelingen = $cnt_dubbelingen + 1; - , - logAdd(log, 'info', 'lid: ', $naam, ', lidnummer: ', $lidnummer, ', nascholingen: ', $m, ' - heeft geen dubbel opgevoerde nascholingsrecords'); - ); - ); - - ifThen($heeft_nt == 'nee', - logAdd(log, 'info', 'lid: ', $naam, ', lidnummer: ', $lidnummer, ' - heeft geen nascholingsjaar ', $par_nascholingsjaar); - ); - - ifThen($heeft_nt == 'teveel', - logAdd(log, 'warning', 'lid: ', $naam, ', lidnummer: ', $lidnummer, ' - heeft teveel nascholingsjaar ', $par_nascholingsjaar, ' records'); - table\add($table, - table\link(string\concatenate('/#Contact/view/', $contact_id), $firstname), - table\link(string\concatenate('/#Contact/view/', $contact_id), $lastname), - string\concatenate(' ', $lidnummer), - string\concatenate(' ', $regiocode), - 'meerdere nascholingstotalen voor zelfde jaar', - '' - ); - ); - ); - - $i = $i + 1 -); - -$table_html = table\toHtml($table); -//$table_html = string\replace($table_html, 'title="%RED%', 'title="'); -//$table_html = string\replace($table_html, '%END"', '"'); -//$table_html = string\replace(string\replace($table_html, '%RED%', ''), '%END%', ''); - -strAdd($h, '

', 'Leden met dubbele nascholingsboekingen voor jaar ', toString($par_nascholingsjaar), '

'); -$msg = string\concatenate('In totaal ', $cnt_dubbelingen, ' leden met dubbel opgevoerde nascholingen gevonden.'); -strAdd($h, $msg); -ifThen($cnt_dubbelingen > 0, strAdd($h, $table_html)); -strAdd($h, '
'); - -html=$h; - -logAdd(log, 'warning', $msg); diff --git a/code-current/scripts/Leden met hun praktijken - eenvoudige lijst.descr b/code-current/scripts/Leden met hun praktijken - eenvoudige lijst.descr deleted file mode 100644 index bf77583..0000000 --- a/code-current/scripts/Leden met hun praktijken - eenvoudige lijst.descr +++ /dev/null @@ -1 +0,0 @@ -Geeft een lijst met alle niet ex-leden met hun praktijken (p1, p2 en p3) \ No newline at end of file diff --git a/code-current/scripts/Leden met hun praktijken - eenvoudige lijst.id b/code-current/scripts/Leden met hun praktijken - eenvoudige lijst.id deleted file mode 100644 index 86b3800..0000000 --- a/code-current/scripts/Leden met hun praktijken - eenvoudige lijst.id +++ /dev/null @@ -1 +0,0 @@ -602e70cccdb6eccbb \ No newline at end of file diff --git a/code-current/scripts/Leden met hun praktijken - eenvoudige lijst.js b/code-current/scripts/Leden met hun praktijken - eenvoudige lijst.js deleted file mode 100644 index a529aee..0000000 --- a/code-current/scripts/Leden met hun praktijken - eenvoudige lijst.js +++ /dev/null @@ -1,228 +0,0 @@ -//exec last execution: Fri Jun 12 2026 11:17:40 GMT+0200 (Midden-Europese zomertijd) - -$par_Regels_per_pagina=18; -$par_Excel_Bestandsnaam_voorzien_van_datum=true; -$par_Excel_Bestandsnaam='ledenlijst'; - -$p_filename = $par_Excel_Bestandsnaam; -ifThen($par_Excel_Bestandsnaam_voorzien_van_datum, - $now = datetime\today(); - $fmt = datetime\format($now, 'Europe/Amsterdam', 'DD-MM-YYYY'); - $p_filename = string\concatenate($p_filename, ' ', $fmt); -); -$p_page_len = $par_Regels_per_pagina; -ifThen($p_page_len < 1, $p_page_len = 10;); - -html = ''; -logAdd(log); - -$fields = string\concatenate( - 'id, salutationName, initialsName, firstName, middleName, lastName, ', - 'geboortedatum, geslacht, ', - 'addressStreet, addressPostalCode, addressCity, addressCountry, ', - 'emailAddress, phoneNumber, website, ', - 'regiocode, lidnummer, ', - 'balens, quasier, ', - 'dispensatie, ', - 'agbcode, rbcznummer, mCode, ', - 'datumRegistratie, vakopleidingDatumDiploma, mBKDatum, datumVOG, ', - 'geplandeAfstudeerdatum, einddatum ', - '' - ); - -$rows = record\fetchManyHash('Contact', $fields, 'lastName', 'asc'); - -$n = array\length($rows); -logAdd(log, 'Contacts read: ', $n); -$h = ''; - -strAdd($h, '
'); - -$table = table\new('Aanhef', 'Initialen', 'Voornaam', 'Voorzetsel', 'Achternaam', - 'Geboortedatum', - 'Straat', 'Postcode', 'Plaats', 'Land', - 'eMail', 'Telefoon', - 'Regiocode', 'Lidnummer', - 'Agbcode', - 'Registratie', - 'Praktijken Agbcode', - 'Praktijken tel.', - 'P1 Naam', 'P1 Straat', 'P1 Postcode', 'P1 Plaats', 'P1 Website', - 'P2 Naam', 'P2 Straat', 'P2 Postcode', 'P2 Plaats', 'P2 Website', - 'P3 Naam', 'P3 Straat', 'P3 Postcode', 'P3 Plaats', 'P3 Website' - ); -table\rowsPerPage($table, $p_page_len); -table\filename($table, $p_filename); - -$i = 0; -while($i < $n, - $e = array\at($rows, $i); - - $regiocode = hash\get($e, 'regiocode'); - $regiocode = $regiocode + 0; - $meenemen = $regiocode < 30; - $lastname = hash\get($e, 'lastName'); - - logAdd(log, 'info', 'regiocode=', $regiocode, ' lastName=', $lastname); - - ifThen($meenemen, - $contact_id = hash\get($e, 'id'); - $salutation = hash\get($e, 'salutationName'); - $initials = hash\get($e, 'initialsName'); - $firstname = hash\get($e, 'firstName'); - $voorvoegsel = hash\get($e, 'middleName'); - $street = hash\get($e, 'addressStreet'); - $postalcode = hash\get($e, 'addressPostalCode'); - $city = hash\get($e, 'addressCity'); - $country = hash\get($e, 'addressCountry'); - ifThen($country == null || $country == '', $country = 'Nederland'); - $email = hash\get($e, 'emailAddress'); - ifThen($email, $email = table\link(string\concatenate('mailto:', $email), $email)); - $phone = hash\get($e, 'phoneNumber'); - ifThen($website, $website = table\link(string\concatenate('http://', $website), $website, '_blank')); - $birth = hash\get($e, 'geboortedatum'); - $gender = hash\get($e, 'geslacht'); - $lidnr = hash\get($e, 'lidnummer'); - $balens = hash\get($e, 'balens'); - $quasir = hash\get($e, 'quasier'); - $dispensatie = hash\get($e, 'dispensatie'); - $agbcode = hash\get($e, 'agbcode'); - $mcode = hash\get($e, 'mCode'); - $rbcznr = hash\get($e, 'rbcznummer'); - $registratie = hash\get($e, 'datumRegistratie'); - $vakopleiding = hash\get($e, 'vakopleidingDatumDiploma'); - $mbk = hash\get($e, 'mBKDatum'); - $vog = hash\get($e, 'datumVOG'); - $afstuderen = hash\get($e, 'geplandeAfstudeerdatum') - $einddatum = hash\get($e, 'einddatum'); - - $contact = entity\get('Contact', $contact_id); - $p1s = entity\getRelated($contact, 'accounts', 1, 'name', 'asc', 'type=', 'P1'); - ifThenElse(array\length($p1s) == 1, $p1 = array\at($p1s, 0), $p1 = null); - $p2s = entity\getRelated($contact, 'accounts', 1, 'name', 'asc', 'type=', 'P2'); - ifThenElse(array\length($p2s) == 1, $p2 = array\at($p2s, 0), $p2 = null); - $p3s = entity\getRelated($contact, 'accounts', 1, 'name', 'asc', 'type=', 'P3'); - ifThenElse(array\length($p3s) == 1, $p3 = array\at($p3s, 0), $p3 = null); - - $report = true; - ifThenElse($p1, - $p1_name = attr($p1, 'naam'); - $p1_straat = attr($p1, 'shippingAddressStreet'); - $p1_postcode = attr($p1, 'shippingAddressPostalCode'); - $p1_plaats = attr($p1, 'shippingAddressCity'); - $p1_land = attr($p1, 'shippngAddressCountry'); - $p1_email = attr($p1, 'emailAddress'); - $p1_phone = attr($p1, 'phoneNumber'); - $p1_website = attr($p1, 'website'); - $p1_op_internet = attr($p1, 'opInternet'); - $p1_agbcode = attr($p1, 'agbcode'); - , - $p1_name = ''; - $p1_straat = ''; - $p1_postcode = ''; - $p1_plaats = ''; - $p1_land = ''; - $p1_email = ''; - $p1_phone = ''; - $p1_website = ''; - $p1_op_internet = ''; - $p1_agbcode = ''; - ); - - ifThenElse($p2, - $p2_name = attr($p2, 'naam'); - $p2_straat = attr($p2, 'shippingAddressStreet'); - $p2_postcode = attr($p2, 'shippingAddressPostalCode'); - $p2_plaats = attr($p2, 'shippingAddressCity'); - $p2_land = attr($p2, 'shippngAddressCountry'); - $p2_email = attr($p2, 'emailAddress'); - $p2_phone = attr($p2, 'phoneNumber'); - $p2_website = attr($p2, 'website'); - $p2_op_internet = attr($p2, 'opInternet'); - $p2_agbcode = attr($p2, 'agbcode'); - , - $p2_name = ''; - $p2_straat = ''; - $p2_postcode = ''; - $p2_plaats = ''; - $p2_land = ''; - $p2_email = ''; - $p2_phone = ''; - $p2_website = ''; - $p2_op_internet = ''; - $p2_agbcode = ''; - ); - - ifThenElse($p3, - $p3_name = attr($p3, 'naam'); - $p3_straat = attr($p3, 'shippingAddressStreet'); - $p3_postcode = attr($p3, 'shippingAddressPostalCode'); - $p3_plaats = attr($p3, 'shippingAddressCity'); - $p3_land = attr($p3, 'shippngAddressCountry'); - $p3_email = attr($p3, 'emailAddress'); - $p3_phone = attr($p3, 'phoneNumber'); - $p3_website = attr($p3, 'website'); - $p3_op_internet = attr($p3, 'opInternet'); - $p3_agbcode = attr($p3, 'agbcode'); - , - $p3_name = ''; - $p3_straat = ''; - $p3_postcode = ''; - $p3_plaats = ''; - $p3_land = ''; - $p3_email = ''; - $p3_phone = ''; - $p3_website = ''; - $p3_op_internet = ''; - $p3_agbcode = ''; - ); - - $p_agbcode = ''; - ifThenElse($p1_agbcode, - $p_agbcode = $p1_agbcode; - , - ifThenElse($p2_agbcode, - $p_agbcode = $p2_agbcode; - , - ifThen($p3_agbcode, $p_agbcode = $p3_agbcode;); - ); - ); - $p_phone = ''; - ifThenElse($p1_phone, - $p_phone = $p1_phone; - , - ifThenElse($p2_phone, - $p_phone = $p2_phone; - , - ifThen($p3_phone, $p_phone = $p3_phone;); - ); - ); - - - ifThen($report, - table\add($table, - $salutation, $initials, $firstname, $voorvoegsel, $lastname, - $birth, - $street, $postalcode, $city, $country, - $email, $phone, - $regiocode, $lidnr, - $agbcode, - $registratie, - $p_agbcode, - $p_phone, - $p1_name, $p1_straat, $p1_postcode, $p1_plaats, $p1_website, - $p2_name, $p2_straat, $p2_postcode, $p2_plaats, $p2_website, - $p3_name, $p3_straat, $p3_postcode, $p3_plaats, $p3_website - ); - ); - - ); - - $i = $i + 1; -); - -strAdd($h, table\toHtml($table)); - -strAdd($h, '
'); - -html=$h; \ No newline at end of file diff --git a/code-current/scripts/Leden met hun praktijken.descr b/code-current/scripts/Leden met hun praktijken.descr deleted file mode 100644 index 1092769..0000000 --- a/code-current/scripts/Leden met hun praktijken.descr +++ /dev/null @@ -1 +0,0 @@ -Geeft een lijst met alle niet ex-leden met hun praktijken (p1, p2 en p3) \ No newline at end of file diff --git a/code-current/scripts/Leden met hun praktijken.id b/code-current/scripts/Leden met hun praktijken.id deleted file mode 100644 index 0483d2f..0000000 --- a/code-current/scripts/Leden met hun praktijken.id +++ /dev/null @@ -1 +0,0 @@ -5fca5c9b4b0997868 \ No newline at end of file diff --git a/code-current/scripts/Leden met hun praktijken.js b/code-current/scripts/Leden met hun praktijken.js deleted file mode 100644 index 78299e2..0000000 --- a/code-current/scripts/Leden met hun praktijken.js +++ /dev/null @@ -1,220 +0,0 @@ -//exec last execution: Fri Jun 12 2026 11:18:17 GMT+0200 (Midden-Europese zomertijd) - -$par_Regels_per_pagina=18; -$par_Excel_Bestandsnaam_voorzien_van_datum=true; -$par_Excel_Bestandsnaam='ledenlijst'; - -$p_filename = $par_Excel_Bestandsnaam; -ifThen($par_Excel_Bestandsnaam_voorzien_van_datum, - $now = datetime\today(); - $fmt = datetime\format($now, 'Europe/Amsterdam', 'DD-MM-YYYY'); - $p_filename = string\concatenate($p_filename, ' ', $fmt); -); -$p_page_len = $par_Regels_per_pagina; -ifThen($p_page_len < 1, $p_page_len = 10;); - -html = ''; -logAdd(log); - -$fields = string\concatenate( - 'id, salutationName, initialsName, firstName, middleName, lastName, ', - 'geboortedatum, geslacht, ', - 'addressStreet, addressPostalCode, addressCity, addressCountry, ', - 'emailAddress, phoneNumber, website, ', - 'regiocode, lidnummer, ', - 'balens, quasier, ', - 'dispensatie, ', - 'agbcode, rbcznummer, mCode, ', - 'datumRegistratie, vakopleidingDatumDiploma, mBKDatum, datumVOG, ', - 'geplandeAfstudeerdatum, einddatum ', - '' - ); - -$rows = record\fetchManyHash('Contact', $fields, 'lastName', 'asc'); - -$n = array\length($rows); -logAdd(log, 'Contacts read: ', $n); -$h = ''; - -strAdd($h, '
'); - -$table = table\new('Aanhef', 'Initialen', 'Voornaam', 'Voorzetsel', 'Achternaam', - 'Geboortedatum', 'Geslacht', - 'Straat', 'Postcode', 'Plaats', 'Land', - 'eMail', 'Telefoon', 'Website', - 'Regiocode', 'Lidnummer', - 'Balens', 'Quasier', - 'Dispensatie', - 'Agbcode', 'RBCZnr', 'MCode', - 'Registratie', 'Vakopleiding', 'MBK', 'VOG', 'Afstuderen', 'Beeindiging', - 'P1 Naam', 'P1 Straat', 'P1 Postcode', 'P1 Plaats', 'P1 Land', - 'P1 eMail', 'P1 Telefoon', 'P1 Website', 'P1 Op Internet', - 'P1 Agbcode', - 'P2 Naam', 'P2 Straat', 'P2 Postcode', 'P2 Plaats', 'P2 Land', - 'P2 eMail', 'P2 Telefoon', 'P2 Website', 'P2 Op Internet', - 'P2 Agbcode', - 'P3 Naam', 'P3 Straat', 'P3 Postcode', 'P3 Plaats', 'P3 Land', - 'P3 eMail', 'P3 Telefoon', 'P3 Website', 'P3 Op Internet', - 'P3 Agbcode' - ); -table\rowsPerPage($table, $p_page_len); -table\filename($table, $p_filename); - -$i = 0; -while($i < $n, - $e = array\at($rows, $i); - - $regiocode = hash\get($e, 'regiocode'); - $regiocode = $regiocode + 0; - $meenemen = $regiocode < 30; - $lastname = hash\get($e, 'lastName'); - - logAdd(log, 'info', 'regiocode=', $regiocode, ' lastName=', $lastname); - - ifThen($meenemen, - $contact_id = hash\get($e, 'id'); - $salutation = hash\get($e, 'salutationName'); - $initials = hash\get($e, 'initialsName'); - $firstname = hash\get($e, 'firstName'); - $voorvoegsel = hash\get($e, 'middleName'); - $street = hash\get($e, 'addressStreet'); - $postalcode = hash\get($e, 'addressPostalCode'); - $city = hash\get($e, 'addressCity'); - $country = hash\get($e, 'addressCountry'); - ifThen($country == null || $country == '', $country = 'Nederland'); - $email = hash\get($e, 'emailAddress'); - ifThen($email, $email = table\link(string\concatenate('mailto:', $email), $email)); - $phone = hash\get($e, 'phoneNumber'); - $website = hash\get($e, 'website'); - ifThen($website, $website = table\link(string\concatenate('http://', $website), $website, '_blank')); - $birth = hash\get($e, 'geboortedatum'); - $gender = hash\get($e, 'geslacht'); - $lidnr = hash\get($e, 'lidnummer'); - $balens = hash\get($e, 'balens'); - $quasir = hash\get($e, 'quasier'); - $dispensatie = hash\get($e, 'dispensatie'); - $agbcode = hash\get($e, 'agbcode'); - $mcode = hash\get($e, 'mCode'); - $rbcznr = hash\get($e, 'rbcznummer'); - $registratie = hash\get($e, 'datumRegistratie'); - $vakopleiding = hash\get($e, 'vakopleidingDatumDiploma'); - $mbk = hash\get($e, 'mBKDatum'); - $vog = hash\get($e, 'datumVOG'); - $afstuderen = hash\get($e, 'geplandeAfstudeerdatum') - $einddatum = hash\get($e, 'einddatum'); - - $contact = entity\get('Contact', $contact_id); - $p1s = entity\getRelated($contact, 'accounts', 1, 'name', 'asc', 'type=', 'P1'); - ifThenElse(array\length($p1s) == 1, $p1 = array\at($p1s, 0), $p1 = null); - $p2s = entity\getRelated($contact, 'accounts', 1, 'name', 'asc', 'type=', 'P2'); - ifThenElse(array\length($p2s) == 1, $p2 = array\at($p2s, 0), $p2 = null); - $p3s = entity\getRelated($contact, 'accounts', 1, 'name', 'asc', 'type=', 'P3'); - ifThenElse(array\length($p3s) == 1, $p3 = array\at($p3s, 0), $p3 = null); - - $report = true; - ifThenElse($p1, - $p1_name = attr($p1, 'naam'); - $p1_straat = attr($p1, 'shippingAddressStreet'); - $p1_postcode = attr($p1, 'shippingAddressPostalCode'); - $p1_plaats = attr($p1, 'shippingAddressCity'); - $p1_land = attr($p1, 'shippngAddressCountry'); - $p1_email = attr($p1, 'emailAddress'); - $p1_phone = attr($p1, 'phoneNumber'); - $p1_website = attr($p1, 'website'); - $p1_op_internet = attr($p1, 'opInternet'); - $p1_agbcode = attr($p1, 'agbcode'); - , - $p1_name = ''; - $p1_straat = ''; - $p1_postcode = ''; - $p1_plaats = ''; - $p1_land = ''; - $p1_email = ''; - $p1_phone = ''; - $p1_website = ''; - $p1_op_internet = ''; - $p1_agbcode = ''; - ); - - ifThenElse($p2, - $p2_name = attr($p2, 'naam'); - $p2_straat = attr($p2, 'shippingAddressStreet'); - $p2_postcode = attr($p2, 'shippingAddressPostalCode'); - $p2_plaats = attr($p2, 'shippingAddressCity'); - $p2_land = attr($p2, 'shippngAddressCountry'); - $p2_email = attr($p2, 'emailAddress'); - $p2_phone = attr($p2, 'phoneNumber'); - $p2_website = attr($p2, 'website'); - $p2_op_internet = attr($p2, 'opInternet'); - $p2_agbcode = attr($p2, 'agbcode'); - , - $p2_name = ''; - $p2_straat = ''; - $p2_postcode = ''; - $p2_plaats = ''; - $p2_land = ''; - $p2_email = ''; - $p2_phone = ''; - $p2_website = ''; - $p2_op_internet = ''; - $p2_agbcode = ''; - ); - - ifThenElse($p3, - $p3_name = attr($p3, 'naam'); - $p3_straat = attr($p3, 'shippingAddressStreet'); - $p3_postcode = attr($p3, 'shippingAddressPostalCode'); - $p3_plaats = attr($p3, 'shippingAddressCity'); - $p3_land = attr($p3, 'shippngAddressCountry'); - $p3_email = attr($p3, 'emailAddress'); - $p3_phone = attr($p3, 'phoneNumber'); - $p3_website = attr($p3, 'website'); - $p3_op_internet = attr($p3, 'opInternet'); - $p3_agbcode = attr($p3, 'agbcode'); - , - $p3_name = ''; - $p3_straat = ''; - $p3_postcode = ''; - $p3_plaats = ''; - $p3_land = ''; - $p3_email = ''; - $p3_phone = ''; - $p3_website = ''; - $p3_op_internet = ''; - $p3_agbcode = ''; - ); - - ifThen($report, - table\add($table, - $salutation, $initials, $firstname, $voorvoegsel, $lastname, - $birth, $gender, - $street, $postalcode, $city, $country, - $email, $phone, $website, - $regiocode, $lidnr, - $balens, $quasir, - $dispensatie, - $agbcode, $rbcznr, $mcode, - $registratie, $vakopleiding, $mbk, $vog, $afstuderen, $einddatum, - $p1_name, $p1_straat, $p1_postcode, $p1_plaats, $p1_land, - $p1_email, $p1_phone, $p1_website, $p1_op_internet, - $p1_agbcode, - $p2_name, $p2_straat, $p2_postcode, $p2_plaats, $p2_land, - $p2_email, $p2_phone, $p2_website, $p2_op_internet, - $p2_agbcode, - $p3_name, $p3_straat, $p3_postcode, $p3_plaats, $p3_land, - $p3_email, $p3_phone, $p3_website, $p3_op_internet, - $p3_agbcode - - ); - ); - - ); - - $i = $i + 1; -); - -strAdd($h, table\toHtml($table)); - -strAdd($h, '
'); - -html=$h; \ No newline at end of file diff --git a/code-current/scripts/Leden met nascholingstotalen voor hun registratiejaar.descr b/code-current/scripts/Leden met nascholingstotalen voor hun registratiejaar.descr deleted file mode 100644 index 3dc88b3..0000000 --- a/code-current/scripts/Leden met nascholingstotalen voor hun registratiejaar.descr +++ /dev/null @@ -1 +0,0 @@ -Leden met nascholingstotalen die liggen voor hun registratiejaar. \ No newline at end of file diff --git a/code-current/scripts/Leden met nascholingstotalen voor hun registratiejaar.id b/code-current/scripts/Leden met nascholingstotalen voor hun registratiejaar.id deleted file mode 100644 index 113c343..0000000 --- a/code-current/scripts/Leden met nascholingstotalen voor hun registratiejaar.id +++ /dev/null @@ -1 +0,0 @@ -63caa2bdc445ed778 \ No newline at end of file diff --git a/code-current/scripts/Leden met nascholingstotalen voor hun registratiejaar.js b/code-current/scripts/Leden met nascholingstotalen voor hun registratiejaar.js deleted file mode 100644 index 73deac2..0000000 --- a/code-current/scripts/Leden met nascholingstotalen voor hun registratiejaar.js +++ /dev/null @@ -1,70 +0,0 @@ -// last execution: Thu Mar 30 2023 12:27:14 GMT+0200 (Midden-Europese zomertijd) - -$par_aantal_rijen_op_een_pagina=21; - -$p_page_len = $par_aantal_rijen_op_een_pagina; - -///////////////////////////////////////////////////////////////////////////////////////////// -// Script start -///////////////////////////////////////////////////////////////////////////////////////////// - -log('warning', 'Executing ', name); -logAdd(log); - -$h = ''; -strAdd($h, '
'); -$table = table\new('Naam', 40, - 'Lidnummer', 10, 'center', - 'registratiejaar', 20, 'center', - '#nascholingstotalen < r-jaar', 20, 'center' - ); - -table\rowsPerPage($table, $p_page_len); -table\filename($table, 'leden met nascholingstotalen voor het registratiejaar'); - -///////////////////////////////////////////////////////////////////////////////////////////// -// Kijk of er nascholingsjaren zijn die liggen voor de registratiedatum -///////////////////////////////////////////////////////////////////////////////////////////// - -$rows = record\FetchManyHash('Contact', 'id, lidnummer, name, regiocode, datumRegistratie', 'name', 'asc'); -$n = array\length($rows); -$i = 0; -$aantal = 0; -$aantal_met = 0; - -while($i < $n, - $row = array\at($rows, $i); - $regiocode = hash\get($row, 'regiocode') + 0; - ifThen($regiocode < 30, - $aantal = $aantal + 1; - - $contact_id = hash\get($row, 'id'); - $name = hash\get($row, 'name'); - $reg_dat = hash\get($row, 'datumRegistratie'); - $reg_jaar = datetime\year($reg_dat); - $lidnummer = hash\get($row, 'lidnummer'); - - $cnt = record\count('Nascholingstotaal', 'jaar<', $reg_jaar, 'contactId=', $contact_id); - - ifThen($cnt > 0, - logAdd(log, 'info', 'Contact: ', $name, ' lidnummer: ', $lidnummer, ', registratiejaar: ', $reg_jaar, ' #nascholingstotalen vóór registratiedatum: ', $cnt); - table\add($table, - table\link(string\concatenate('/#Contact/view/', $contact_id), $name), - string\concatenate(' ', $lidnummer), - toString($reg_jaar), - toString($cnt) - ); - $aantal_met = $aantal_met + 1; - ); - ); - $i = $i + 1; -); - -$table_html = table\toHtml($table); -strAdd($h, $table_html); -strAdd($h, '
'); - -html = $h; - -logAdd(log, 'info', '#Aantal leden met regiocode < 30: ', $aantal); -logAdd(log, 'info', '#Aantal leden met regiocode < 30 met nascholingstotalen vóór het registratiejaar : ', $aantal_met); diff --git a/code-current/scripts/Leden met onvoldoende nascholing.descr b/code-current/scripts/Leden met onvoldoende nascholing.descr deleted file mode 100644 index 423bd82..0000000 --- a/code-current/scripts/Leden met onvoldoende nascholing.descr +++ /dev/null @@ -1 +0,0 @@ -Kijkt welke leden niet aan de nascholingsvereisten voldoen, inclusief verloskundigen. \ No newline at end of file diff --git a/code-current/scripts/Leden met onvoldoende nascholing.id b/code-current/scripts/Leden met onvoldoende nascholing.id deleted file mode 100644 index 1e0cdde..0000000 --- a/code-current/scripts/Leden met onvoldoende nascholing.id +++ /dev/null @@ -1 +0,0 @@ -5efa765f5a951f599 \ No newline at end of file diff --git a/code-current/scripts/Leden met onvoldoende nascholing.js b/code-current/scripts/Leden met onvoldoende nascholing.js deleted file mode 100644 index d556bcd..0000000 --- a/code-current/scripts/Leden met onvoldoende nascholing.js +++ /dev/null @@ -1,125 +0,0 @@ -// last execution: Tue Jul 14 2026 08:49:16 GMT+0200 (Midden-Europese zomertijd) - -$par_nascholingsjaar=2025; -$par_open_lid_in_nieuwe_tab=true; -$par_aantal_rijen_op_een_pagina=21; - -$p_page_len = $par_aantal_rijen_op_een_pagina; - -logAdd(log); - -html = ''; -$h = ''; - -logAdd(log, "Controle nascholingsvereisten voor jaar ", $par_nascholingsjaar); -$leden = Record\FetchManyHash('Contact', - 'id, firstName, middleName, lastName, name, emailAddress, regiocode, dispensatie, lidnummer, datumRegistratie', - 'lastName', 'asc' - ); - -strAdd($h, '
'); -$table = table\new('Voornaam', 26, - 'Achternaam', 26, 'asc', - 'email', 26, - 'Lidnummer', 7, 'center', - 'Dispensatie', 7, 'center', - 'Regiocode', 8, 'center' - ); - -table\rowsPerPage($table, $p_page_len); -table\filename($table, string\concatenate($par_nascholingsjaar, ' - leden met te weinig nascholing')); - -$i = 0; -$n = array\length($leden); - -logAdd(log, 'leden en ex-leden: ', $n); -$n_onvoldoende = 0; - -while($i < $n, - $lid = array\at($leden, $i); - $r_code = toInt(string\substring(hash\get($lid, 'regiocode'), 0, 2)); - - //ifThen($r_code < 30 && $r_code != 8, - ifThen($r_code < 30, - $rapport = true; - $contact_id = hash\get($lid, 'id'); - $email = hash\get($lid, 'emailAddress'); - $dispensatie = hash\get($lid, 'dispensatie'); - $lidnummer = hash\get($lid, 'lidnummer'); - $naam = hash\get($lid, 'name'); - $regdat = hash\get($lid, 'datumRegistratie'); - $reg_jaar = datetime\year($regdat); - - $contact = Entity\Get('Contact', $contact_id); - $nascholingstotalen = Entity\GetRelated($contact, 'nascholingstotalen', 1, 'jaar', 'asc', 'jaar=', $par_nascholingsjaar); - $m = array\length($nascholingstotalen); - - ifThenElse($m == 0, $heeft_nt = 'nee', ifThenElse($m > 1, $heeft_nt = 'teveel', $heeft_nt = 'ja')); - ifThen($m > 0, $nascholingstotalen = array\at($nascholingstotalen, 0)); - ifThen($m == 0 && $par_nascholingsjaar < $reg_jaar, $rapport = false; $reden = 'gevraagde jaar ligt voor registratie jaar'); - - ifThenElse($m == 0, - $hom_surplus = 'nvt'; - $med_surplus = 'nvt'; - $surplus = 'nvt'; - $hom_lt = false; - $med_lt = false; - $lt = false; - $onvoldoende = true; - ifThen($rapport, $reden = 'voor het gevraagde jaar geen nascholingstotaal aanwezig!'); - , - $status = attr($nascholingstotalen, 'status'); - - ifThenElse($status == 'voldoet-niet' || $status == 'voldoet-niet-na-saldering', $onvoldoende = true, $onvoldoende = false); - ifThenElse($onvoldoende, $reden = 'onvoldoende nascholing', $reden = 'voldoende nascholing'); - ); - - ifThenElse($rapport && $onvoldoende, $opnemen = 'opnemen in rapport', $opnemen = 'niet opnemen'); - - ifThenElse($rapport && $onvoldoende, - logAdd(log, 'warning', $opnemen, ' - lid: ', $naam, ' email: ', $email, ' registratiejaar: ', $reg_jaar, ' - ', $reden); - , - logAdd(log, 'info', $opnemen, ' - lid: ', $naam, ' email: ', $email, ' registratiejaar: ', $reg_jaar, ' - ', $reden); - ); - - ifThen($rapport, - ifThen($onvoldoende, - $n_onvoldoende = $n_onvoldoende + 1; - $naam = hash\get($lid, 'name'); - $lastname = hash\get($lid, 'lastName'); - $middlename = hash\get($lid, 'middleName'); - $firstname = hash\get($lid, 'firstName'); - $lastname = string\concatenate($lastname, ', ', $middlename); - $regiocode = hash\get($lid, 'regiocode'); - ifThenElse($dispensatie, $dispensatie = 'Ja', $dispensatie = '-'); - - strAdd($h, ''); - $td = ''; - ifThenElse($par_open_lid_in_nieuwe_tab, $target = 'target="_blank"', $target = ""); - - table\add($table, - table\link(string\concatenate('/#Contact/view/', $contact_id), $firstname), - table\link(string\concatenate('/#Contact/view/', $contact_id), $lastname), - table\link(string\concatenate('mailto:', $email), $email), - string\concatenate(' ', $lidnummer), - $dispensatie, - string\concatenate(' ', $regiocode) - ); - ); // $onvoldoende - ); // $rapport - ); - $i = $i + 1 -); - -$table_html = table\toHtml($table); -$table_html = string\replace($table_html, 'title="%RED%', 'title="'); -$table_html = string\replace($table_html, '%END"', '"'); -$table_html = string\replace(string\replace($table_html, '%RED%', ''), '%END%', ''); - -strAdd($h, '

', 'Leden met onvoldoende nascholing voor jaar ', toString($par_nascholingsjaar), ': ', $n_onvoldoende, '

'); -strAdd($h, $table_html); -strAdd($h, '
'); - -logAdd(log, 'info', 'leden met onvoldoende nascholing voor jaar ', $par_nascholingsjaar, ': ', $n_onvoldoende); - -html=$h; \ No newline at end of file diff --git a/code-current/scripts/Ledeninformatie publiceren.descr b/code-current/scripts/Ledeninformatie publiceren.descr deleted file mode 100644 index ae6d558..0000000 --- a/code-current/scripts/Ledeninformatie publiceren.descr +++ /dev/null @@ -1 +0,0 @@ -Publiceert iedere nacht automatisch de ledenmails die nog in concept staan en zet ze in de juiste categorie. Als er een nieuw jaar moet worden aangemaakt, dan gebeurt dat. \ No newline at end of file diff --git a/code-current/scripts/Ledeninformatie publiceren.id b/code-current/scripts/Ledeninformatie publiceren.id deleted file mode 100644 index 6a13781..0000000 --- a/code-current/scripts/Ledeninformatie publiceren.id +++ /dev/null @@ -1 +0,0 @@ -6002046fe26fbfbfd \ No newline at end of file diff --git a/code-current/scripts/Ledeninformatie publiceren.js b/code-current/scripts/Ledeninformatie publiceren.js deleted file mode 100644 index 15a218f..0000000 --- a/code-current/scripts/Ledeninformatie publiceren.js +++ /dev/null @@ -1,46 +0,0 @@ -// last execution: 2026-08-28 05:19:02 -logAdd(log); -logAdd(log, 'info', 'Ophalen Ledeninformatie van type "ledenmail" en status <> "gepubliceerd"'); - -$rows = record\fetchManyHash('KnowledgeBaseArticle', 'id, publishDate,name', 'name', 'asc', 'status!=', 'Published', 'type=', 'ledenmail'); -logAdd(log, 'info', array\length($rows)); - -$i = 0; -$n = array\length($rows); - -//$ledenmails_cat_ids = record\fetchManyHash('KnowledgeBaseCategory', 'id', 'name', 'asc', 'id=', '5eb3e7d4bec32f0d7'); -//$ledenmails_cat_id = hash\get(array\at($ledenmails_cat_ids, 0), 'id'); -$ledenmails_cat_id = '5eb3e7d4bec32f0d7'; - -logAdd(log, 'info', 'ledenmails categorie id: ', $ledenmails_cat_id); - -while($i < $n, - $row = array\at($rows, $i); - $name = hash\Get($row, 'name'); - $datum = hash\Get($row, 'publishDate'); - $id = hash\Get($row, 'id'); - logAdd(log, 'info', 'publiceren: ', $name, ' - datum: ', $datum); - - $year = datetime\year($datum); - logAdd(log, 'info', 'in categorie: ', $year); - - // Vind de de id voor de gegeven categorie, of maak er één aan - $cat_ids = record\fetchManyHash('KnowledgeBaseCategory', 'id', 'name', 'asc', 'name=', $year, 'parentId=', $ledenmails_cat_id); - $cat_ids_n = array\length($cat_ids); - logAdd(log, 'info', 'categorie: ', $year, ' gevonden: ', $cat_ids_n); - ifThenElse($cat_ids_n == 0, - $cat_id = record\create('KnowledgeBaseCategory', 'name', $year, 'parentId', $ledenmails_cat_id, - 'order', -$year); - , - $cat_id = hash\Get(array\at($cat_ids, 0), 'id'); - ); - - // Zet het record in de juiste categorie - record\relate('KnowledgeBaseArticle', $id, 'categories', $cat_id); - record\relate('KnowledgeBaseArticle', $id, 'categories', $ledenmails_cat_id); - - // Publiceer het. - record\update('KnowledgeBaseArticle', $id, 'status', 'Published', 'type'); - - $i = $i + 1; -); \ No newline at end of file diff --git a/code-current/scripts/Mail Laatste Jobs.descr b/code-current/scripts/Mail Laatste Jobs.descr deleted file mode 100644 index 8c88ee4..0000000 --- a/code-current/scripts/Mail Laatste Jobs.descr +++ /dev/null @@ -1 +0,0 @@ -Mail de verslagen van de jobs. \ No newline at end of file diff --git a/code-current/scripts/Mail Laatste Jobs.id b/code-current/scripts/Mail Laatste Jobs.id deleted file mode 100644 index 9510c36..0000000 --- a/code-current/scripts/Mail Laatste Jobs.id +++ /dev/null @@ -1 +0,0 @@ -5f17f1d332c9cb538 \ No newline at end of file diff --git a/code-current/scripts/Mail Laatste Jobs.js b/code-current/scripts/Mail Laatste Jobs.js deleted file mode 100644 index c415fb0..0000000 --- a/code-current/scripts/Mail Laatste Jobs.js +++ /dev/null @@ -1,45 +0,0 @@ -// last execution: 2026-08-28 08:00:01 -$jobs = entity\getMany('Script', 100, 'name', 'asc', 'type=', 'job'); - -logAdd(log); -html = ''; - -logAdd(log, 'info', 'Mailen laatste taken logs'); - -$html = ""; - -$i = 0; -$n = array\length($jobs); -while($i < $n, - $job = array\at($jobs, $i); - $log = attr($job, 'log'); - - $name = attr($job, 'name'); - $last_exec = datetime\format(attr($job, 'lastexec'), 'Europe/Amsterdam', 'DD/MM/YYYY HH:mm:ss'); - - strAdd($html, '

', $name, '

'); - strAdd($html, '

', 'Laatste uitvoering: ', $last_exec, '

'); - - $html = string\concatenate($html, '', $log, '
'); - - $i = $i + 1; -); - -$body = emailTemplate; -$body = string\replace($body, '{{log}}', $html); -$dt = datetime\format(datetime\now(), 'Europe/Amsterdam', 'DD/MM/YYYY'); -$subject = string\concatenate('NVKH Crm - Job Verslag - ', $dt); -$userId = env\userAttribute('id'); -$mailadr = configGet('job-report-mail-address'); - -$emailId = record\create('Email', 'subject', $subject, - 'body', $body, - 'to', $mailadr, - 'assignedUser', $userId, - 'isUser', true, - 'parentType', 'Script', - 'parentId', id - ); -ext\email\send($emailId); - -logAdd(log, 'info', 'Mail gestuurd naar ', $mailadr); \ No newline at end of file diff --git a/code-current/scripts/Nascholingen nog niet ingevuld distributielijst maken.descr b/code-current/scripts/Nascholingen nog niet ingevuld distributielijst maken.descr deleted file mode 100644 index 447a4a2..0000000 --- a/code-current/scripts/Nascholingen nog niet ingevuld distributielijst maken.descr +++ /dev/null @@ -1,9 +0,0 @@ -Maakt een distributielijst voor degenen van de homeopaten die in een op te geven jaar nog geen nascholingen hebben opgegeven en ook niet in dat jaar zijn afgestudeerd. Op te nemen: - -* aantal overige dagen = 0 & -* aantal dagen homeopathie = 0 & -* aantal dagen medisch = 0 & -* niet aangevinkt: geen nascholingen gevolgd & -* jaar van registratie >= opgegeven jaar & -* regiocode < 30 & -* geen verloskundige diff --git a/code-current/scripts/Nascholingen nog niet ingevuld distributielijst maken.id b/code-current/scripts/Nascholingen nog niet ingevuld distributielijst maken.id deleted file mode 100644 index cf2872c..0000000 --- a/code-current/scripts/Nascholingen nog niet ingevuld distributielijst maken.id +++ /dev/null @@ -1 +0,0 @@ -5fa3deb12801abd47 \ No newline at end of file diff --git a/code-current/scripts/Nascholingen nog niet ingevuld distributielijst maken.js b/code-current/scripts/Nascholingen nog niet ingevuld distributielijst maken.js deleted file mode 100644 index 86a54c7..0000000 --- a/code-current/scripts/Nascholingen nog niet ingevuld distributielijst maken.js +++ /dev/null @@ -1,107 +0,0 @@ -// last execution: Fri Feb 06 2026 09:50:10 GMT+0100 (Midden-Europese standaardtijd) - -$par_nascholings_jaar=2025; - -logAdd(log); - -$year = $par_nascholings_jaar; -$list_name = string\concatenate('Na te scholen - ', $year); - -$entities = Entity\GetMany('TargetList', 1, 'name', 'asc', 'name=', $list_name); -$n = array\length($entities); - -ifThenElse($n == 0, - logAdd(log, 'warning', 'Geen distributielijst met naam: "', $list_name, '", maak deze eerst aan!'); - , - logAdd(log, 'info', 'Distributielijst 'Na te scholen' aanwezig, leden worden vervangen...'); - - $doellijst = array\at($entities, 0); - $id = attr($doellijst, 'id'); - - logAdd(log, 'info', 'Leegmaken distributielijst...'); - $rows = record\fetchRelatedManyHash('TargetList', $id, - 'contacts', 'id, lastName, regiocode', - 'lastName', 'asc' - ); - $n = array\length($rows); - logAdd(log, 'info', 'Aantal gerelateerde leden: ', $n); - $i = 0; - $rcnt = 0; - while($i < $n, - $row = array\at($rows, $i); - $contact_id = hash\get($row, 'id'); - record\unrelate('TargetList', $id, 'contacts', $contact_id); - $rcnt = $rcnt + 1; - $i = $i + 1; - ); - - logAdd(log, 'info', 'Relateren leden met regiocode < 30 en nascholingen = 0 en niet dispensatie en niet geregistreerd in het opgegeven jaar'); - $rows = record\fetchManyHash('Contact', 'id, lidnummer, lastName, regiocode, dispensatie, datumRegistratie', 'lastName', 'asc'); - $n = array\length($rows); - logAdd(log, 'info', 'Aantal leden om te beoordelen: ', $n); - $i = 0; - $cnt = 0; - $hom_cnt = 0; - while($i < $n, - $row = array\at($rows, $i); - $code = hash\get($row, 'regiocode') + 0; - ifThen($code < 8 || $code == 10, - $datum_registratie = hash\get($row, 'datumRegistratie'); - $jaar_reg = datetime\year($datum_registratie); - $dispensatie = hash\get($row, 'dispensatie'); - $lastname = hash\get($row, 'lastName'); - $lidnummer = hash\get($row, 'lidnummer'); - - $niet = ($jaar_reg >= $year) || $dispensatie; - logAdd(log, 'info', 'lid ', $lidnummer, ' (', $lastname, '): jaar_reg=', $datum_registratie, ', dispensatie = ', $dispensatie, ' registratiejaar = ', $jaar_reg); - - ifThenElse($niet, - logAdd(log, 'info', 'lid ', $lastname, ': dispensatie = ', $dispensatie, ' registratiejaar = ', $jaar_reg); - , - $hom_cnt = $hom_cnt + 1; - $contact_id = hash\get($row, 'id'); - - // Opvoeren lid als deze voor de nascholingstotalen op 0 zit en - // niet is aangegeven dat hij/zij geen nascholingen heeft gevolgd - - $t_rows = record\fetchManyHash('Nascholingstotaal', - 'contactId, dagenHomeopathie, dagenMedisch, dagen, geenNascholingGevolgd', - 'jaar', 'asc', - 'jaar=', $year, - 'contactId=', $contact_id - ); - $t_rows_n = array\length($t_rows); - - ifThenElse($t_rows_n == 0, - logAdd(log, 'error', 'Geen nascholingstotaal voor contact ', $lastname); - , - ifThenElse($t_rows_n > 1, - logAdd(log, 'error', 'Onverwacht! aantal records nascholingstotaal > 1 voor ', $lastname); - , - $t_row = array\at($t_rows, 0); - $dagenHomeopathie = hash\get($t_row, 'dagenHomeopathie'); - $dagenMedisch = hash\get($t_row, 'dagenMedisch'); - $dagenOverig = hash\get($t_row, 'dagen'); - $geen = hash\get($t_row, 'geenNascholingGevolgd'); - ifThenElse($geen, $geen=1;, $geen=0); - $tot = $dagenHomeopathie + $dagenMedisch + $dagenOverig + $geen; - - ifThenElse($geen == 0, $nv = "niet aangevinkt", $nv = "wel aangevinkt"); - - logAdd(log, 'info', $lidnummer, ': homeopathie=', $dagenHomeopathie, ', medisch=', $dagenMedisch, - ', overig=', $dagenOverig, ', niet gevolgd=', $nv, ', tot=', $tot); - - ifThen($tot <= 0, - $cnt = $cnt + 1; - logAdd(log, 'warning', 'Toevoegen lid: ',$cnt, ' - lidnummer:', $lidnummer, ', naam:', $lastname); - record\relate('TargetList', $id, 'contacts', $contact_id); - ); - ) - - ); - ) - ); - $i = $i + 1; - ); - logAdd(log, 'info', $cnt, ' leden op de lijst'); -); \ No newline at end of file diff --git a/code-current/scripts/Nascholingen verplaatsen naar handmatig.descr b/code-current/scripts/Nascholingen verplaatsen naar handmatig.descr deleted file mode 100644 index 882df36..0000000 --- a/code-current/scripts/Nascholingen verplaatsen naar handmatig.descr +++ /dev/null @@ -1 +0,0 @@ -Door de veranderde structuur. Geaccrediteerde nascholingen bij leden omzetten naar handmatige nascholingen gekoppeld aan het jaar van nascholing. \ No newline at end of file diff --git a/code-current/scripts/Nascholingen verplaatsen naar handmatig.id b/code-current/scripts/Nascholingen verplaatsen naar handmatig.id deleted file mode 100644 index 37564d6..0000000 --- a/code-current/scripts/Nascholingen verplaatsen naar handmatig.id +++ /dev/null @@ -1 +0,0 @@ -5fca2bdbde7c729ff \ No newline at end of file diff --git a/code-current/scripts/Nascholingen verplaatsen naar handmatig.js b/code-current/scripts/Nascholingen verplaatsen naar handmatig.js deleted file mode 100644 index e24011c..0000000 --- a/code-current/scripts/Nascholingen verplaatsen naar handmatig.js +++ /dev/null @@ -1,47 +0,0 @@ -// last execution: Fri Dec 04 2020 14:28:53 GMT+0100 (Midden-Europese standaardtijd) - -logAdd(log); - -$contacts = Entity\GetRelated(Entity\This(), 'contacts', 1000); - -$n = array\length($contacts); -$i = 0; - -while($i < $n, - $contact = array\at($contacts, $i); - $contact_id = attr($contact, 'id'); - logAdd(log, 'info', 'Contact: ', attr($contact, 'lastName')); - - $nascholingen = Entity\GetRelated($contact, 'nascholingen', 1000); - $j = 0; - $m = array\length($nascholingen); - - ifThen($m > 0, - $totaal_2020s = Entity\GetRelated($contact, 'nascholingstotalen', 1000, 'jaar', 'asc', 'jaar=', 2020); - $totaal_2020 = array\at($totaal_2020s, 0); - $totaal_2020_id = attr($totaal_2020, 'id'); - - while($j < $m, - $nascholing = array\at($nascholingen, $j); - $nasch_id = attr($nascholing, 'id'); - logAdd(log, 'info', 'Nascholing: ', attr($nascholing, 'code'), ' - ', $nasch_id); - $rec_id = record\create('HandmatigeNascholing', 'accNascholingId', $nasch_id, - 'contactId', $contact_id, 'status', 'presentielijst' - ); - record\relate('Nascholingstotaal', $totaal_2020_id, 'nascholingen', $rec_id); - $j = $j + 1; - ); - - $j = 0; - while ($j < $m, - $nascholing = array\at($nascholingen, $j); - $nasch_id = attr($nascholing, 'id'); - record\unrelate('Contact', $contact_id, 'nascholingen', $nasch_id); - $j = $j + 1; - ); - ); - - $i = $i + 1; -); - - diff --git a/code-current/scripts/Nascholingsdata aanmaken.descr b/code-current/scripts/Nascholingsdata aanmaken.descr deleted file mode 100644 index 30e6810..0000000 --- a/code-current/scripts/Nascholingsdata aanmaken.descr +++ /dev/null @@ -1 +0,0 @@ -Maakt nascholingsdata aan bij een opgevoerde geaccrediteerde nascholing \ No newline at end of file diff --git a/code-current/scripts/Nascholingsdata aanmaken.id b/code-current/scripts/Nascholingsdata aanmaken.id deleted file mode 100644 index b1c4576..0000000 --- a/code-current/scripts/Nascholingsdata aanmaken.id +++ /dev/null @@ -1 +0,0 @@ -60030cfe09affc218 \ No newline at end of file diff --git a/code-current/scripts/Nascholingsdata aanmaken.js b/code-current/scripts/Nascholingsdata aanmaken.js deleted file mode 100644 index 7fd3a8b..0000000 --- a/code-current/scripts/Nascholingsdata aanmaken.js +++ /dev/null @@ -1,51 +0,0 @@ -// last execution: Sat Jan 16 2021 17:25:13 GMT+0100 (Midden-Europese standaardtijd) - -logAdd(log); - -$nascholingen = record\fetchManyHash('Nascholing', 'id, name, dateStart, dateEnd', 'name', 'asc'); - -$i = 0; -$n = array\length($nascholingen); -logAdd(log, 'info', '#Nasscholingen: ', $n); -//$n = 1; - -$userid = env\userAttribute('id'); - -while($i < $n, - $row = array\at($nascholingen, $i); - $name = hash\Get($row, 'name'); - $id = hash\Get($row, 'id'); - - $dateStart = hash\Get($row, 'dateStart'); - $dateEnd = hash\Get($row, 'dateEnd'); - - $data = record\fetchRelatedManyHash('Nascholing', $id, 'nascholingsDatums', 'id', 'name', 'asc'); - $ndata = array\length($data); - - $info = 'info'; - ifThen($ndata > 1, $info = 'warning'); - logAdd(log, $info, 'Nascholing: ', $name, ' - ', $ndata, ' datums geregistreerd'); - - ifThen($ndata == 0, - $days = datetime\diff($dateEnd, $dateStart, 'days') + 1; - $info = 'info'; - ifThen($days > 1, $info='warning'); - logAdd(log, $info, 'Aantal dagen: ', $days); - - $endtime = datetime\format($dateEnd, 'UTC', 'HH:mm:ss'); - - logAdd(log, $info, 'einde dag:', $endtime); - - $dt = $dateStart; - $dte = string\concatenate(datetime\format($dt, 'europe/amsterdam', 'YYYY-MM-DD'), ' ', $endtime); - - $id = record\create('NascholingsDatum', - 'dagStart', $dt, 'dagEinde', $dte, - 'nascholingId', $id, - 'assignedUserId', $userid - ); - ); - - $i = $i + 1; -); - diff --git a/code-current/scripts/Nascholingsnorm aanmaken.descr b/code-current/scripts/Nascholingsnorm aanmaken.descr deleted file mode 100644 index b4e2e7c..0000000 --- a/code-current/scripts/Nascholingsnorm aanmaken.descr +++ /dev/null @@ -1 +0,0 @@ -Maakt nascholingsnormen aan van jaar tot jaar \ No newline at end of file diff --git a/code-current/scripts/Nascholingsnorm aanmaken.id b/code-current/scripts/Nascholingsnorm aanmaken.id deleted file mode 100644 index 952fd49..0000000 --- a/code-current/scripts/Nascholingsnorm aanmaken.id +++ /dev/null @@ -1 +0,0 @@ -6003147ebce563769 \ No newline at end of file diff --git a/code-current/scripts/Nascholingsnorm aanmaken.js b/code-current/scripts/Nascholingsnorm aanmaken.js deleted file mode 100644 index a9437dd..0000000 --- a/code-current/scripts/Nascholingsnorm aanmaken.js +++ /dev/null @@ -1,22 +0,0 @@ -// last execution: Sat Jan 16 2021 17:33:26 GMT+0100 (Midden-Europese standaardtijd) - -$userid = env\userAttribute('id'); - -$regiocode = '08'; - -$jaar_begin = 2025; -$jaar_einde = 2030; -$dagen = 2; -$hom = 2; -$med = 0; -$jaar = $jaar_begin; -while($jaar < $jaar_einde, - record\create( - 'Nascholingsnorm', - 'jaar', $jaar, - 'dagen', $dagen, 'dagenHomeopathie', $hom, 'dagenMedisch', $med, - 'regiocode', $regiocode, - 'assignedUserId', $userid - ); - $jaar = $jaar + 1; -); \ No newline at end of file diff --git a/code-current/scripts/Nascholingstotalen Jaar Record.descr b/code-current/scripts/Nascholingstotalen Jaar Record.descr deleted file mode 100644 index 181cc7c..0000000 --- a/code-current/scripts/Nascholingstotalen Jaar Record.descr +++ /dev/null @@ -1 +0,0 @@ -Maakt indien nodig het nascholingstotaal - jaar record van het huidige jaar aan voor alle geldige contacten, d.w.z. met regiocode <30. Wordt als Job uitgevoerd, dus hoeft niet handmatig te worden uitgevoerd. \ No newline at end of file diff --git a/code-current/scripts/Nascholingstotalen Jaar Record.id b/code-current/scripts/Nascholingstotalen Jaar Record.id deleted file mode 100644 index 76bfda4..0000000 --- a/code-current/scripts/Nascholingstotalen Jaar Record.id +++ /dev/null @@ -1 +0,0 @@ -5f0c64eef3607a14b \ No newline at end of file diff --git a/code-current/scripts/Nascholingstotalen Jaar Record.js b/code-current/scripts/Nascholingstotalen Jaar Record.js deleted file mode 100644 index f4a5854..0000000 --- a/code-current/scripts/Nascholingstotalen Jaar Record.js +++ /dev/null @@ -1,66 +0,0 @@ -// last execution: 2026-08-27 23:00:01 -///////////////////////////////////////////////////////////////////////////////////////////// -// Script start -///////////////////////////////////////////////////////////////////////////////////////////// - -log('warning', 'Executing ', name); -logAdd(log); - -///////////////////////////////////////////////////////////////////////////////////////////// -// Nascholingsnorm inlezen -///////////////////////////////////////////////////////////////////////////////////////////// - -ifThen(!global\isset('nascholingsnorm-hash'), - $na_script = configGet('script-lees-nascholingsnorm-hash'); - Exec($na_script); -); -$na_norm = global\get('nascholingsnorm-hash'); - -///////////////////////////////////////////////////////////////////////////////////////////// -// Bepalen jaar en nascholingsnorm en creeren records bij leden die dat nodig hebben -///////////////////////////////////////////////////////////////////////////////////////////// - -$jaar = datetime\year(datetime\now()); -//$jaar=2018; - -ifThenElse(!hash\isSet($na_norm, $jaar), - logAdd(log, 'error', 'Er is geen normering vastgelegd voor jaar ', $jaar, '!'); - , - $norm_id = hash\get(hash\get($na_norm, $jaar), 'id'); - - logAdd(log, 'info', 'Jaar: ', $jaar); - logAdd(log, 'info', 'Nascholingsnorm id:', $norm_id); - logAdd(log, 'info', 'Nascholingsnorm jaar: ', hash\get(hash\get($na_norm, $jaar), 'jaar')); - - $rows = record\FetchManyHash('Contact', 'id, name, regiocode', 'name', 'asc'); - $n = array\length($rows); - $i = 0; - $aantal = 0; - $aantal_zonder = 0; - - while($i < $n, - $row = array\at($rows, $i); - $regiocode = hash\get($row, 'regiocode') + 0; - ifThen($regiocode < 30, - $aantal = $aantal + 1; - $contact_id = hash\get($row, 'id'); - $cnt = record\count('Nascholingstotaal', 'jaar=', $jaar, 'contactId=', $contact_id); - ifThen($cnt == 0, - $name = hash\get($row, 'name'); - //logAdd(log, 'info', 'Contact: ', $name, ' #Nascholingstotaaal voor ', $jaar, ': ', $cnt); - $aantal_zonder = $aantal_zonder + 1; - record\create('Nascholingstotaal', 'jaar', $jaar, - 'contactId', $contact_id, - 'nascholingsnormId', $norm_id, - 'handmatig', false - ); - ); - ); - $i = $i + 1; - ); -); - -logAdd(log, 'info', 'jaar: ', $jaar); -logAdd(log, 'info', '#Aantal leden met regiocode < 30: ', $aantal); -logAdd(log, 'info', '#Aantal leden met regiocode < 30 zonder nascholingstotaal voor gegeven jaar : ', $aantal_zonder); -logAdd(log, 'info', $aantal_zonder, ' aangemaakte nascholingstotalen.'); \ No newline at end of file diff --git a/code-current/scripts/Nascholingstotalen berekenen voor specifiek contact.descr b/code-current/scripts/Nascholingstotalen berekenen voor specifiek contact.descr deleted file mode 100644 index d612df0..0000000 --- a/code-current/scripts/Nascholingstotalen berekenen voor specifiek contact.descr +++ /dev/null @@ -1 +0,0 @@ -Hiermee kan voor een gegeven contact de berekening van de nascholingstotalen worden gestart. \ No newline at end of file diff --git a/code-current/scripts/Nascholingstotalen berekenen voor specifiek contact.id b/code-current/scripts/Nascholingstotalen berekenen voor specifiek contact.id deleted file mode 100644 index 0be0236..0000000 --- a/code-current/scripts/Nascholingstotalen berekenen voor specifiek contact.id +++ /dev/null @@ -1 +0,0 @@ -63c1c37ad36bde87e \ No newline at end of file diff --git a/code-current/scripts/Nascholingstotalen berekenen voor specifiek contact.js b/code-current/scripts/Nascholingstotalen berekenen voor specifiek contact.js deleted file mode 100644 index 923ba36..0000000 --- a/code-current/scripts/Nascholingstotalen berekenen voor specifiek contact.js +++ /dev/null @@ -1,70 +0,0 @@ -// last execution: Mon Aug 10 2026 14:14:13 GMT+0200 (Midden-Europese zomertijd) - -// last execution: 2023-01-13 03:30:02 -$script_alle_totalen = configGet('script-bereken-nascholingstotalen'); -$script_calc_totaal_voor_jaar = configGet('script-bereken-nascholingstotaal-voor-jaar'); - -log('warning', 'Fetching Maximum nascholingstotaal'); -$rows= Record\FetchManyHash('Nascholingstotaal', 'jaar', 'jaar', 'desc', 'limit by', 1); -$n_rows = array\length($rows); - -log('warning', 'n_rows=', $n_rows); - -logAdd(log); -logAdd(log, 'info', 'n_rows = ', $n_rows); - -ifThenElse($n_rows == 0, - logAdd(log, 'info', '0 nascholingstotalen'); -, - logAdd(log, 'info', $n_rows, ' nascholingstotalen'); - $row = array\at($rows, 0); - $max_jaar = hash\get($row, 'jaar'); - logAdd(log, 'info', 'Maximum jaar met nascholingstotalen = ', $max_jaar); - - logAdd(log, 'info', 'Herberekenen van alle nascholingstotalen.'); - - logAdd(log, 'info', 'Voor alle contacten gerelateerd aan dit script.'); - - $rows = record\fetchRelatedManyHash('Script', id, 'contacts', 'id, lidnummer, name', 'name', 'asc'); - $n_rows = array\length($rows); - $i = 0; - - log('warning', 'i=', $i, ', n_rows=', $n_rows); - - while($i < $n_rows, - $row = array\at($rows, $i); - $contact_id = hash\get($row, 'id'); - $lidnummer = hash\get($row, 'lidnummer'); - $lastname = hash\get($row, 'name'); - logAdd(log, 'info', 'lid: ', $lidnummer, ' - ', $lastname, ' - herberekenen...'); - log('warning', 'Herberekenen alle totalen voor lid ', $lidnummer, ', id = ', $contact_id); - - $tot_rows = Record\FetchManyHash('Nascholingstotaal', 'id, jaar', - 'jaar', 'asc', 'contactId=', $contact_id); - $n_tot_rows = array\length($tot_rows); - - ifThenElse($n_tot_rows == 0, - logAdd(log, 'info', 'Geen nascholingstotalen voor dit lid'); - , - $t_row = 0; - while($t_row < $n_tot_rows, - $tot_row = array\at($tot_rows, $t_row); - $jaar = hash\get($tot_row, 'jaar'); - $t_id = hash\get($tot_row, 'id'); - - logAdd(log, 'info', 'Berekenen jaar voor lid ', $lidnummer, ', jaar:', $jaar); - - $no_db_update == false; - $year = $jaar; - Exec($script_calc_totaal_voor_jaar); - - $t_row = $t_row + 1; - ); - - // bereken de hele zaak - $year = $jaar; - Exec($script_alle_totalen); - ); - $i = $i + 1; - ); -); \ No newline at end of file diff --git a/code-current/scripts/Nascholingstotalen relateren.descr b/code-current/scripts/Nascholingstotalen relateren.descr deleted file mode 100644 index e827f05..0000000 --- a/code-current/scripts/Nascholingstotalen relateren.descr +++ /dev/null @@ -1 +0,0 @@ -Relateert de nascholingstotalen aan het juiste norm record \ No newline at end of file diff --git a/code-current/scripts/Nascholingstotalen relateren.id b/code-current/scripts/Nascholingstotalen relateren.id deleted file mode 100644 index fa17a51..0000000 --- a/code-current/scripts/Nascholingstotalen relateren.id +++ /dev/null @@ -1 +0,0 @@ -5f0c7cd0681a3e480 \ No newline at end of file diff --git a/code-current/scripts/Nascholingstotalen relateren.js b/code-current/scripts/Nascholingstotalen relateren.js deleted file mode 100644 index 7a87250..0000000 --- a/code-current/scripts/Nascholingstotalen relateren.js +++ /dev/null @@ -1,28 +0,0 @@ -// last execution: Mon Jul 13 2020 17:56:15 GMT+0200 (Midden-Europese zomertijd) - -logAdd(log); - -$script = configGet('script-lees-nascholingsnorm-hash'); -Exec($script); -$norm_hash = global\get('nascholingsnorm-hash'); - -$jaar = 2020; -while($jaar <= 2020, - $rows = record\fetchManyHash('Nascholingstotaal', 'id', 'createdAt', 'asc', 'jaar=', $jaar); - $i = 0; - $n = array\length($rows); - - $norm_jaar = hash\get($norm_hash, $jaar); - $norm_id = hash\get($norm_jaar, 'id'); - - - while($i < $n, - $row = array\at($rows, $i); - $id = hash\get($row, 'id'); - record\relate('Nascholingstotaal', $id, 'nascholingsnorm', $norm_id); - $i = $i + 1; - ); - logAdd(log, 'info', $n, ' nascholingstotalen behandeld voor jaar ', $jaar); - $jaar = $jaar + 1; -); - diff --git a/code-current/scripts/Opschonen updates door leden.descr b/code-current/scripts/Opschonen updates door leden.descr deleted file mode 100644 index 9d2d9da..0000000 --- a/code-current/scripts/Opschonen updates door leden.descr +++ /dev/null @@ -1 +0,0 @@ -Schoont alle updates door leden die ouder zijn dan 'Aantal dagen oud' dagen op. Minimum: 3 dagen. Maximum: 120 dagen. \ No newline at end of file diff --git a/code-current/scripts/Opschonen updates door leden.id b/code-current/scripts/Opschonen updates door leden.id deleted file mode 100644 index eec3350..0000000 --- a/code-current/scripts/Opschonen updates door leden.id +++ /dev/null @@ -1 +0,0 @@ -5f0ff18c1d0f01475 \ No newline at end of file diff --git a/code-current/scripts/Opschonen updates door leden.js b/code-current/scripts/Opschonen updates door leden.js deleted file mode 100644 index 4c8f15d..0000000 --- a/code-current/scripts/Opschonen updates door leden.js +++ /dev/null @@ -1,47 +0,0 @@ -// last execution: 2026-08-28 02:00:01 -$par_Aantal_dagen_oud=120; - -///////////////////////////////////////////////////////////////////////////////////////////// -// Script start -///////////////////////////////////////////////////////////////////////////////////////////// - -log('warning', 'Executing ', name); -logAdd(log); - -$p_days = $par_Aantal_dagen_oud; -logAdd(log, 'info', '#Dagen als parameter: ', $p_days); - -ifThenElse($p_days, - ifThenElse($p_days < 3, - $p_days = 3; - , - ifThen($p_days > 120, - $p_days = 120; - ); - ); - , - $p_days = 90; -); - -logAdd(log, 'info', '#Dagen na correctie: ', $p_days); - -///////////////////////////////////////////////////////////////////////////////////////////// -// Opschonen ledenupdates -///////////////////////////////////////////////////////////////////////////////////////////// - -$cleanup_date = datetime\addDays(datetime\now(), -1 * $p_days); - -$ids = record\findMany('Ledenupdates', 'createdAt', 'desc', 'createdAt<', $cleanup_date); -$cnt = array\length($ids); - -logAdd(log, 'info', '#Ledenupdates om te verwijderen: ', $cnt); - -$i = 0; -$n = $cnt; -while($i < $n, - $id = array\at($ids, $i); - record\update('Ledenupdates', $id, 'deleted', true); - $i = $i + 1; -); - -logAdd(log, 'info', 'Voor ', $cnt, ' records deleted = true gezet'); \ No newline at end of file diff --git a/code-current/scripts/Praktijken koppelen aan Portaal Accounts.descr b/code-current/scripts/Praktijken koppelen aan Portaal Accounts.descr deleted file mode 100644 index f458e0b..0000000 --- a/code-current/scripts/Praktijken koppelen aan Portaal Accounts.descr +++ /dev/null @@ -1 +0,0 @@ -Koppelt per Portaal Account, de praktijken behorend bij het contact van het portaal account aan het Portaal account, zodat de juiste relaties er liggen. \ No newline at end of file diff --git a/code-current/scripts/Praktijken koppelen aan Portaal Accounts.id b/code-current/scripts/Praktijken koppelen aan Portaal Accounts.id deleted file mode 100644 index 93c5f0a..0000000 --- a/code-current/scripts/Praktijken koppelen aan Portaal Accounts.id +++ /dev/null @@ -1 +0,0 @@ -5fd37dda13bc6dbcf \ No newline at end of file diff --git a/code-current/scripts/Praktijken koppelen aan Portaal Accounts.js b/code-current/scripts/Praktijken koppelen aan Portaal Accounts.js deleted file mode 100644 index 55c6cee..0000000 --- a/code-current/scripts/Praktijken koppelen aan Portaal Accounts.js +++ /dev/null @@ -1,24 +0,0 @@ -// last execution: 2026-03-28 01:00:01 -logAdd(log); - -$portal_users = record\fetchManyHash('User', 'id, userName, contactId', 'userName', 'asc', 'type=', 'portal'); -$script_praktijken_koppelen = configGet('script-praktijken-koppelen-aan-portal-user'); - -$n = array\length($portal_users); -$i = 0; - -logAdd(log, 'info', $n, ' portal users'); - -while($i < $n, - $u = array\at($portal_users, $i); - $username = hash\get($u, 'userName'); - - $user_id = hash\get($u, 'id'); - $contact_id = hash\get($u, 'contactId'); - - logAdd(log, 'info', 'user:', $username, ' id:', $user_id); - - exec($script_praktijken_koppelen); - - $i = $i + 1; -); \ No newline at end of file diff --git a/code-current/scripts/Presentielijst aanmaken.descr b/code-current/scripts/Presentielijst aanmaken.descr deleted file mode 100644 index be377d1..0000000 --- a/code-current/scripts/Presentielijst aanmaken.descr +++ /dev/null @@ -1 +0,0 @@ -Maakt één of meerdere presentielijsten van alle homeopaten, afhankelijk van de gekozen geaccrediteerde nascholing. \ No newline at end of file diff --git a/code-current/scripts/Presentielijst aanmaken.id b/code-current/scripts/Presentielijst aanmaken.id deleted file mode 100644 index d096369..0000000 --- a/code-current/scripts/Presentielijst aanmaken.id +++ /dev/null @@ -1 +0,0 @@ -5fd31282705796983 \ No newline at end of file diff --git a/code-current/scripts/Presentielijst aanmaken.js b/code-current/scripts/Presentielijst aanmaken.js deleted file mode 100644 index 4f943c5..0000000 --- a/code-current/scripts/Presentielijst aanmaken.js +++ /dev/null @@ -1,215 +0,0 @@ -// last execution: Tue Jul 07 2026 10:09:08 GMT+0200 (Midden-Europese zomertijd) - -//ex last execution: Sat Jan 16 2021 16:45:52 GMT+0100 (Midden-Europese standaardtijd) - -logAdd(log); -logAdd(log, 'info', 'Aanmaken Excel Exports'); - -$leden = record\fetchManyHash('Contact', 'name, lidnummer', 'lastName', 'asc', 'regiocode<=', '10'); - -$js_leden = ''; -$n = array\length($leden); -$i = 0; - -while($i < $n, - $obj = array\at($leden, $i); - $naam = hash\get($obj, 'name'); - $lidnr = hash\get($obj, 'lidnummer'); - - $naam = string\replace($naam, "'", "\'"); - ifThen($i > 0, strAdd($js_leden, ', ')); - strAdd($js_leden, "['", $naam, "', '", $lidnr, "']"); - - $i = $i + 1; -); - -logAdd(log, 'info', $n, ' leden'); - -$func_name = "exportFiles_"; - -$func_name = string\concatenate($func_name, number\randomInt()); - -$h = ""; -strAdd($h, '", "\n"); - -logAdd(log, 'info', 'Export button'); - -ifThenElse($aantal_nascholingen == 0, - strAdd($h, "

Presentielijsten maken

"); - strAdd($h, "Selecteer 1 of meer geaccrediteerde nascholingen om lijsten voor te maken."); - , - strAdd($h, "

Presentielijsten maken

"); - $pl = "presentielijsten"; - ifThen($aantal_nascholingen == 1, $pl = "presentielijst"); - $button_id = "jdkerehnsmrletjkrk%34js"; - strAdd($h, '"); - strAdd($h, '', "\n"); -); - -logAdd(log, 'info', 'setting html'); - -html = $h; - -logAdd(log, 'info', 'done'); \ No newline at end of file diff --git a/code-current/scripts/Presentielijst inlezen.descr b/code-current/scripts/Presentielijst inlezen.descr deleted file mode 100644 index 8e55800..0000000 --- a/code-current/scripts/Presentielijst inlezen.descr +++ /dev/null @@ -1,22 +0,0 @@ -Dit is voor een geaccrediteerde nascholing met één of meer datums voor dagen waarop de presentie kan worden bijgehouden. -Leest een eerder gemaakte presentielijst in (zie aanmaken presentielijsten). Deze moet eerst worden opgeslagen als CSV formaat in Excel of Libreoffice. Vervolgens kan deze worden ingelezen. - -Per lid waarbij 1 of meer kruisjes staan wordt bepaald aan de hand van het aantal datums wat de presentiefactor is. Deze is >0 en <= 1. Indien bijvoorbeeld 5 data mogelijk zijn en een lid is er 4 van de vijf, dan is presentiefactor 0.8. - -Bij het lid wordt een nascholingsrecord opgevoerd. Als deze er al is en op basis van een presentielijst is opgevoerd, wordt deze **overschreven** door de import. Daarbij wordt bij het administreren van het aantal dagen de presentiefactor opgeslagen en gebruikt om het aantal gevolgde dagen te berekenen. - -Bij het verwijderen worden alleen nascholingsrecords die op basis van een presentielijst zijn opgevoerd verwijderd. - -**NB: Dit script werkt zolang alleen het aantal dagen presentie geteld wordt en de datum van presentie voor het tellen niet van belang is!** - -Het format moet voldoen aan het volgende: - -1e rij: -Nascholing, ,, -2e rij: - -3e rij: -Naam, Regiocode, Lidnummer, , , ... -4e rij en verder: -,,, , , ... -... \ No newline at end of file diff --git a/code-current/scripts/Presentielijst inlezen.id b/code-current/scripts/Presentielijst inlezen.id deleted file mode 100644 index 7daf30e..0000000 --- a/code-current/scripts/Presentielijst inlezen.id +++ /dev/null @@ -1 +0,0 @@ -5fcaa72a37b8b7e43 \ No newline at end of file diff --git a/code-current/scripts/Presentielijst inlezen.js b/code-current/scripts/Presentielijst inlezen.js deleted file mode 100644 index 54b2e5c..0000000 --- a/code-current/scripts/Presentielijst inlezen.js +++ /dev/null @@ -1,299 +0,0 @@ -// last execution: Tue Jul 07 2026 10:48:32 GMT+0200 (Midden-Europese zomertijd) - -$csvfile_par_Presentielijst_als_csv='Presentielijst;Nascholingsdatum:;3-7-2026;t/m;3-7-2026\nNascholing;01131-NVKH;Aandoeningen aan de voeten (Irma Janssen);;\n;;;;\nGebruik een X om aan te kruizen of een lid aanwezig is, vul anders niets in.;;;;\n;;;;\nNaam;Lidnummer;3-7-2026;;\nC.C.D.M. (Chantal) van Aart-Verhulst;1998;;;\nJ.A.D. (Joyce) Aarts;1846;;;\nH. (Hakan) Aksu;1856;;;\nG. (Gerke) Alberink-Oldegbers;2008;;;\nM.L. (Loes) Ambrosius;0878;;;\nM.W.M. (Monique) Ammerlaan;1509;x;;\nC.P. (Ina) van Andel;0325;x;;\nY.T. (Yvonne) Arnaud de Calavon;1255;x;;\nW. (Wendy) Auceps;2011;;;\nJ. (Jos) Baars;0600;x;;\nJ.L.M. (Joloma) Bakker;0949;;;\nJ. (Joyce) Bakker;1938;x;;\nC.A. (Carla) Bakker;2086;;;\nD.E. (Dyonne) Bakker-de Boer;1885;;;\nM. (Marjolijn) Bakker-van Heeswijk;1904;;;\nT.E. (Thea) von Bannisseht-Wijsmuller;1258;;;\nR. (Renate) B�dorf;1986;x;;\nW.J.P. (Willem) Beekman;1431;;;\nK.C. (Kirsten) Beers;2007;;;\nM.H.E. (Evelien) Beldman-Nijland;1924;;;\nE.M. (Evelien) van den Berg-Holsteyn;1761;x;;\nS.A. (Suzanne) van Berkel;1830;;;\nE. (Ellen) Berkvens;1821;;;\nD.E.B. (Deborah) Beukema;1991;;;\nR. (Ruchi) Bhargava;1940;;;\nY.B.C. (Yvonne) Bisschops-Wikkers;1219;;;\nB. (Bettie) Blankendaal;1675;;;\nR. (Roos) van der Blom;2097;;;\nI. (Ilse) Boekhout;0847;x;;\nA. (Annemieke) de Boer;2088;;;\nF. (Freya) Boerma;2046;;;\nR.N. (Richard) van Bokhoven;0157;;;\nM.A.C. (Maria) Bom;1433;x;;\nC.E.C. (C�cile) de Booij;1158;;;\nY. (Yvonne) van Borrendam;1820;;;\nJ.T. (Jannie) Bos;0395;;;\nE.J. (Ilse) van den Bos;1926;x;;\nJ. (Jerry) Van den Bosch;1436;x;;\nL.M. (Linda) von Bose;1861;;;\nJ. (Joyce) Bosman-Jansen;2016;;;\nM.J.M. (Marjon) Bot-Nieuweboer;1716;x;;\nM. (Martina) Bouman;1799;;;\nN. (Bea) Braber;2102;;;\nM.T.M. (Moniek) Brands;1640;;;\nA.J.C.P. (Angelique) Braspenning-Buijs;1914;;;\nI. (Ien) Brethouwer;0038;;;\nH.F.J.M. (Dick) van den Brink;1003;x;;\nW.P.M. (Ina) van den Brink;1762;;;\nW.J. (Wouda) van den Brink;2041;;;\nJ.C.M. (Josephine) Broeders;1256;;;\nL. (Lindsay) van den Broek-van de Sande;2026;;;\nE.H. (Erica) Broekhoven;2098;x;;\nH.H. (Hilde) Brombacher;1718;;;\nL. (Lizabeth) Brouwer-Hiemstra;1982;;;\nC.J. (Carolien) Bruinenberg;1706;x;;\nP. (Nelleke) Bruinooge-Lokerse;1784;x;;\nM.G.J. (Manon) Bruins-Maathuis;1274;;;\nM. (Micha) Bud�;1565;;;\nF.E.H. (Cisca) Buis;1001;;;\nJ.J. (Jara) Bulten;2080;;;\nM.H.T.A. (Marij) Camps;1500;;;\nY. (Yvet) Coppoolse-Vrijland;2040;;;\nN. (Naomi) Cornet;1899;;;\nN. (Nicole) Cullinan;2057;x;;\nC.A.A. (Caroline) van Daal;1727;;;\nS. (Sita) van Daalen;2033;;;\nA. (Astrid) Damman;2032;x;;\nF.J.M. (Fernand) Debats;1892;;;\nY.A. (Jolly) Determann;0257;x;;\nM. (Marieke) Diemeer;1842;;;\nH. (Helena) van Dijk;1143;;;\nH. (Hildegard) Dijkgraaf;1387;x;;\nB.L. (Bea) Dijkman;1587;;;\nK. (Karin) Dijkstra;1585;;;\nJ.J.M. (Jan) Dingemans;0985;x;;\nA.W. (Arjan) Domeni;1002;;;\nP.E. (Paulien) van Dommelen;0265;;;\nW.M.M. (Wilmie) Doornbos-Reintjes;1569;;;\nT. (Tanja) van Dorsser;0743;x;;\nM. (Marieke) van Dorst;0577;;;\nF.J. (Frances) Drijvers;2039;x;;\nM. (Marieke) van Drooge-van Loon;1495;x;;\nM.A.B. (Thea) Dudink-Bakker;1643;;;\nA. (Sandra) van Duijne;1794;x;;\nP.D. (Petra) Eelman;1750;;;\nM. (Monique) Eggink;1628;x;;\nA.H.M. (Annet) Ellenbroek-Kamphuis;1571;;;\nV.P. (Vincent) Engel;1713;x;;\nA.H.M. (Andr�) Ernst;0205;;;\nA.F.F. (Anne-Flore) Eschauzier;1951;;;\nH.E.C. (Hanna) Evers;0956;x;;\nM.Th.A. (Marie-Therese) Feringa;1933;x;;\nS. (Sabine) Flake;1278;x;;\nT.E.M. (Dorotee) Fleuren;0080;;;\nM.S. (Martine) du Floo;1690;;;\nM. (Manon) Fontijn;1918;x;;\nK.M.M. (Karen) Franken-Neelen;1922;x;;\nT.C.A. (Tessa) Franken-Zagers;1961;;;\nB.N. (Barbara) Franssen-Laan;2069;;;\nM.A. (Martin) Frijters;1620;;;\nJ.T. (Judith) van Gaalen;1584;x;;\nW.A.M. (Michiel) van Gemert;0757;;;\nP.G. (Pim) Gerlagh-Buurmeijer;1736;;;\nC.J. (Carolien) Gerritsen;1533;x;;\nT.J.H. (Thea) Geurink-St�teler;1380;;;\nJ.A.A. (Jacqueline) Giesen;1358;;;\nM. (Marije) Glerum;1894;;;\nP. (Peter) Goosensen;1681;;;\nM.K. (Marlijn) de Graaff-Schalekamp;1759;;;\nG.C. (Gerda) Greeven;0726;;;\nE.F.G.M. (Eug�ne) van Grinsven;1293;;;\nN.M. (Nancy) Groeneveld;1524;x;;\nJ.M.M. (Johan) Guffens;1865;x;;\nM.S.B. (Monique) Haafkes;1696;x;;\nJ.G. (Hans) van Haaften;2035;;;\nA. (Aartje) van de Haar-van Kreel;1455;x;;\nM.I. (Machteld) van Haeften;1978;x;;\nV.H,E. (Victorine) Hamers;1787;x;;\nA.J. (Anke) Hamminga-Hiemstra;2095;;;\nG. (Margriet) de Harder-Hopman;1859;x;;\nH. (Ria) ter Harmsel;0924;x;;\nS. (Simone) Hartman;1672;;;\nG.J.M. (Gerrie) Hasselaar;1811;;;\nC. (Christel) Heerwegh;2050;;;\nS.N. (Simone) van der Heide;1499;;;\nK. (Karin) van der Heide;2036;x;;\nM. (Marjon) Heij;1260;;;\nM.Y.P. (Mieke) Heijmans;1048;x;;\nJ.H. (Janneke) Hellendoorn;1605;;;\nJ. (Jacomijn) van Helvoort;0451;x;;\nH.A.A.M. (Helen) Hensing;0685;;;\nA.A.M. (Anita) Heppe;1969;;;\nJ.D.M. (Hans) Hilhorst;0957;;;\nH.M. (Hilde) Hoenderdos-Maarsingh;1828;x;;\nM.J.P. (Marja) Hofstede;1987;;;\nE. (Els) Holthuis;2025;x;;\nG.Ph. (Gerard) Homburg;1680;;;\nB. (Barbara) Hoogendoorn;1910;;;\nJ.M. (Judy) Hoomans;1350;;;\nF. (Flore) de Hoop;1610;;;\nH. (Hedi) Hop-Poolen;1684;;;\nM.L. (Marjon) Hornung-M�ller;1720;;;\nA. (Afke) Houtman;1995;;;\nA.J. (Astrid) van Houwelingen;0843;x;;\nR.A. (Karin) Hoven-Cazemier;1614;;;\nL.A.G. (Lucia) Hubens;1418;x;;\nR.M.G. (Regina) Huisman;1598;;;\nJ. (Janneke) Huisman;1954;x;;\nH.G.C. (Marieke) Huisman-den Brok;1563;;;\nJ.C.M. (Karin) Hutter-van Vlissingen;1956;x;;\nM.L. (Ries) IJsseldijk;0266;;;\nA.N. (Ton) Jansen;0301;;;\nH.J.G. (Henri�tte) Janssen;1729;;;\nC.I.J. (Collette) Janssens;1395;;;\nS.T. (Sietske) Jellema;1897;;;\nN. (Nienke) de Jong;2013;;;\nS.W.C. (Susanne) de Jong;2020;;;\nI.P.M. (Idalina) de Jong-Maasdijk;1725;;;\nG.J. (Inez) van der Kaaij;1712;;;\nE. (Evelien) van de Kamp;0286;;;\nP.J. (Petra) Kamphuis;1915;x;;\nJ.H.M. (Dianne) Kamphuis-Veldhuis;2047;x;;\nP.J. (Pooja Jignesh) Karnik;2075;x;;\nA. (Astrid) Kaspers;0179;x;;\nR. (Richard) Kersten;0887;;;\nF. (Froukje) Klaver-van der Meer;0893;;;\nA. (Angela) Kleijwegt-Marsilje;2090;x;;\nJ.M. (Josephine) Klein;0954;x;;\nY.H. (Yvonne) Klein Rouweler;1602;;;\nI.M. (Inge) Klep;1936;x;;\nL.K. (Lucas) Klooster;1917;x;;\nA.R.M. (Aranka) Kneepkens;1993;;;\nE.J. (Eric) Koedam;0631;;;\nG.H. (Karin) Koeman-Wichers;1895;;;\nR. (Rene�) Koenders;0180;;;\nJ.A. (Monique) Koenders-Knuvink;1972;;;\nB.W.M. (Bianca) Koenen;1860;;;\nH. (Hilde) Koert;0230;;;\nE. (Elke) Koller-Westenbroek;1963;;;\nE.W. (Esther) van Kommer;1254;;;\nJ.W. (Jan) Kooiman;0085;;;\nJ.V. (Jos) van Kooten;0606;;;\nW.H. (Mieke) van Kooten;1633;x;;\nA.E.J.L. (Anita) Korte-Kempers;1649;;;\nL.J.C. (Loes) Kremer;1816;x;;\nH.T. (Harmke) Kroeze;1218;;;\nM.A. (Mari�tte) Krol;1868;x;;\nR.J. (Jeanet) Kronenburcht;1955;;;\nE.W. (Elke) Kroon;1597;x;;\nM. (Marlies) Kropholler;1804;;;\nS. (Steffi) Krul-Meinhold;1788;;;\nL. (Livia) Kuipers-Jakovljevic;1810;;;\nE.J.M. (Milja) van Laak;1428;;;\nE. (Elsje) Lagaaij;1814;x;;\nK.M. (Sada) Landers;1299;;;\nR. (Ronald) de Landmeter;0063;x;;\nM. (Marina) Landstra;1921;x;;\nY.A.A. (Yvonne) Lassauw;1939;;;\nE.M. (Els) Leechburch Auwers;0807;;;\nG.J.M. (Ineke) Leemkuil-Kienhuis;0485;;;\nM.L. (Marijke) van Leeuwen-de Lange;2017;;;\nJ.J. (Joyce) van Leeuwen-Sloos;2021;;;\nJ. (Cobien) Leguijt;1570;;;\nA. (Alex) L�on;1801;x;;\nJ.A.F. (Hans) Leushuis;1578;;;\nA.H.R. (Agaathe) Levenga;1554;;;\nM.M. (Magda) Louwerse;1701;x;;\nG.T.M. (Bianca) Lubberts-van Raaij;2059;;;\nP.J.M. (Ellen) van der Maat;0433;;;\nY. (Yvonne) Marklein-Korporaal;1730;x;;\nA. (Annick) Marschand-Akker;1866;;;\nJ.M.T. (Anne) Matton;0190;;;\nV.E.I.M. (V�ronique) M�an;1805;;;\nM. (Maarten) van der Meer;0137;;;\nM. (Miranda) Meere;1992;x;;\nM.H.M. (Monique) Meereboer;1150;;;\nA. (Annelies) Meester;0714;;;\nI.S. (Ingrid) Meijerink van der Harst;1908;;;\nH.H. (Karin) Meinders;1838;;;\nG.G.J. (Trukie) Menge;1639;;;\nM. (Marit) Mets;1923;;;\nG.H. (Henri�tte) Metz-Wit;1827;;;\nM.M.M. (Margie) van Mierlo-Theunissen;1161;;;\nW. (Wies) Moes;0872;;;\nM. (Martine) van der Molen;2073;;;\nJ.J.M.M. (Jacqueline) Mols-van der Wal;1737;x;;\nJ. (Jeroen) Morssink;0003;;;\nR.C.M. (Renate) Mulder;1529;;;\nC.J. (Ynette) Mulder-de Ronde;1040;;;\nF.P. (Franc) M�ller;1359;;;\nH.Th. (Henk) van Munster;0154;;;\nS. (Sangeeta) Naveen Shrivastava;2024;x;;\nA.J. (Alida) Nijeboer-Verkerk;1858;;;\nR.J.G. (Regina) Nijenhuis;0185;x;;\nA.D.E. (Annelie) Nijland-Hoekstra;1615;x;;\nO.G.P. (Oliver) Noronha;1948;;;\nC.T.M. (Caroline) Nuiten-Zielhorst;1890;;;\nL. (Lisette) van \'t Oever;1769;;;\nC.M. (Carmen) Olde Scholtenhuis;1683;x;;\nS. (Susanna) Oldersma;1086;;;\nS.E. (Saskia) Olivier;0926;x;;\nF. (Femke) Oosterhof-de Vries;2006;x;;\nL.G. (Linda) Oostland;1893;;;\nC.B. (Christel) Ophuis;2042;;;\nC. (Corina) Oskamp;1141;x;;\nR.C. (Rene) Otter;0287;;;\nG.A. (Auke) Ottink-Doeschot;2071;;;\nA. (Anja) Overbeeke;1464;;;\nL.A. (Bert) Pannekeet;2089;;;\nM.A.M. (Monique) du Pau;1746;;;\nW.F.C.M. (Helmi) Pauwels;1916;x;;\nP.J.M. (Paul) Pelsma;0967;;;\nE.C. (Els) van Pelt-Stofberg;0876;;;\nH.M. (Hester) Penneweert;1534;;;\nM.J.G. (Aniek) Pere-Verhoeven;2053;;;\nA.C. (Anneke) Petter-Stavast;1983;;;\nH.W. (Herman) Philipsen;0861;x;;\nT. (Tineke) Priester;1175;x;;\nH. (Hilde) Pronk;1435;x;;\nS. (Sylvia) van der Putte-Hekster;0226;;;\nF.C.A. (Frans) Quirijnen;0938;;;\nM. (Monaza) Qureshi;2051;x;;\nC. (Catinka) Rabbers-Dekker;1549;;;\nE.F.H. (Ellen) Ramaker-Cents;1952;;;\nM.M. (Marije) Rappoldt-Smits;1779;;;\nC.G.F. (Chantal) Ravers;1959;;;\nA.M. (Netje) Reezigt;1035;;;\nA. (Anne) van Remortel;1797;x;;\nD. (Doroth�) Renkema;0788;x;;\nM. (Minke) Roelants;0569;x;;\nM. (Monique) Roggeveen;0228;x;;\nT. (Tatjana) Rogic-Lagendijk;2005;;;\nJ.G.M. (Jan) Roks;0316;;;\nP.F.J. (Paula) Roox-Grosfeld;2023;;;\nM. (Marja) Roozendaal-Van Kempen;0927;;;\nM.F. (Mari�lle) Ros;2004;;;\nN.I.J. (Nicole) van Rossum;1967;;;\nM. (Maayke) Rusken;1944;;;\nP. (Pauline) Saalmink;2066;;;\nM. (Manasi) Sagdeo-Mohril;1887;x;;\nM.A. (Marianne) Samsen;1733;x;;\nK.A. (Krista) Sand-Engelsma;2048;;;\nS.H. (Sjoukje) van Schaik;1641;;;\nC.C.M. (Tineke) Schaper;1425;;;\nM.E. (Marjolijne) Schipper;1638;x;;\nC.M.S. (Christa) Schipper;1724;;;\nB.C.E. (Bianca) Schipper;2009;;;\nN. (Nelly) Schmal-Haye;0869;;;\nF.M.T. (Frederike) Scholten;2044;;;\nM.E.P. (Monique) van Schoubroeck;1781;x;;\nK. (Karin) Schreurs;1809;;;\nA.G.E. (Anita) Schuit;0935;;;\nK. (Karina) Sevriens-Kallenbach;1510;;;\nJ.T.J.M. (Jacqueline) Sharpe-Scheuermann;1213;;;\nE. (Evelien) Simon-Pijpers;1648;;;\nM.C.M. (Marja) Simons;1195;;;\nH. (Henk) Slobbe;0203;x;;\nG.F.S. (Fiona) Sloet-van der Kolk;1667;;;\nN.H. (Nicole) Slootheer;0533;;;\nA.C. (Jeanine) Slot;1874;;;\nJ.M. (Marianne) Smit;1556;x;;\nM. (Miriam) Sommer;1465;;;\nD.E. (D�sir�e) Somsen-Appeldoorn;1732;;;\nJ. (Judith) Staats-Stel;1942;;;\nA.M.C. (Anita) Stam;0643;;;\nL. (Lioba) Steinkamp;1877;x;;\nC.E. (Caroline) Steinvoort-Ypenburg;1815;;;\nM.J. (Miranda) Stierman;1996;;;\nP. (Paul) Stollman;1062;;;\nF. (Femmy) Stolte-Mulder;2002;;;\nE.C.W. (Ewald) St�teler;0112;;;\nA. (Alberta) Stubbe-Drenth;2056;;;\nR. (Riek) Taekema;0113;;;\nR.A. (Roberto) Tangel;0551;;;\nS.E. (Susanne) Taubitz;1562;;;\nP.J. (Petra) van der Tempel-van Mil;1981;;;\nL.C.A. (Loes) Tesselaar;2030;;;\nE.M. (Eva) ten Thije;2061;;;\nM.C. (Margriet) Tibben;1763;;;\nA.W. (Alize) Timmerman;0114;;;\nJ. (Coby) Tjassing;1468;;;\nP. (Paul) van der Toorn;0648;x;;\nS.D. (Sharon) Townhill;1703;;;\nJ.E. (Hannelies) van der Vaart-de Pundert;1886;x;;\nM. (Marit) Valstar;0811;;;\nW.M. (Wendy) van der Vegt;1962;x;;\nC.C.M. (Claudia) van der Veen;2038;x;;\nJ. (Jorien) Veldhuis-Kleverwal;2091;;;\nJ.M.S. (Jolande) Velgersdijk;1772;;;\nJ.C.J. (Hannie) van de Ven;1471;;;\nM. (Mireille) Veninga-Peeren;1752;;;\nI. (Iris) Verdonk;1363;;;\nA.W.J. (Anita) Verlangen;1850;;;\nM.M.J. (Monique) Vermazeren;1178;x;;\nM. (Maarten) Verzaal;1773;;;\nM.C. (Marjan) Vink;1665;x;;\nE.J.M. (Bert) Vooijs;0564;;;\nA. (Annemarie) Vooijs;1317;x;;\nM.A.W.F. (Marianne) van de Vorstenbosch;0875;x;;\nH. (Helen) de Vos;1625;;;\nC.C. (Corstiaan) de Vries;1941;;;\nM.J.M. (Muri�l) Wagenmans;1283;x;;\nH.W. (Wilma) van de Wal-Muusse;1912;x;;\nS.A.F. (Sandra) Wammes;2067;;;\nA. (Anneke) van der Wel-van Akker;1807;x;;\nM. (Martine) Welling;1953;;;\nE.S. (Eva) Wetsteijn;2052;x;;\nJ.M. (Ank) Wichers;1837;x;;\nA.L. (Anais) Wicke;2104;;;\nV.M. (Vanja) Wierenga;1276;;;\nI.G.J.M. (Inge) van Wijck;0580;;;\nM.P.S. (Marij) Wijtenburg;1843;;;\nE.M. (Elly) te Winkel;1930;;;\nK. (Kristel) Winters;1867;x;;\nE. (Elke) Wisseborn;1802;;;\nD.J. (Dick) de Wit;0022;x;;\nG.G.M. (Gerlinde) de Wit;1659;;;\nN.M. (Nelleke) de Wit;2012;;;\nL.M.H. (Lucie) Wolbert;0628;x;;\nI.P. (Ilonka) Woltering;1663;;;\nE.C.M. (Ellen) van \'t Wout-Binnendijk;0820;;;\nG.E. (Gerda) Zaalberg;0178;;;\nJ.A. (Jan) Zachariasse;0928;x;;\nH.W. (Henk) Zachariasse;1888;;;\nI. (Ivonne) Zijlstra;1156;;;\nC.L. (Christine) Z�rcher;0921;;;\n'; -$par_Testrun_geen_nascholingen_maken=false; -$par_Nascholingen_verwijderen_in_plaats_van_maken=false; - -logAdd(log); - -$csv=$csvfile_par_Presentielijst_als_csv; - -ifThenElse($csv == '', - logAdd(log, 'error', 'Geen CSV bestand ingelezen, kies er één.'); - , - logAdd(log, 'warning', 'CSV Bestand ingelezen, uitvoeren nascholingsrecords.'); - - $idx1 = string\pos($csv, ','); - $idx2 = string\pos($csv, ';'); - - $comma="@$@#@@"; - ifThenElse($idx1, - ifThenElse($idx2, - ifThenElse($idx1 < $idx2, $comma=',', $comma=';'); - , - $comma=','; - ); - , - ifThen($idx2, - $comma=';'; - ); - ); - - $testrun = $par_Testrun_geen_nascholingen_maken; - $remove_nasch=$par_Nascholingen_verwijderen_in_plaats_van_maken; - - $re_entries = string\concatenate('/["][^"]*["]|[^', $comma, ']+/'); - - $user_id = env\userAttribute('id'); - logAdd(log, 'info', 'User id: ', $user_id); - - logAdd(log, 'info', "Gevonden comma-separator: '", $comma, "' - positie ','=", $idx1, ", positie ';'=", $idx2 ); - - ifThenElse($testrun, - logAdd(log, 'warning', 'Testrun - er worden geen nascholingen aangemaakt.'); - , - logAdd(log, 'warning', 'Er worden nascholingen aangemaakt'); - ); - - // Split in lines - - $sep = "@!%@"; - $rows=list(); - $line=''; - $csv = string\concatenate(string\trim($csv), '\n'); - $csv = string\replace($csv, string\concatenate($comma, $comma), string\concatenate($comma, $sep, $comma)); - $csv = string\replace($csv, string\concatenate($comma, $comma), string\concatenate($comma, $sep, $comma)); - $csv = string\replace($csv, string\concatenate($comma, "\n"), string\concatenate($comma, $sep, "\n")); - $idx = string\pos($csv, '\n'); - $data = list(); - $n_data = -1; - $name_len_data = -1; - - while($idx, - $line = string\substring($csv, 0, $idx); - $csv = string\substring($csv, $idx + 1); - - // NB. Dit gaat goed zolang je alleen het aantal presentie-datums telt en niet iets met de - // dat zelf doet! - $entries = string\matchAll($line, $re_entries); - - $k = array\length($entries); - ifThenElse($name_len_data > 0 && $k > ($name_len_data + 2), - logAdd(log, 'error', 'Meer dan ', $n_data, ' cellen op deze rij, niet te herkennen'); - logAdd(log, 'error', $line); - , - $row = list(); - $j = 0; - while($j < $k, - $row = array\push($row, array\at($entries, $j)); - $j = $j + 1; - ); - ifThen($n_data == -1, - ifThen($k > 0, - ifThen(string\trim(string\lowerCase(array\at($row, 0))) == 'naam', - $n_data = array\length($row) - 2; - $name_len_data = $n_data; - $jj = 2; - $dts = ''; - $comma = ''; - while($jj < $k, - $data = array\push($data, array\at($row, $jj)); - strAdd($dts, $comma); - $elem = array\at($row, $jj); - - ifThenElse($elem == $sep, - $n_data = $jj - 2; - $jj = $k; - , - strAdd($dts, array\at($row, $jj)); - $comma = ', '; - $jj = $jj + 1; - ); - ); - logAdd(log, 'info', 'Data: ', $dts); - logAdd(log, 'info', 'n_data: ', $n_data); - ); - ); - ); - $rows = array\push($rows, $row); - ); - - $idx = string\pos($csv, '\n'); - ); - - $leden_present = list(); - $presentie_factors = list(); - $opmerkingen = list(); - - $n = array\length($rows); - logAdd(log, 'info', 'lijst met aantal regels=', $n); - $nascholing=''; - $fields = false; - $i = 0; - $dates = list(); - while($i < $n, - $row = array\at($rows, $i); - ifThenElse($nascholing == '', - $type = string\lowerCase(array\at($row, 0)); - ifThen($type == 'nascholing', - $nascholing = array\at($row, 1); - logAdd(log, 'warning', 'Nascholing gevonden: ', $nascholing); - ); - , - ifThenElse($fields == false, - ifThen(string\trim(string\lowerCase(array\at($row, 0))) == 'naam', - $fields = true; - $dates = $row; - ); - , - $m = array\length($row); - // Dit is een nascholingsrij met voor iedere datum een kruis. - $jj = 2; - $dagen_present = 0; - $dagen_totaal = 0; - $data_afwezig = ""; - $data_aanwezig = ""; - while($jj < $m, - $present = string\trim(string\lowerCase(array\at($row, $jj))); - ifThenElse($present == 'x', - $dagen_present = $dagen_present + 1; - ifThen($data_aanwezig != "", strAdd($data_aanwezig, ", ");); - strAdd($data_aanwezig, array\at($dates, $jj)); - , - ifThen($data_afwezig != "", strAdd($data_afwezig, ", ");); - strAdd($data_afwezig, array\at($dates, $jj)); - ); - $jj = $jj + 1; - $dagen_totaal = $dagen_totaal + 1; - ); - - ifThenElse($data_afwezig != "", - $opmerking = string\concatenate("Aanwezig: ", $data_aanwezig, "\n", - "Afwezig : ", $data_afwezig, "\n", - "Presentiefactor : ", $dagen_present, " / ", $dagen_totaal, - " = ", number\format($dagen_present/$dagen_totaal, 2), - "\n" - ); - , - $opmerking = "Alle dagen gevolgd."; - ); - ifThen($dagen_present > 0, - $naam = array\at($row, 0); - $lidnummer = array\at($row, 1); - $factor = $dagen_present / $n_data; - ifThen($factor > 0.99, $factor = 1.0); - - logAdd(log, 'info', $naam, ' (', $lidnummer, ') - presentiefactor: ', $factor); - - $leden_present = array\push($leden_present, $lidnummer); - $presentie_factors = array\push($presentie_factors, $factor); - $opmerkingen = array\push($opmerkingen, $opmerking); - ); - ); - ); - $i = $i + 1; - ); - - ifThenElse($nascholing == '', - logAdd(log, 'error', 'Er is geen nascholingscode gevonden!'); - , - ifThenElse($fields == false, - logAdd(log, 'error', 'Er is geen velden-regel gevonden!'); - , - $code = $nascholing; - $recs = Entity\GetMany('Nascholing', 1, 'name', 'asc', 'code=', $code); - $m = array\length($recs); - ifThenElse($m != 1, - logAdd(log, 'error', 'Onverwacht: Aantal nascholingen voor code ', $code, '<>1:', $m); - , - $nascholing = array\at($recs, 0); - ifThenElse($testrun, - logAdd(log, 'warning', 'Testrun, hier stopt het.'); - , - ifThenElse($remove_nasch, - logAdd(log, 'warning', 'Verwijderen van nascholingsrecords begint.'); - logAdd(log, 'warning', 'Alleen nascholingsrecord die op basis van een presentielijst zijn opgevoerd worden verwijderd'); - , - logAdd(log, 'warning', 'Toevoegen of Vervangen nascholingsrecords begint.'); - logAdd(log, 'warning', 'Bestaande nascholingsrecords voor deze nascholing, niet op basis van een presentielijst, worden niet vervangen!'); - ); - - $n = array\length($leden_present); - logAdd(log, 'warning', $n, ' leden waren present'); - $i = 0; - while($i < $n, - $lidnummer = array\at($leden_present, $i); - $factor = array\at($presentie_factors, $i); - $opmerking = array\at($opmerkingen, $i); - - $c = Entity\GetMany('Contact', 1, 'lastName', 'asc', 'lidnummer=', $lidnummer); - $m = array\length($c); - ifThenElse($m != 1, - logAdd(log, 'error', 'Onverwacht: aantal contacten voor lidnummer ', $lidnummer, ' <> 1: ', $m); - , - $contact = array\at($c, 0); - $contact_id = attr($contact, 'id'); - $nascholings_id = attr($nascholing, 'id'); - $jaar = attr($nascholing, 'jaar'); - - $totaals = Entity\GetRelated($contact, 'nascholingstotalen', 1, 'jaar', 'asc', 'jaar=', $jaar); - $m = array\length($totaals); - ifThenElse($remove_nasch, - $action_str = 'Verwijderen'; - , - $action_str = 'Aanmaken'; - ); - logAdd(log, 'info', $action_str, ' nascholing: ', $code, ' voor lid: ', $lidnummer, ' voor jaar: ', $jaar); - ifThenElse($m != 1, - logAdd(log, 'error', 'Geen nascholingstotaal voor jaar: ', $jaar); - , - $totaal = array\at($totaals, 0); - $totaal_id = attr($totaal, 'id'); - - $rec_ids = Record\FindMany('HandmatigeNascholing', 'name', 'asc', - 'contactId=', $contact_id, - 'accNascholingId=', $nascholings_id, - 'nascholingstotaalId=', $totaal_id, - 'status!=', 'presentielijst' - ); - $m = array\length($rec_ids); - ifThenElse($m > 0, - logAdd(log, 'error', 'Dit lid (lidnummer=', $lidnummer, ') heeft al een nascholingsrecord voor deze nascholing!'); - , - ifThenElse($remove_nasch, - $rec_ids = Record\FindMany('HandmatigeNascholing', 'name', 'asc', - 'contactId=', $contact_id, - 'accNascholingId=', $nascholings_id, - 'nascholingstotaalId=', $totaal_id, - 'status=', 'presentielijst' - ); - $m = array\length($rec_ids); - logAdd(log, 'info', $m, ' nascholingen te verwijderen.'); - $j = 0; - while($j < $m, - $rec_id = array\at($rec_ids, $j); - record\update('HandmatigeNascholing', $rec_id, 'deleted', true); - $j = $j + 1; - ); - , - $rec_id = record\create('HandmatigeNascholing', - 'contactId', $contact_id, - 'accNascholingId', $nascholings_id, - 'nascholingstotaalId', $totaal_id, - 'status', 'presentielijst', - 'systeemopmerkingen', $opmerking, - 'aanwezigheidsFactor', $factor, - 'assignedUserId', $user_id, - 'createdBy', $user_id, - 'modifiedBy', $user_id - ); - ifThenElse($rec_id, - logAdd(log, 'info', 'Aangemaakt'); - , - logAdd(log, 'error', 'Niet gelukt!'); - ); - ); - ); - ); - ); - $i = $i + 1; - ); - - ); - ); - ); - ); - -); // CSV bestand leeg of niet leeg - -logAdd(log, 'warning', 'Klaar'); \ No newline at end of file diff --git a/code-current/scripts/Relaties nascholingstotalen omzetten.descr b/code-current/scripts/Relaties nascholingstotalen omzetten.descr deleted file mode 100644 index 27e71ea..0000000 --- a/code-current/scripts/Relaties nascholingstotalen omzetten.descr +++ /dev/null @@ -1 +0,0 @@ -Zet de relaties naar handmatige nascholingen om van many-to-many naar one-to-many \ No newline at end of file diff --git a/code-current/scripts/Relaties nascholingstotalen omzetten.id b/code-current/scripts/Relaties nascholingstotalen omzetten.id deleted file mode 100644 index d83fd54..0000000 --- a/code-current/scripts/Relaties nascholingstotalen omzetten.id +++ /dev/null @@ -1 +0,0 @@ -5fca3fa0a7857aa07 \ No newline at end of file diff --git a/code-current/scripts/Relaties nascholingstotalen omzetten.js b/code-current/scripts/Relaties nascholingstotalen omzetten.js deleted file mode 100644 index bd10520..0000000 --- a/code-current/scripts/Relaties nascholingstotalen omzetten.js +++ /dev/null @@ -1,34 +0,0 @@ -// last execution: Fri Dec 04 2020 15:16:08 GMT+0100 (Midden-Europese standaardtijd) - -logAdd(log); - -$ids = Record\FindMany('HandmatigeNascholing', 'name', 'asc'); - -$n = array\length($ids); -logAdd(log, 'info', '#handmatige nascholingen=', $n); - -logAdd(log, 'info', 'ja'); - -$i = 0; -while($i < $n, - $id = array\at($ids, $i); - $nascholing = entity\get('HandmatigeNascholing', $id); - $nascholingstotalen = Entity\GetRelated($nascholing, 'nascholingstotaalen', 1000); - - $m = array\length($nascholingstotalen); - $j = 0; - while($j < $m, - $totaal = array\at($nascholingstotalen, $j); - $totaal_id = attr($totaal, 'id'); - $contact_id = attr($totaal, 'contactId'); - $contact = entity\get('Contact', $contact_id); - logAdd(log, 'info', 'gerelateerd aan:', $id, ' - ', attr($totaal, 'jaar'), ' van ', attr($contact, 'name')); - - record\relate('Nascholingstotaal', $totaal_id, 'nascholingen1', $id); - - $j = $j + 1; - ); - - $i = $i + 1; -); - diff --git a/code-current/scripts/Studentleden doellijst bijwerken.descr b/code-current/scripts/Studentleden doellijst bijwerken.descr deleted file mode 100644 index 49e253b..0000000 --- a/code-current/scripts/Studentleden doellijst bijwerken.descr +++ /dev/null @@ -1 +0,0 @@ -Werkt de doellijst voor studentleden bij. \ No newline at end of file diff --git a/code-current/scripts/Studentleden doellijst bijwerken.id b/code-current/scripts/Studentleden doellijst bijwerken.id deleted file mode 100644 index 8d34283..0000000 --- a/code-current/scripts/Studentleden doellijst bijwerken.id +++ /dev/null @@ -1 +0,0 @@ -5f1705e77c3662078 \ No newline at end of file diff --git a/code-current/scripts/Studentleden doellijst bijwerken.js b/code-current/scripts/Studentleden doellijst bijwerken.js deleted file mode 100644 index 742a05b..0000000 --- a/code-current/scripts/Studentleden doellijst bijwerken.js +++ /dev/null @@ -1,66 +0,0 @@ -// last execution: 2026-08-28 03:15:01 -logAdd(log); - -$entities = Entity\GetMany('TargetList', 1, 'name', 'asc', 'name=', 'Studentleden'); -$n = array\length($entities); - -ifThenElse($n == 0, - logAdd(log, 'warning', 'Geen "Studentleden" doellijst, maak deze eerst aan!'); - , - logAdd(log, 'info', 'Studentleden doellijst aanwezig, leden worden vervangen...'); - - $doellijst = array\at($entities, 0); - $id = attr($doellijst, 'id'); - - logAdd(log, 'info', 'Verwijderen leden met regiocode <>30'); - $rows = record\fetchRelatedManyHash('TargetList', $id, - 'contacts', 'id, lastName, regiocode', - 'lastName', 'asc' - ); - $n = array\length($rows); - logAdd(log, 'info', 'Aantal gerelateerde leden: ', $n); - $i = 0; - $rcnt = 0; - while($i < $n, - $row = array\at($rows, $i); - $code = hash\get($row, 'regiocode'); - ifThen($code != '30', - $lastname = hash\get($row, 'lastName'); - $contact_id = hash\get($row, 'id'); - logAdd(log, 'info', 'Verwijderen: ', $lastname, '; regiocode=', $code); - record\unrelate('TargetList', $id, 'contacts', $contact_id); - $rcnt = $rcnt + 1; - ); - $i = $i + 1; - ); - - logAdd(log, 'info', 'Relateren leden met regiocode =30'); - $rows = record\fetchManyHash('Contact', 'id, lastName, regiocode', 'lastName', 'asc'); - $n = array\length($rows); - logAdd(log, 'info', 'Aantal leden om te beoordelen: ', $n); - $i = 0; - $cnt = 0; - $hom_cnt = 0; - while($i < $n, - $row = array\at($rows, $i); - $code = hash\get($row, 'regiocode'); - ifThen($code == '30', - $hom_cnt = $hom_cnt + 1; - $contact_id = hash\get($row, 'id'); - $r_id = record\findRelatedMany('TargetList', $id, - 'contacts', 1, 'createdAt', 'desc', - 'id=', $contact_id - ); - ifThen(!$r_id, - $lastname = hash\get($row, 'lastName'); - logAdd(log, 'info', 'Toevoegen lid: ', $lastname); - record\relate('TargetList', $id, 'contacts', $contact_id); - $cnt = $cnt + 1; - ); - ); - $i = $i + 1; - ); - logAdd(log, 'info', $cnt, ' leden toegevoegd'); - logAdd(log, 'info', $rcnt, ' leden verwijderd'); - logAdd(log, 'info', $hom_cnt, ' leden in de lijst'); -); \ No newline at end of file diff --git a/code-current/scripts/Sympathisanten Doellijst Bijwerken.descr b/code-current/scripts/Sympathisanten Doellijst Bijwerken.descr deleted file mode 100644 index 2e8d3be..0000000 --- a/code-current/scripts/Sympathisanten Doellijst Bijwerken.descr +++ /dev/null @@ -1 +0,0 @@ -Werkt de doellijst met sympathisanten bij. \ No newline at end of file diff --git a/code-current/scripts/Sympathisanten Doellijst Bijwerken.id b/code-current/scripts/Sympathisanten Doellijst Bijwerken.id deleted file mode 100644 index a312305..0000000 --- a/code-current/scripts/Sympathisanten Doellijst Bijwerken.id +++ /dev/null @@ -1 +0,0 @@ -5f1708b5d6644893d \ No newline at end of file diff --git a/code-current/scripts/Sympathisanten Doellijst Bijwerken.js b/code-current/scripts/Sympathisanten Doellijst Bijwerken.js deleted file mode 100644 index d68fd91..0000000 --- a/code-current/scripts/Sympathisanten Doellijst Bijwerken.js +++ /dev/null @@ -1,66 +0,0 @@ -// last execution: 2026-08-28 02:45:01 -logAdd(log); - -$entities = Entity\GetMany('TargetList', 1, 'name', 'asc', 'name=', 'Sympathisanten'); -$n = array\length($entities); - -ifThenElse($n == 0, - logAdd(log, 'warning', 'Geen "Sympathisanten" doellijst, maak deze eerst aan!'); - , - logAdd(log, 'info', 'Sympathisanten doellijst aanwezig, leden worden vervangen...'); - - $doellijst = array\at($entities, 0); - $id = attr($doellijst, 'id'); - - logAdd(log, 'info', 'Verwijderen leden met regiocode <>40'); - $rows = record\fetchRelatedManyHash('TargetList', $id, - 'contacts', 'id, lastName, regiocode', - 'lastName', 'asc' - ); - $n = array\length($rows); - logAdd(log, 'info', 'Aantal gerelateerde leden: ', $n); - $i = 0; - $rcnt = 0; - while($i < $n, - $row = array\at($rows, $i); - $code = hash\get($row, 'regiocode'); - ifThen($code != '40', - $lastname = hash\get($row, 'lastName'); - $contact_id = hash\get($row, 'id'); - logAdd(log, 'info', 'Verwijderen: ', $lastname, '; regiocode=', $code); - record\unrelate('TargetList', $id, 'contacts', $contact_id); - $rcnt = $rcnt + 1; - ); - $i = $i + 1; - ); - - logAdd(log, 'info', 'Relateren leden met regiocode =40'); - $rows = record\fetchManyHash('Contact', 'id, lastName, regiocode', 'lastName', 'asc'); - $n = array\length($rows); - logAdd(log, 'info', 'Aantal leden om te beoordelen: ', $n); - $i = 0; - $cnt = 0; - $hom_cnt = 0; - while($i < $n, - $row = array\at($rows, $i); - $code = hash\get($row, 'regiocode'); - ifThen($code == '40', - $hom_cnt = $hom_cnt + 1; - $contact_id = hash\get($row, 'id'); - $r_id = record\findRelatedMany('TargetList', $id, - 'contacts', 1, 'createdAt', 'desc', - 'id=', $contact_id - ); - ifThen(!$r_id, - $lastname = hash\get($row, 'lastName'); - logAdd(log, 'info', 'Toevoegen lid: ', $lastname); - record\relate('TargetList', $id, 'contacts', $contact_id); - $cnt = $cnt + 1; - ); - ); - $i = $i + 1; - ); - logAdd(log, 'info', $cnt, ' leden toegevoegd'); - logAdd(log, 'info', $rcnt, ' leden verwijderd'); - logAdd(log, 'info', $hom_cnt, ' leden in de lijst'); -); \ No newline at end of file diff --git a/code-current/scripts/Updates Door Leden.descr b/code-current/scripts/Updates Door Leden.descr deleted file mode 100644 index 63373cc..0000000 --- a/code-current/scripts/Updates Door Leden.descr +++ /dev/null @@ -1 +0,0 @@ -Stuurt een samenvatting van de updates van de leden van vandaag naar het NVKH secretariaat, tenzij er geen updates zijn. \ No newline at end of file diff --git a/code-current/scripts/Updates Door Leden.id b/code-current/scripts/Updates Door Leden.id deleted file mode 100644 index 9389396..0000000 --- a/code-current/scripts/Updates Door Leden.id +++ /dev/null @@ -1 +0,0 @@ -5fd9f890ad92bd5bb \ No newline at end of file diff --git a/code-current/scripts/Updates Door Leden.js b/code-current/scripts/Updates Door Leden.js deleted file mode 100644 index 2b7e9f9..0000000 --- a/code-current/scripts/Updates Door Leden.js +++ /dev/null @@ -1,96 +0,0 @@ -// last execution: 2021-06-10 04:17:02 -$today = datetime\today(); -$before_yesterday = datetime\addDays($today, -2); - -$updates = record\fetchManyHash('Ledenupdates', - 'id, name, type, contactId, createdAt, description', - 'createdAt', 'desc', - 'createdAt<', $today, - 'createdAt>', $before_yesterday - ); - - -logAdd(log); -html = ''; - -$n_updates = array\length($updates); - -logAdd(log, 'info', 'Updates door leden voor de dag tussen = ', $before_yesterday, ' en ', $today); -logAdd(log, 'info', $n_updates, ' updates door leden gisteren.'); - -$h_leden = Hash\New(); - -$i = 0; -while($i < $n_updates, - $row = array\at($updates, $i); - $name = hash\get($row, 'name'); - $contact_id = hash\get($row, 'contactId'); - $created_at = datetime\format(hash\get($row, 'createdAt'), 'Europe/Amsterdam', 'DD-MM-YYYY HH:mm'); - $opm = hash\get($row, 'description'); - - $opm = string\replace($opm, '```', ''); - $opm = string\replace($opm, '\n', '
'); - - ifThenElse(Hash\IsSet($h_leden, $contact_id), - $tbl = hash\get($h_leden, $contact_id); - , - $contact = entity\get('Contact', $contact_id); - $c_name = attr($contact, 'name'); - $tbl = string\concatenate('', $c_name, ''); - ); - - strAdd($tbl, ''); - strAdd($tbl, '', $name, '', - '', $created_at, '', - '', $opm, ''); - strAdd($tbl, ''); - - $h_leden = Hash\Set($h_leden, $contact_id, $tbl); - - $i = $i + 1; -); - -$keys = hash\keys($h_leden); -$n = array\length($keys); - -logAdd(log, 'info', 'aantal contacten:', $n); - -$html = ''; -$i = 0; -while($i < $n, - $key = array\at($keys, $i); - $tbl = hash\get($h_leden, $key); - strAdd($html, $tbl); - $i = $i + 1; -); -strAdd($html, '
'); - -ifThenElse($n_updates == 0, - logAdd(log, 'info', 'Geen updates gisteren, niets te versturen.'); - , - $body = emailTemplate; - $body = string\replace($body, '{{log}}', $html); - $dt = datetime\format(datetime\now(), 'Europe/Amsterdam', 'DD/MM/YYYY'); - $subject = string\concatenate('NVKH Crm - Job Verslag - ', $dt); - $userId = env\userAttribute('id'); - $mailadrs = string\matchAll(configGet('job-secretariaat-mail-address'), '/[^, ]+/'); - - $m = array\length($mailadrs); - logAdd(log, 'Aantal mailadressen secretariaat: ', $m); - $i = 0; - while($i < $m, - $mailadr = array\at($mailadrs, $i); - logAdd(log, 'Mail sturen naar: ', $mailadr); - $i = $i + 1; - $emailId = record\create('Email', 'subject', $subject, - 'body', $body, - 'to', $mailadr, - 'assignedUser', $userId, - 'isUser', true, - 'parentType', 'Script', - 'parentId', id - ); - ext\email\send($emailId); - ); - -); \ No newline at end of file diff --git a/code-current/scripts/VOG Leden waarvan de VOG moet worden vernieuwd.descr b/code-current/scripts/VOG Leden waarvan de VOG moet worden vernieuwd.descr deleted file mode 100644 index 439c75a..0000000 --- a/code-current/scripts/VOG Leden waarvan de VOG moet worden vernieuwd.descr +++ /dev/null @@ -1 +0,0 @@ -Rapporteert de leden waarvan de VOG datum verlopen is of die geen VOG datum hebben en waarvoor geldt dat de regiocode <30 is. \ No newline at end of file diff --git a/code-current/scripts/VOG Leden waarvan de VOG moet worden vernieuwd.id b/code-current/scripts/VOG Leden waarvan de VOG moet worden vernieuwd.id deleted file mode 100644 index cf68e2c..0000000 --- a/code-current/scripts/VOG Leden waarvan de VOG moet worden vernieuwd.id +++ /dev/null @@ -1 +0,0 @@ -5ef665ed7540e93e6 \ No newline at end of file diff --git a/code-current/scripts/VOG Leden waarvan de VOG moet worden vernieuwd.js b/code-current/scripts/VOG Leden waarvan de VOG moet worden vernieuwd.js deleted file mode 100644 index 4ddd1de..0000000 --- a/code-current/scripts/VOG Leden waarvan de VOG moet worden vernieuwd.js +++ /dev/null @@ -1,118 +0,0 @@ -// last execution: Wed Sep 21 2022 11:13:38 GMT+0200 (Midden-Europese zomertijd) - -$par_VOG_aantal_jaren_geldig=6; -$par_Alleen_ongeldige_VOGs_rapporteren=true; -$par_Leden_openen_in_tab=false; -$par_Aantal_regels_per_pagina=13; - -html = ''; -logAdd(log); - -$p_page_len = $par_Aantal_regels_per_pagina; -$in_tab = $par_Leden_openen_in_tab; - -$p_years= $par_VOG_aantal_jaren_geldig; -$c_year = datetime\year(datetime\today()); -$limit_year = $c_year - $p_years; - -$alleen_geldig = $par_Alleen_ongeldige_VOGs_rapporteren; - -$entities = record\fetchManyHash('Contact', - 'id, firstName, lastName, middleName, regiocode, datumVOG, emailAddress', - 'lastName', 'asc' - ); - -$n = array\length($entities); -logAdd(log, 'Aantal te beoordelen (ex)leden: ', $n); - -$aantal_met_lege_VOG = 0; -$aantal_met_verlopen_VOG = 0; -$aantal_met_geldige_VOG = 0; -$aantal_regio_ok = 0; - -$h = ''; - -strAdd($h, '
'); - -$table = table\new('Voornaam', 10, - 'Achternaam', 20, 'asc', - 'Regiocode', 5, 'center', - 'Laatste VOG Datum', 15, 'center', - 'Nieuwe VOG Nodig', 10, 'center', - 'eMail', 15, 'ellipsis' - ); -table\rowsPerPage($table, $p_page_len); - -$i = 0; -while($i < $n, - $e = array\at($entities, $i); - - $regiocode = hash\get($e, 'regiocode'); - $id = hash\get($e, 'id'); - $regiocode_nr = string\substring($regiocode, 0, 2) + 0; - $meenemen = $regiocode_nr < 30; - - $achternaam = hash\get($e, 'lastName'); - $voorvoegsel = hash\get($e, 'middleName'); - $voornaam = hash\get($e, 'firstName'); - - ifThen($meenemen, - $aantal_regio_ok = $aantal_regio_ok + 1; - $vog_datum = hash\get($e, 'datumVOG'); - - ifThenElse($vog_datum == null, - $vog_nodig = 'ja'; - $aantal_met_lege_VOG = $aantal_met_lege_VOG + 1; - , - $y = datetime\year($vog_datum); - ifThenElse($y < $limit_year, - $vog_nodig = 'ja'; - $aantal_met_verlopen_VOG = $aantal_met_verlopen_VOG + 1; - , - $vog_nodig = 'nee'; - $aantal_met_geldige_VOG = $aantal_met_geldige_VOG + 1; - ); - ); - - $td = ''; - $report = true; - - ifThen($vog_nodig == 'nee', $report = !$alleen_geldig;); - - ifThen($report, - $email = hash\get($e, 'emailAddress'); - - strAdd($h, ''); - ifThenElse($in_tab, - $target = 'target="_blank"'; - , - $target = ""; - ); - - ifThen($voorvoegsel, - strAdd($achternaam, ', ', $voorvoegsel); - ); - - table\add($table, - $voornaam, - table\link(string\concatenate('/#Contact/view/', $id), $achternaam), - $regiocode, - $vog_datum, - $vog_nodig, - $email - ); - ); - ); - - $i = $i + 1; -); - -strAdd($h, table\toHtml($table)); -strAdd($h, '
'); - -html=$h; - -logAdd(log, 'info', 'Totaal aantal leden met regiocode < 30: ', $aantal_regio_ok); -logAdd(log, 'info', 'Aantal leden zonder VOG datum: ', $aantal_met_lege_VOG); -logAdd(log, 'info', 'Aantal leden met verlopen VOG ', $p_years, ' jaar geleden: ', $aantal_met_verlopen_VOG); -logAdd(log, 'info', 'Aantal leden met geldige VOG: ', $aantal_met_geldige_VOG); diff --git a/code-current/scripts/Visitatie - Bewaken voortgang proces.descr b/code-current/scripts/Visitatie - Bewaken voortgang proces.descr deleted file mode 100644 index 4cc9f90..0000000 --- a/code-current/scripts/Visitatie - Bewaken voortgang proces.descr +++ /dev/null @@ -1 +0,0 @@ -Bewaakt de voortgang van het proces van visitatie. Stuurt een lijst met probleemgevallen naar het secretariaat. \ No newline at end of file diff --git a/code-current/scripts/Visitatie - Bewaken voortgang proces.id b/code-current/scripts/Visitatie - Bewaken voortgang proces.id deleted file mode 100644 index 1ddba9c..0000000 --- a/code-current/scripts/Visitatie - Bewaken voortgang proces.id +++ /dev/null @@ -1 +0,0 @@ -61b656e2bda826ca2 \ No newline at end of file diff --git a/code-current/scripts/Visitatie - Bewaken voortgang proces.js b/code-current/scripts/Visitatie - Bewaken voortgang proces.js deleted file mode 100644 index 07dccb8..0000000 --- a/code-current/scripts/Visitatie - Bewaken voortgang proces.js +++ /dev/null @@ -1,180 +0,0 @@ -// last execution: 2026-08-25 07:00:02 -logAdd(log); -html = ''; - -$dagen_limiet = configGet('visitatie-dagen-voor-invullen-formulier'); -logAdd(log, 'info', "Dagen limiet voor invullen formulier: ", $dagen_limiet); - -// Check de huidige gevisiteerden die nog geen formulier hebben teruggestuurd - -$wacht_op_formulier = Entity\GetMany('Visitatie', 10000, 'lidnummer', 'asc', - 'resultaat=', 'VP' - ); - -$i = 0; -$n = array\length($wacht_op_formulier); - -$n_wacht_op_formulier = $n; -logAdd(log, 'info', $n_wacht_op_formulier, ' - visitaties uitstaan die op formulier wachten'); - -$formulier_te_laat = ""; -$f_count = 0; - -while($i < $n, - $v = array\at($wacht_op_formulier, $i); - $datum = attr($v, 'visitatiedatum'); - $datum_limiet = datetime\addDays(datetime\now(), $dagen_limiet); - ifThen($datum < $datum_limiet, - $rec_id = attr($v, 'id'); - $contact_id = attr($v, 'contactId'); - $lidnr = attr($v, 'lidnummer'); - - ifThenElse($contact_id, - logAdd(log, 'info', 'Visitatie record: ', $rec_id, ', voor lid: ', $lidnr); - $lid = entity\get('Contact', $contact_id); - $visiteur = entity\get('Contact', attr($v, 'visiteurId')); - $lid_name = attr($lid, 'name'); - $lid_email = attr($lid, 'emailAddress'); - $lid_phone = attr($lid, 'phoneNumber'); - $v_name = attr($visiteur, 'name'); - $v_email = attr($visiteur, 'emailAddress'); - - $days = datetime\diff($datum_limiet, $datum, 'days'); - - $row = string\concatenate("
  • ", - 'lid: ', $lid_name, '', - ', tel: ', $lid_phone, - ', dagen te laat: ', $days, - ', visiteur: ', $v_name, ', ', - ', zie lid ', $lidnr, ' of ', - ', visitatie record', - '
  • ', "\n" - ); - - strAdd($formulier_te_laat, $row); - $f_count = $f_count + 1; - , - $row = string\concatenate("
  • ", - "Visitatie record heeft geen gekoppeld lid, corrigeer of verwijder dit ", - " href=\"/#Visitatie/view/", $rec_id, "\">visitatie record.", - "
  • " - ); - strAdd($formulier_te_laat, $row); - logAdd(log, 'warning', 'Visitatie record: ', $rec_id, ', met lidnummer: ', $lidnr, ', er is geen gekoppeld lid gevonden'); - ); - ); - - $i = $i + 1; -); - -// Proces stokt - -$limiet_visitatie = configGet('visitatie-dagen-voor-visitatieproces'); -logAdd(log, 'info', "Dagen limiet voor visitatieproces: ", $limiet_visitatie); - -$proces_stokt = ""; -$p_count = 0; - -$wacht_op_proces = Entity\GetMany('Visitatie', 10000, 'lidnummer', 'asc', - 'resultaat=', 'FRVG' - ); - -$i = 0; -$n = array\length($wacht_op_proces); - -$n_wacht_op_proces = $n; -logAdd(log, 'info', $n_wacht_op_proces, ' - visitaties uitstaan die op visitatieproces wachten'); - -while($i < $n, - $v = array\at($wacht_op_proces, $i); - $datum = attr($v, 'visitatiedatum'); - $datum_limiet = datetime\addDays(datetime\now(), -1 * $limiet_visitatie); - ifThen($datum < $datum_limiet, - $contact_id = attr($v, 'contactId'); - $rec_id = attr($v, 'id'); - $lidnr = attr($v, 'lidnummer'); - - ifThenElse($contact_id, - logAdd(log, 'info', 'Visitatie record: ', $rec_id, ', voor lid: ', $lidnr); - $lid = entity\get('Contact', $contact_id); - $visiteur = entity\get('Contact', attr($v, 'visiteurId')); - $lid_name = attr($lid, 'name'); - $lid_email = attr($lid, 'emailAddress'); - $lid_phone = attr($lid, 'phoneNumber'); - $v_name = attr($visiteur, 'name'); - $v_email = attr($visiteur, 'emailAddress'); - - $days = datetime\diff($datum_limiet, $datum, 'days'); - - $row = string\concatenate("
  • ", - 'lid: ', $lid_name, '', - ', tel: ', $lid_phone, - ', dagen te laat: ', $days, - ', visiteur: ', $v_name, '', - ', zie lid ', $lidnr, ' of ', - ', visitatie record', - '
  • ', "\n" - ); - - strAdd($proces_stokt, $row); - - $p_count = $p_count + 1; - , - $row = string\concatenate("
  • ", - "Visitatie record heeft geen gekoppeld lid, corrigeer of verwijder dit ", - "visitatie record.", - "
  • " - ); - strAdd($proces_stokt, $row); - logAdd(log, 'warning', 'Visitatie record: ', $rec_id, ', met lidnummer: ', $lidnr, ', er is geen gekoppeld lid gevonden'); - ); - ); - - $i = $i + 1; -); - - -// Verstuur de email - -logAdd(log, 'info', 'Formulieren te laat: ', $f_count); -logAdd(log, 'info', 'Proces stokt: ', $p_count); - -$t_count = $p_count + $f_count; - -ifThenElse($t_count > 0, - $me = entity\this(); - $email = attr($me, 'emailTemplate'); - - ifThenElse($f_count ==0, - $formulier_te_laat = '
    • Geen.
    '; - , - $formulier_te_laat = string\concatenate('
      ', $formulier_te_laat, '
    '); - ); - $email = string\replace($email, '{{visitatieformulier-te-laat}}', $formulier_te_laat); - - ifThenElse($p_count ==0, - $proces_stokt = '
    • Geen.
    '; - , - $proces_stokt = string\concatenate('
      ', $proces_stokt, '
    '); - ); - $email = string\replace($email, '{{visitatie-proces-stokt}}', $proces_stokt); - - $userId = env\userAttribute('id'); - - $emailadres = configGet('secretariaat-email-address'); - - $emailId = record\create('Email', - 'subject', 'Rapportage Vertragingen Visitatieproces', - 'body', $email, - 'to', $emailadres, - 'assignedUser', $userId, - 'isUser', true, - 'parentType', 'User', - 'parentId', $userId - ); - ext\email\send($emailId); - - logAdd(log, 'info', 'eMail verstuurd naar ', $emailadres); -, - logAdd(log, 'info', 'Geen vertragingen in het visitatieproces'); -); \ No newline at end of file diff --git a/code-current/scripts/Visitatie - Doellijst 'te visiteren leden' vullen.descr b/code-current/scripts/Visitatie - Doellijst 'te visiteren leden' vullen.descr deleted file mode 100644 index 69b0d36..0000000 --- a/code-current/scripts/Visitatie - Doellijst 'te visiteren leden' vullen.descr +++ /dev/null @@ -1 +0,0 @@ -De doellijst 'Te visiteren leden' wordt leeggemaakt en daarna gevuld met alle leden die een Visitatierecord met status 'Te visiteren' hebben. Dit wordt gedaan door alle visitatie records met deze status op te zoeken en de bijbehorende leden op te nemen in de lijst. \ No newline at end of file diff --git a/code-current/scripts/Visitatie - Doellijst 'te visiteren leden' vullen.id b/code-current/scripts/Visitatie - Doellijst 'te visiteren leden' vullen.id deleted file mode 100644 index 539637e..0000000 --- a/code-current/scripts/Visitatie - Doellijst 'te visiteren leden' vullen.id +++ /dev/null @@ -1 +0,0 @@ -61b5ca117e44371e7 \ No newline at end of file diff --git a/code-current/scripts/Visitatie - Doellijst 'te visiteren leden' vullen.js b/code-current/scripts/Visitatie - Doellijst 'te visiteren leden' vullen.js deleted file mode 100644 index e3b5b1d..0000000 --- a/code-current/scripts/Visitatie - Doellijst 'te visiteren leden' vullen.js +++ /dev/null @@ -1,41 +0,0 @@ -// last execution: Mon Dec 19 2022 11:27:47 GMT+0100 (Midden-Europese standaardtijd) - -// Init - -logAdd(log); - -// Itereer over alle visitatie records met status 'te visiteren' - -logAdd(log, 'info', 'Verwijderen records uit doellijst "Te visiteren leden"'); - -$targetlist_id = record\findOne('TargetList', 'createdAt', 'desc', 'name=', 'Te visiteren leden'); -ifThenElse($targetlist_id, - $contact_ids = record\findRelatedMany('TargetList', $targetlist_id, 'contacts', 10000); - $i = 0; - $n = array\length($contact_ids); - logAdd(log, 'info', 'Verwijderen leden uit de distributielijst: ', $n, ' leden'); - while($i < $n, - $contact_id = array\at($contact_ids, $i); - record\unrelate('TargetList', $targetlist_id, 'contacts', $contact_id); - $i = $i + 1; - ); - - logAdd(log, 'info', 'Opvoeren leden in doellijst "Te visiteren leden"'); - - $recs = Record\FetchManyHash('Visitatie', 'id, contactId, lidnummer', 'lidnummer', 'asc', 'resultaat', '-'); - $i = 0; - $n = array\length($recs); - - logAdd(log, 'info', 'Visitatierecords met status "te visiteren": ', $n); - - while($i < $n, - $item = array\at($recs, $i); - $lidnummer = hash\get($item, 'lidnummer'); - $contactId = hash\get($item, 'contactId'); - logAdd(log, 'info', 'lidnummer: ', $lidnummer); - record\relate('TargetList', $targetlist_id, 'contacts', $contactId); - $i = $i + 1; - ); -, - logAdd(log, 'error', 'Geen distributielijst gevonden met naam "Te visiteren leden"'); -); \ No newline at end of file diff --git a/code-current/scripts/Visitatie - Herinneringen sturen 4 weken van te voren.descr b/code-current/scripts/Visitatie - Herinneringen sturen 4 weken van te voren.descr deleted file mode 100644 index 0147e0e..0000000 --- a/code-current/scripts/Visitatie - Herinneringen sturen 4 weken van te voren.descr +++ /dev/null @@ -1 +0,0 @@ -Stuurt een herinnering naar de gevisiteerde, 4 weken voordat de visitatie plaatsvindt, indien aan de orde. Update van het visitatierecord met boolean - herinnering gestuurd. Voor alle visitatierecords die op 'Visitatie gepland' staan. \ No newline at end of file diff --git a/code-current/scripts/Visitatie - Herinneringen sturen 4 weken van te voren.id b/code-current/scripts/Visitatie - Herinneringen sturen 4 weken van te voren.id deleted file mode 100644 index bb22adc..0000000 --- a/code-current/scripts/Visitatie - Herinneringen sturen 4 weken van te voren.id +++ /dev/null @@ -1 +0,0 @@ -61b617ebdfc8746aa \ No newline at end of file diff --git a/code-current/scripts/Visitatie - Herinneringen sturen 4 weken van te voren.js b/code-current/scripts/Visitatie - Herinneringen sturen 4 weken van te voren.js deleted file mode 100644 index 37d26d0..0000000 --- a/code-current/scripts/Visitatie - Herinneringen sturen 4 weken van te voren.js +++ /dev/null @@ -1,74 +0,0 @@ -// last execution: 2026-08-28 06:34:01 -$subject_init = 'Herinnering voor visitatie op {{visitatie-datum}}'; - -logAdd(log); - -$cfg4weken = configGet('visitatie-weken-voor-herinnering'); -$over4weken = datetime\now(); -$over4weken = datetime\addWeeks($over4weken, $cfg4weken); -$o4w_str = datetime\format($over4weken, 'Europe/Amsterdam', 'DD/MM/YYYY'); -$formulier_limiet_dagen = configGet('visitatie-dagen-voor-invullen-formulier'); - -logAdd(log, 'info', 'Check of herinnering moet worden gestuurd voor visitatiedata <= ', $o4w_str); - -$visitaties = record\fetchManyHash('Visitatie', - 'id, resultaat, lidnummer, contactId, visitatiedatum, visiteurId, herinnerd', - 'lidnummer', 'asc', - 'visitatiedatum<=', $over4weken, - 'resultaat=', 'VP' - ); - -$i = 0; -$n = array\length($visitaties); - -logAdd(log, 'info', 'Aantal visitaties om te controleren: ', $n); - -while($i < $n, - $item = array\at($visitaties, $i); - $id = hash\get($item, 'id'); - $lidnummer = hash\get($item, 'lidnummer'); - $herinnerd = hash\get($item, 'herinnerd'); - $vd = hash\get($item, 'visitatiedatum'); - $vd_str = datetime\format($vd, 'Europe/Amsterdam', 'DD/MM/YYYY'); - - ifThenElse($herinnerd, - logAdd(log, 'info', 'Lidnummer: ', $lidnummer, ', is al herinnerd voor visitatiedatum: ', $vd); - , - logAdd(log, 'info', 'Lidnummer: ', $lidnummer, ', herinneren voor visitatiedatum: ', $vd); - - $lid_id = hash\get($item, 'contactId'); - $lid = entity\get('Contact', $lid_id); - $visiteur = entity\get('Contact', hash\get($item, 'visiteurId')); - - $fd = datetime\addDays($vd, -1 * $formulier_limiet_dagen); - $fd_str = datetime\format($fd, 'Europe/Amsterdam', 'DD/MM/YYYY'); - - $email = configGet('visitatie-herinneringsmail'); - $email = string\replace($email, '{{lid-naam}}', attr($lid, 'name')); - $email = string\replace($email, '{{visitatie-datum}}', $vd_str); - $email = string\replace($email, '{{visiteur}}', attr($visiteur, 'name')); - $email = string\replace($email, '{{formulier-datum}}', $fd_str); - - $mailadr = attr($lid, 'emailAddress'); - - $subject = $subject_init; - $subject = string\replace($subject, '{{visitatie-datum}}', $vd_str); - - $emailId = record\create('Email', - 'subject', $subject, - 'body', $email, - 'to', $mailadr, - 'assignedUser', $userId, - 'isUser', true, - 'parentType', 'Contact', - 'parentId', $lid_id - ); - ext\email\send($emailId); - - global\set('visitatie_herinneren', true); - record\update('Visitatie', $id, 'herinnerd', true); - global\unset('visitatie_herinneren'); - ); - - $i = $i + 1; -); \ No newline at end of file diff --git a/code-current/scripts/Visitatie - Maak campagne voor aankondigingsmail klaar.descr b/code-current/scripts/Visitatie - Maak campagne voor aankondigingsmail klaar.descr deleted file mode 100644 index ee0987e..0000000 --- a/code-current/scripts/Visitatie - Maak campagne voor aankondigingsmail klaar.descr +++ /dev/null @@ -1,8 +0,0 @@ -In december worden de mails verstuurd voor de 'te visiteren' leden. Die krijgen dan een aankondiging dat ze in het volgende gevisiteerd gaan worden. - -* Preconditie: Dagelijks wordt de lijst met te visiteren leden gevuld met job "Visitatie - Doellijst 'te visiteren leden' vullen" - - -* Hiervoor wordt een mass-email record aangemaakt in de campagne 'Visitatie aankondigingen'. -* Het email template 'Visitatie aankondiging' wordt gewijzigd. Alle getallen met exact 4 cijfers beginnend met '2' worden omgezet naar het volgende jaar. -* De mail wordt gescheduld voor op 28 december. \ No newline at end of file diff --git a/code-current/scripts/Visitatie - Maak campagne voor aankondigingsmail klaar.id b/code-current/scripts/Visitatie - Maak campagne voor aankondigingsmail klaar.id deleted file mode 100644 index a75c15a..0000000 --- a/code-current/scripts/Visitatie - Maak campagne voor aankondigingsmail klaar.id +++ /dev/null @@ -1 +0,0 @@ -61b5bac43b7ae2778 \ No newline at end of file diff --git a/code-current/scripts/Visitatie - Maak campagne voor aankondigingsmail klaar.js b/code-current/scripts/Visitatie - Maak campagne voor aankondigingsmail klaar.js deleted file mode 100644 index 723cebe..0000000 --- a/code-current/scripts/Visitatie - Maak campagne voor aankondigingsmail klaar.js +++ /dev/null @@ -1,79 +0,0 @@ -// last execution: 2021-12-27 03:40:02 -$par_test_mode=false; - -// Initialiseren - -logAdd(log); - -$testmode = $par_test_mode; - -$set_status = 'Pending'; -$year = datetime\year(datetime\now()) + 1; -$year = string\concatenate('', $year); - -// Uitvoeren - -logAdd(log, 'info', 'Klaarzetten Mass Email in Campagne "Visitatie aankondigingen"'); -logAdd(log, 'info', 'Aankondiging voor visitaties voor jaar: ', $year); - -$targetlist_id = record\findOne('TargetList', 'createdAt', 'desc', 'name=', 'Te visiteren leden'); -ifThenElse($targetlist_id, - logAdd(log, 'info', 'Distributielijst "Te visiteren leden": ', $targetlist_id); - $campaign_id = record\findOne('Campaign', 'createdAt', 'desc', 'name=', 'Visitatie aankondigingen'); - ifThenElse($campaign_id, - logAdd(log, 'info', 'Campagne "Visitatie aankondigingen": ', $campaign_id); - $email_templ_id = record\findOne('EmailTemplate', 'createdAt', 'desc', 'name=', 'Visitatie aankondiging'); - ifThenElse($email_templ_id, - logAdd(log, 'info', 'Email template "Visitatie aankondiging": ', $email_templ_id); - - // Muteren email template - $templates = record\fetchManyHash('EmailTemplate', 'subject, body', 'createdAt', 'desc', 'id=', $email_templ_id); - $templ = array\at($templates, 0); - $templmail = configGet('visitatie-email-template-aankondiging'); - $subject = hash\get($templ, 'subject'); - //$body = hash\get($templ, 'body'); - $body = $templmail; - - $m0 = string\match($subject, '/[2][0-9]{3}/'); - $m1 = "{{visitatiejaar}}"; - //$m1 = string\match($body, '/[2][0-9]{3}/'); - - //logAdd(log, 'info', 'Subject: ', $subject, ' m0: ', $m0); - //logAdd(log, 'info', 'Body: ', $body, ' m1: ', $m1); - - ifThen($m0, - $subject = string\replace($subject, $m0, $year); - //logAdd(log, 'info', 'New subject: ', $subject); - ); - ifThen($m1, - $body = string\replace($body, $m1, $year); - //logAdd(log, 'info', 'New body: ', $body); - ); - - record\update('EmailTemplate', $email_templ_id, 'subject', $subject, 'body', $body); - - // Aanmaken mass email record - $rec_name = string\concatenate('Visitatie aankondiging ', $year); - $status = $set_status; - $startAt = datetime\now(); - ifThenElse($testmode, - logAdd(log, 'warning', 'Test mode - mass email scheduled for today'); - , - $startAt = datetime\closest(datetime\now(), 'date', 28); - ) - - logAdd(log, 'info', 'startAt: ', datetime\format($startAt, 'Europe/Amsterdam', 'DD/MM/YYYY HH:mm')); - - $mass_email_id = record\create('MassEmail', 'name', $rec_name, 'status', $status, 'startAt', $startAt); - record\relate('MassEmail', $mass_email_id, 'campaign', $campaign_id); - record\relate('MassEmail', $mass_email_id, 'targetLists', $targetlist_id); - record\relate('MassEmail', $mass_email_id, 'emailTemplate', $email_templ_id); - , - logAdd(log, 'error', 'Email template "Visitatie aankondiging" niet gevonden'); - ) - , - logAdd(log, 'error', 'Campagne "Visitatie aankondigingen" niet gevonden'); - ); -, - logAdd(log, 'error', 'Distributielijst "Te visiteren leden" niet gevonden'); -); \ No newline at end of file diff --git a/code-current/scripts/Visitatie - Rapporteer te visiteren leden - maak records aan.descr b/code-current/scripts/Visitatie - Rapporteer te visiteren leden - maak records aan.descr deleted file mode 100644 index daeb14b..0000000 --- a/code-current/scripts/Visitatie - Rapporteer te visiteren leden - maak records aan.descr +++ /dev/null @@ -1,3 +0,0 @@ -Kijkt welke leden met regiocode < 30 toe zijn aan visitatie door te kijken wanneer de laatste visitatiedatum was of dat ze nog geen visitatiedatum hebben. - -Maakt eventueel een nieuw visitatierecord in status 'te visiteren' aan voor de leden die aan visitatie toe zijn, als ze dat nog niet hebben. \ No newline at end of file diff --git a/code-current/scripts/Visitatie - Rapporteer te visiteren leden - maak records aan.id b/code-current/scripts/Visitatie - Rapporteer te visiteren leden - maak records aan.id deleted file mode 100644 index fe1db49..0000000 --- a/code-current/scripts/Visitatie - Rapporteer te visiteren leden - maak records aan.id +++ /dev/null @@ -1 +0,0 @@ -5ed7bfdae1387b15f \ No newline at end of file diff --git a/code-current/scripts/Visitatie - Rapporteer te visiteren leden - maak records aan.js b/code-current/scripts/Visitatie - Rapporteer te visiteren leden - maak records aan.js deleted file mode 100644 index a85638f..0000000 --- a/code-current/scripts/Visitatie - Rapporteer te visiteren leden - maak records aan.js +++ /dev/null @@ -1,262 +0,0 @@ -// last execution: Thu Oct 30 2025 11:02:46 GMT+0100 (Midden-Europese standaardtijd) - -$par_Aantal_jaren_totdat_er_een_nieuwe_visitatie_nodig_is=5; -$par_Inventariseren_voor_het_jaar=2026; -$par_Alleen_de_leden_die_gevisiteerd_moeten_worden=true; -$par_Aantal_regels_per_pagina=11; -$par_Maak_visitatie_record_aan_voor_te_visiteren_leden=true; -$par_Open_lid_in_nieuwe_tab_bij_klik=false; - -// Omzetten parameters -$p_new_tab = $par_Open_lid_in_nieuwe_tab_bij_klik; -$p_years=$par_Aantal_jaren_totdat_er_een_nieuwe_visitatie_nodig_is; -$c_year = $par_Inventariseren_voor_het_jaar; -$alleen_visiteerbaar = $par_Alleen_de_leden_die_gevisiteerd_moeten_worden; -$p_make_record = $par_Maak_visitatie_record_aan_voor_te_visiteren_leden; - -// Script runnen - -$limit_year = $c_year - $p_years; - -html = ''; -logAdd(log); - -$p_page_len = $par_Aantal_regels_per_pagina; - -$entities = record\fetchManyHash('Contact', - 'id, agbcode, name, emailAddress, regiocode, lidnummer, phoneNumber', - 'lastName', 'asc' - ); - -$n = array\length($entities); -logAdd(log, 'Aantal te beoordelen (ex)leden: ', $n); -logAdd(log, 'info', 'Visitatierecords aanmaken: ', $p_make_record); - -$aantal_te_visiteren = 0; -$aantal_ongevisiteerd = 0; -$aantal_gevisiteerd = 0; -$aantal_visitatie_records = 0; - -$h = ''; - -$table = table\new('Naam', 30, 'left', - 'eMail', 20, 'ellipsis', - 'telefoon', 10, 'center', - 'Lidnummer', 5, 'center', - 'Regiocode', 3, 'center', - 'Laatste visitatie', 7, 'center', - 'Visiteren', 7, 'center', - 'Praktijknaam', 10, 'center', - 'Adres', 10, 'center', - 'Postcode', 10, 'center', - 'Plaats', 10, 'center' - ); -table\rowsPerPage($table, $p_page_len); - -$i = 0; -while($i < $n, - $e = array\at($entities, $i); - - $regiocode = hash\get($e, 'regiocode'); - $achternaam = hash\get($e, 'lastName'); - $lidnummer = hash\get($e, 'lidnummer'); - $id = hash\get($e, 'id'); - $contact_id = $id; - $regiocode_nr = string\substring($regiocode, 0, 2) + 0; - $meenemen = $regiocode_nr < 30; - - ifThen($meenemen, - $visitatie_id = record\findRelatedOne('Contact', $id, 'visitatiesRec', 'visitatiedatum', 'desc'); - - ifThenElse($visitatie_id, - $v_datum = record\attribute('Visitatie', $visitatie_id, 'visitatiedatum'); - log('warning', $achternaam, ' - lidnummer = ', $lidnummer, ' - v_datum = "', $v_datum, '" - visitatie_id = ', $visitatie_id); - ifThen($v_datum == '', $v_datum = null); - , - $v_datum = null; - ); - - log('warning', $achternaam, ' - lidnummer = ', $lidnummer, ' - v_datum = "', $v_datum, '"'); - ifThenElse($v_datum == null, log('warning', 'null!')); - - ifThenElse($v_datum == null, - $visiteren = 'ja'; - $aantal_ongevisiteerd = $aantal_ongevisiteerd + 1; - , - $y = datetime\year($v_datum); - ifThenElse($y <= $limit_year, - $visiteren = 'ja'; - $aantal_te_visiteren = $aantal_te_visiteren + 1; - , - $visiteren = 'nee'; - $aantal_gevisiteerd = $aantal_gevisiteerd + 1; - ); - ); - - ifThen($visiteren == 'ja', - ifThen($p_make_record, - $visitatie_te_visiteren = record\findRelatedOne('Contact', $id, 'visitatiesRec', - 'visitatiedatum', 'desc', - 'resultaat', '-' - ); - ifThenElse($visitatie_te_visiteren, - $maken = false; - , - $maken = true; - ); - - log('warning', 'maken=', $maken); - - ifThen($maken, - log('warning', 'contact: ', $id, ', lidnummer:', $lidnummer); - $rec_id = record\create('Visitatie', 'contact', $id, 'resultaat', '-', 'lidnummer', $lidnummer); - log('warning', 'contact: ', $id, 'rec_id: ', $rec_id); - record\relate('Contact', $id, 'visitatiesRec', $rec_id); - $aantal_visitatie_records = $aantal_visitatie_records + 1; - record\recalculate('Visitatie', 'id=', $rec_id); - ); - - log('warning', 'maken=', $maken, ' - 1'); - - ); - ); - - $report = true; - - ifThen($visiteren == 'nee', $report = !$alleen_visiteerbaar;); - - log('warning', $achternaam, ' - 1'); - - ifThen($report, - $naam = hash\get($e, 'name'); - $email = hash\get($e, 'emailAddress'); - $tel = hash\get($e, 'phoneNumber'); - $lidnummer = hash\get($e, 'lidnummer'); - - log('warning', $achternaam, ' - 2'); - - $contact = entity\get('Contact', $contact_id); - $p1s = entity\getRelated($contact, 'accounts', 1, 'name', 'asc', 'type=', 'P1'); - ifThenElse(array\length($p1s) == 1, $p1 = array\at($p1s, 0), $p1 = null); - $p2s = entity\getRelated($contact, 'accounts', 1, 'name', 'asc', 'type=', 'P2'); - ifThenElse(array\length($p2s) == 1, $p2 = array\at($p2s, 0), $p2 = null); - $p3s = entity\getRelated($contact, 'accounts', 1, 'name', 'asc', 'type=', 'P3'); - ifThenElse(array\length($p3s) == 1, $p3 = array\at($p3s, 0), $p3 = null); - - log('warning', $achternaam, ' - 3'); - - ifThenElse($p1, - $p1_name = attr($p1, 'naam'); - $p1_straat = attr($p1, 'shippingAddressStreet'); - $p1_postcode = attr($p1, 'shippingAddressPostalCode'); - $p1_plaats = attr($p1, 'shippingAddressCity'); - $p1_land = attr($p1, 'shippngAddressCountry'); - $p1_email = attr($p1, 'emailAddress'); - $p1_phone = attr($p1, 'phoneNumber'); - $p1_website = attr($p1, 'website'); - $p1_op_internet = attr($p1, 'opInternet'); - $p1_agbcode = attr($p1, 'agbcode'); - , - $p1_name = ''; - $p1_straat = ''; - $p1_postcode = ''; - $p1_plaats = ''; - $p1_land = ''; - $p1_email = ''; - $p1_phone = ''; - $p1_website = ''; - $p1_op_internet = ''; - $p1_agbcode = ''; - ); - - ifThenElse($p2, - $p2_name = attr($p2, 'naam'); - $p2_straat = attr($p2, 'shippingAddressStreet'); - $p2_postcode = attr($p2, 'shippingAddressPostalCode'); - $p2_plaats = attr($p2, 'shippingAddressCity'); - $p2_land = attr($p2, 'shippngAddressCountry'); - $p2_email = attr($p2, 'emailAddress'); - $p2_phone = attr($p2, 'phoneNumber'); - $p2_website = attr($p2, 'website'); - $p2_op_internet = attr($p2, 'opInternet'); - $p2_agbcode = attr($p2, 'agbcode'); - , - $p2_name = ''; - $p2_straat = ''; - $p2_postcode = ''; - $p2_plaats = ''; - $p2_land = ''; - $p2_email = ''; - $p2_phone = ''; - $p2_website = ''; - $p2_op_internet = ''; - $p2_agbcode = ''; - ); - - ifThenElse($p3, - $p3_name = attr($p3, 'naam'); - $p3_straat = attr($p3, 'shippingAddressStreet'); - $p3_postcode = attr($p3, 'shippingAddressPostalCode'); - $p3_plaats = attr($p3, 'shippingAddressCity'); - $p3_land = attr($p3, 'shippngAddressCountry'); - $p3_email = attr($p3, 'emailAddress'); - $p3_phone = attr($p3, 'phoneNumber'); - $p3_website = attr($p3, 'website'); - $p3_op_internet = attr($p3, 'opInternet'); - $p3_agbcode = attr($p3, 'agbcode'); - , - $p3_name = ''; - $p3_straat = ''; - $p3_postcode = ''; - $p3_plaats = ''; - $p3_land = ''; - $p3_email = ''; - $p3_phone = ''; - $p3_website = ''; - $p3_op_internet = ''; - $p3_agbcode = ''; - ); - - log('warning', $achternaam, ' - 4'); - - - ifThenElse($p_new_tab, - $target = '_blank'; - , - $target = ""; - ); - - table\add($table, - table\link(string\concatenate('/#Contact/view/', $id), $naam, $target), - $email, - $tel, - $lidnummer, - $regiocode, - $v_datum, - $visiteren, - $p1_name, $p1_straat, $p1_postcode, $p1_plaats - ); - ifThen($p2_name != '', - table\add($table, '', '', '', '', '', '', '', $p2_name, $p2_straat, $p2_postcode, $p2_plaats); - ); - ifThen($p3_name != '', - table\add($table, '', '', '', '', '', '', '', $p3_name, $p3_straat, $p3_postcode, $p3_plaats); - ); - ); - ); - - $i = $i + 1; -); - - -strAdd($h, table\toHtml($table)); -strAdd($h, ''); - -html=$h; - -logAdd(log, 'info', 'Aantal leden zonder visitatiedatum: ', $aantal_ongevisiteerd); -logAdd(log, 'info', 'Aantal leden met visitatiedatum langer dan ', $p_years, ' jaar geleden: ', $aantal_te_visiteren); -logAdd(log, 'info', 'Aantal recent gevisiteerde leden: ', $aantal_gevisiteerd); -ifThen($p_make_record, - logAdd(log, 'info', 'Aantal aangemaakte visitatierecords: ', $aantal_visitatie_records); -); \ No newline at end of file diff --git a/code-current/scripts/Visitatie relaties omzetten.descr b/code-current/scripts/Visitatie relaties omzetten.descr deleted file mode 100644 index 6aa8c93..0000000 --- a/code-current/scripts/Visitatie relaties omzetten.descr +++ /dev/null @@ -1 +0,0 @@ -Zet de visitatie relaties om van 'lid' naar 'contact' \ No newline at end of file diff --git a/code-current/scripts/Visitatie relaties omzetten.id b/code-current/scripts/Visitatie relaties omzetten.id deleted file mode 100644 index b45c987..0000000 --- a/code-current/scripts/Visitatie relaties omzetten.id +++ /dev/null @@ -1 +0,0 @@ -5f038b29c4c6efd64 \ No newline at end of file diff --git a/code-current/scripts/Visitatie relaties omzetten.js b/code-current/scripts/Visitatie relaties omzetten.js deleted file mode 100644 index 8e15b5d..0000000 --- a/code-current/scripts/Visitatie relaties omzetten.js +++ /dev/null @@ -1,17 +0,0 @@ -// last execution: Mon Jul 06 2020 22:40:39 GMT+0200 (Midden-Europese zomertijd) - -logAdd(log); - -$rows = record\fetchManyHash('Visitatie', 'id, lidId', 'id', 'asc'); - -$i = 0; -$n = array\length($rows); -while($i < $n, - $row = array\at($rows, $i); - $id = hash\get($row, 'id'); - $lid_id = hash\get($row, 'lidId'); - logAdd(log, 'info', 'id=', $id, ', lid id=', $lid_id); - $i = $i + 1; - record\relate('Visitatie', $id, 'contact', $lid_id); -); - diff --git a/code-current/scripts/Visitatieformulier voor Her-visitatie.descr b/code-current/scripts/Visitatieformulier voor Her-visitatie.descr deleted file mode 100644 index 943ca84..0000000 --- a/code-current/scripts/Visitatieformulier voor Her-visitatie.descr +++ /dev/null @@ -1,3 +0,0 @@ -Deze taak maakt gebruik van de geconfigureerde items 'visitatie-formulier', 'visitatie-avar-email' en 'visitatie-avar-retouradres'. Tevens wordt gebruik gemaakt van configuratie item 'nvkh-afzender'. - -Voor de gegeven visitatiedatum en met de ingegeven visiteur wordt het visitatieformulier voorbereid en verstuurd naar de 'visitatie-avar-email'. \ No newline at end of file diff --git a/code-current/scripts/Visitatieformulier voor Her-visitatie.id b/code-current/scripts/Visitatieformulier voor Her-visitatie.id deleted file mode 100644 index 594040d..0000000 --- a/code-current/scripts/Visitatieformulier voor Her-visitatie.id +++ /dev/null @@ -1 +0,0 @@ -5eec7e3ca17587425 \ No newline at end of file diff --git a/code-current/scripts/Visitatieformulier voor Her-visitatie.js b/code-current/scripts/Visitatieformulier voor Her-visitatie.js deleted file mode 100644 index 685c2dc..0000000 --- a/code-current/scripts/Visitatieformulier voor Her-visitatie.js +++ /dev/null @@ -1,224 +0,0 @@ -// last execution: Thu Dec 16 2021 10:44:08 GMT+0100 (Midden-Europese standaardtijd) - -$date_par_visitatie_datum='2021-12-20'; -$par_visitatienummer=''; -$par_uitvoeren=true; -$par_test_run_geen_mail_versturen=false; -$par_praktijk_type=list('P1', 'P2', 'P3'); - -////////////////////////////////////////////////////////////////////////////////////// -// init -////////////////////////////////////////////////////////////////////////////////////// - -$visitatienummer = $par_visitatienummer; -$visitatie_datum = $date_par_visitatie_datum; -$nvkh_afzender = configGet('nvkh-afzender'); -$avar_retouradres = configGet('secretariaat-email-address'); -$avar_emailadres = configGet('secretariaat-email-address'); -$visitatie_formulier_id = configGet('visitatie-formulier'); - -$praktijk_type = array\at($par_praktijk_type, 0); - -$testrun = $par_test_run_geen_mail_versturen; - -logAdd(log); -html = ''; - -logAdd(log, 'visitatie datum:', $visitatie_datum); -logAdd(log, 'visitatienummer: ', $visitatienummer); -logAdd(log, 'avar retouradres:', $avar_retouradres); -logAdd(log, 'avar emailadres:', $avar_emailadres); -logadd(log, 'nvkh afzender:', $nvkh_afzender); -logAdd(log, 'visitatie-formulier-id:', $visitatie_formulier_id); -logAdd(log, 'praktijk soort:', $praktijk_type); - -html = ''; - -////////////////////////////////////////////////////////////////////////////////////// -// Visitatie formulier invullen en opsturen -////////////////////////////////////////////////////////////////////////////////////// - -ifThenElse($par_uitvoeren, - -$versie = $par_visitatie_formulier_versie; - -$dt = datetime\now(); -$dt = datetime\format($dt, 'Europe/Amsterdam', 'YYYY-MM-DD'); - -$formulier = 'visitatie-formulier'; -$formulier_id = $visitatie_formulier_id; - -logAdd(log, 'visitatie vragenformulier input document : ', $formulier, ' - id : ', $formulier_id); - -$leden = entity\getRelated(entity\this(), 'contacts', 10000, 'name', 'asc'); - -$i = 0; -$n = array\length($leden); -logAdd(log, 'gerelateerde leden: ', $n); - - -while($i < $n, - $lid = array\at($leden, $i); - $lid_nr = attr($lid, 'lidnummer'); - $lid_id = attr($lid, 'id'); - $achternaam = attr($lid, 'lastName'); - $voorzetsel = string\trim(attr($lid, 'middleName')); - ifThen($voorzetsel != "", - $achternaam = string\concatenate($voorzetsel, '-', $achternaam); - ); - - $achternaam = string\trim($achternaam); - $achternaam = string\replace($achternaam, ' ', '-'); - - //$form_out = string\concatenate('visitatie-avar-vragenlijst-', $lid_nr, '-', $dt, '.pdf'); - $form_out = string\concatenate('visitatie-vragenlijst-', $achternaam, '.pdf'); - logAdd(log, 'visitatie vragenformulier avar document : ', $form_out); - - logAdd(log, 'lid id: ', $lid_id, ' naam: ', attr($lid, 'name'), ', lidnummer:', $lid_nr); - - $email = attr($lid, 'emailAddress'); - - $primary_account_id = record\findRelatedOne('Contact', $lid_id, 'accounts', 'name', 'asc', 'type=', $praktijk_type); - logAdd(log, 'praktijk[', $praktijk_type, ']: ', $primary_account_id); - - ifThenElse(!$primary_account_id, - $msg = string\concatenate(attr($lid, 'name'), ' (', $lid_nr, ') voert geen praktijk van soort ', $praktijk_type); - logAdd(log, 'warning', $msg); - strAdd(html, '

    ', $msg, '

    '); - , - $pr = entity\get('Account', $primary_account_id); - - logAdd(log, 'praktijk: ', attr($pr, 'naam')); - - $mbkdatum = attr($lid, 'mBKDatum'); - ifThen($mbkdatum, - $mbkdatum = datetime\format($mbkdatum, 'Europe/Amsterdam', 'DD-MM-YYYY'); - ); - - $vogdatum = attr($lid, 'datumVOG'); - ifThen($vogdatum, - $vogdatum = datetime\format($vogdatum, 'Europe/Amsterdam', 'DD-MM-YYYY'); - ); - - $diplomadatum = attr($lid, 'vakopleidingDatumDiploma'); - ifThen($diplomadatum, - $diplomadatum = datetime\format($diplomadatum, 'Europe/Amsterdam', 'DD-MM-YYYY'); - ); - - $visitatiedatum = ''; - ifThen($visitatie_datum, - $visitatiedatum = datetime\format($visitatie_datum, 'Europe/Amsterdam', 'DD-MM-YYYY'); - ); - - /* - $lowest_year = datetime\year(datetime\now()) - 3; - $bijscholing = ''; - $nascholingen = entity\getRelated($lid, 'nascholingstotalen', 1000, 'jaar', 'asc', - 'jaar>=', $lowest_year - ); - $K = array\length($nascholingen); - - $na_j_1 = '';$na_d_1 = '';$na_m_1 = '';$na_s_1 = ''; - $na_j_2 = '';$na_d_2 = '';$na_m_2 = '';$na_s_2 = ''; - $na_j_3 = '';$na_d_3 = '';$na_m_3 = '';$na_s_3 = ''; - - $k = 0; - while($k < $K, - $na = array\at($nascholingen, $k); - logAdd(log, 'info', 'k=', $k, ', nascholing jaar:', attr($na, 'jaar'), ', dagen:', attr($na, 'dagen')); - - ifThenElse($k == 0, - $na_j_1 = attr($na, 'jaar');$na_d_1 = attr($na, 'dagen'); - $na_m_1 = attr($na, 'dagenMedisch');$na_s_1 = attr($na, 'dagenSaldo'); - , - ifThenElse($k == 1, - $na_j_2 = attr($na, 'jaar');$na_d_2 = attr($na, 'dagen'); - $na_m_2 = attr($na, 'dagenMedisch');$na_s_2 = attr($na, 'dagenSaldo'); - , - ifThen($k == 2, - $na_j_3 = attr($na, 'jaar');$na_d_3 = attr($na, 'dagen'); - $na_m_3 = attr($na, 'dagenMedisch');$na_s_3 = attr($na, 'dagenSaldo'); - ); - ); - ); - - $k = $k + 1; - ); - - logAdd(log, 'info', 'na_j_1:', $na_j_1, ', na_j_2:', $na_j_2, ', na_j_3:', $na_j_3); - */ - - $attach_id = ext\pdf\fillin('Contact', $lid_id, $formulier_id, $form_out, - 'naam_homeopaat', attr($lid, 'name'), - 'naam_gevisiteerde', attr($lid, 'name'), - 'ondertekening_naam_gevisiteerde', attr($lid, 'name'), - 'email_homeopaat', $email, - 'naam_praktijk', attr($pr, 'naam'), - 'agb_praktijk', attr($pr, 'agbcode'), - //'cb_homeopathie', 'Yes', - 'rbcz_nummer', attr($lid, 'rbcznummer'), - 'nvkh_nummer', attr($lid, 'lidnummer'), - 'adres_praktijk_straat', attr($pr, 'shippingAddressStreet'), - 'adres_praktijk_postcode', attr($pr, 'shippingAddressPostalCode'), - 'adres_praktijk_plaats', attr($pr, 'shippingAddressCity'), - 'agb_persoonlijk', attr($lid, 'agbcode'), - 'datum_mbk_of_big', $mbkdatum, - 'datum_vog', $vogdatum, - 'email_retouradres', $avar_retouradres, - 'tel_prive', attr($lid, 'phoneNumber'), - 'tel_praktijk', attr($pr, 'phoneNumber'), - 'websites', attr($pr, 'website'), - 'datum_diploma_vakopleiding', $diplomadatum, - 'bijscholingsdagen_laatste_jaren', $bijscholing, - 'datum_nascholing_big', 'Nvt', - //'bijscholing_jaar_1', $na_j_1, - //'bijscholing_dagen_1', number\format($na_d_1, 2), - //'bijscholing_medisch_1', number\format($na_m_1, 2), - //'bijscholing_saldo_1', number\format($na_s_1, 2), - //'bijscholing_jaar_2', $na_j_2, - //'bijscholing_dagen_2', number\format($na_d_2, 2), - //'bijscholing_medisch_2', number\format($na_m_2, 2), - //'bijscholing_saldo_2', number\format($na_s_2, 2), - //'bijscholing_jaar_3', $na_j_3, - //'bijscholing_dagen_3', number\format($na_d_3, 2), - //'bijscholing_medisch_3', number\format($na_m_3, 2), - //'bijscholing_saldo_3', number\format($na_s_3, 2), - 'datum_visitatie', $visitatiedatum, - 'AVAR_Visitatienummer', $visitatienummer - ); - logAdd(log, 'info', 'attachment id :', $attach_id); - - $body = emailTemplate; - - $visitatie_dt = datetime\format($visitatie_datum, 'Europe/Amsterdam', 'DD/MM/YYYY'); - $body = string\replace($body, '{{visitatie-datum}}', $visitatie_dt); - $body = string\replace($body, '{{visitatienummer}}', $visitatienummer); - $body = string\replace($body, '{{nvkh-afzender}}', $nvkh_afzender); - $body = ext\htmlize($body, 'Contact', attr($lid, 'id')); - - $userId = env\userAttribute('id'); - - ifThenElse($testrun, - logAdd(log, 'info', 'Dit is een testrun, er wordt geen email verstuurd'); - , - $emailId = record\create('Email', 'subject', 'Visitatie formulier', - 'body', $body, - 'to', $avar_emailadres, - 'attachmentsIds', list($attach_id), - 'assignedUser', $userId, - 'isUser', true, - 'parentType', 'Contact', - 'parentId', $lid_id - ); - ext\email\send($emailId); - ); - - ); - - $i = $i + 1; - ); - -, -logAdd(log, 'Vink uitvoeren aan om dit script uit te voeren'); -); - diff --git a/code-current/scripts/nascholingstotalen overig => homeopathie.descr b/code-current/scripts/nascholingstotalen overig => homeopathie.descr deleted file mode 100644 index 5e128ea..0000000 --- a/code-current/scripts/nascholingstotalen overig => homeopathie.descr +++ /dev/null @@ -1 +0,0 @@ -Zet de getallen van overig om naar homeopathie waar jaar <=2019 \ No newline at end of file diff --git a/code-current/scripts/nascholingstotalen overig => homeopathie.id b/code-current/scripts/nascholingstotalen overig => homeopathie.id deleted file mode 100644 index 600e02b..0000000 --- a/code-current/scripts/nascholingstotalen overig => homeopathie.id +++ /dev/null @@ -1 +0,0 @@ -5fa54a6c91efa2b77 \ No newline at end of file diff --git a/code-current/scripts/nascholingstotalen overig => homeopathie.js b/code-current/scripts/nascholingstotalen overig => homeopathie.js deleted file mode 100644 index 5fdad41..0000000 --- a/code-current/scripts/nascholingstotalen overig => homeopathie.js +++ /dev/null @@ -1,33 +0,0 @@ -// last execution: Fri Nov 06 2020 14:11:17 GMT+0100 (Midden-Europese standaardtijd) - -$year = 2019; - -logAdd(log); - -$t_rows = record\fetchManyHash('Nascholingstotaal', - 'id, jaar, contactName, dagenHomeopathie, dagen', - 'jaar', 'asc', - 'jaar<=', $year - ); - -$n = array\length($t_rows); -$i = 0; -while($i < $n, - $row = array\at($t_rows, $i); - - $id = hash\get($row, 'id'); - $jaar = hash\get($row, 'jaar'); - $name = hash\get($row, 'contactName'); - $hom = hash\get($row, 'dagenHomeopathie'); - $dg = hash\get($row, 'dagen'); - - logAdd(log, 'id=', $id, ', jaar=', $jaar, ', naam=', $name, ', homeopathie=', $hom, ', overig=', $dg); - - ifThen($hom <= 0, - $hom = $dg; - $dg = 0; - record\update('Nascholingstotaal', $id, 'dagenHomeopathie', $hom, 'dagen', $dg); - ); - - $i = $i + 1; -); diff --git a/code-current/scripts/praktijken leden naar json.descr b/code-current/scripts/praktijken leden naar json.descr deleted file mode 100644 index ef31930..0000000 --- a/code-current/scripts/praktijken leden naar json.descr +++ /dev/null @@ -1 +0,0 @@ -Voert de praktijken van de leden uit naar een json bestand voor opname op de website. \ No newline at end of file diff --git a/code-current/scripts/praktijken leden naar json.id b/code-current/scripts/praktijken leden naar json.id deleted file mode 100644 index 8d12935..0000000 --- a/code-current/scripts/praktijken leden naar json.id +++ /dev/null @@ -1 +0,0 @@ -6123ed8935a2fda6f \ No newline at end of file diff --git a/code-current/scripts/praktijken leden naar json.js b/code-current/scripts/praktijken leden naar json.js deleted file mode 100644 index 25e79c0..0000000 --- a/code-current/scripts/praktijken leden naar json.js +++ /dev/null @@ -1,242 +0,0 @@ -// last execution: 2026-08-28 03:15:02 -logAdd(log); - -$praktijken = list(); - -$fields = string\concatenate( - 'id, salutationName, initialsName, firstName, middleName, lastName, ', - 'geboortedatum, geslacht, ', - 'addressStreet, addressPostalCode, addressCity, addressCountry, ', - 'emailAddress, phoneNumber, website, ', - 'regiocode, lidnummer, ', - 'balens, quasier, ', - 'dispensatie, ', - 'agbcode, rbcznummer, mCode, ', - 'datumRegistratie, vakopleidingDatumDiploma, mBKDatum, datumVOG, ', - 'geplandeAfstudeerdatum, einddatum, aantekening ', - '' - ); - -$rows = record\fetchManyHash('Contact', $fields, 'lastName', 'asc'); - -$n = array\length($rows); -logAdd(log, 'Contacts read: ', $n); -$h = ''; - -$i = 0; -$k = 0; -while($i < $n, - $e = array\at($rows, $i); - - $regiocode = hash\get($e, 'regiocode'); - $regiocode = $regiocode + 0; - $meenemen = $regiocode < 30; - $lastname = hash\get($e, 'lastName'); - - logAdd(log, 'info', 'regiocode=', $regiocode, ' lastName=', $lastname); - - ifThen($meenemen, - $k = $k + 1; - $contact_id = hash\get($e, 'id'); - $salutation = hash\get($e, 'salutationName'); - $initials = hash\get($e, 'initialsName'); - $firstname = hash\get($e, 'firstName'); - $voorvoegsel = hash\get($e, 'middleName'); - $street = hash\get($e, 'addressStreet'); - $postalcode = hash\get($e, 'addressPostalCode'); - $city = hash\get($e, 'addressCity'); - $country = hash\get($e, 'addressCountry'); - ifThen($country == null || $country == '', $country = 'Nederland'); - $email = hash\get($e, 'emailAddress'); - ifThen($email, $email = table\link(string\concatenate('mailto:', $email), $email)); - $phone = hash\get($e, 'phoneNumber'); - $website = hash\get($e, 'website'); - ifThen($website, $website = table\link(string\concatenate('http://', $website), $website, '_blank')); - $birth = hash\get($e, 'geboortedatum'); - $gender = hash\get($e, 'geslacht'); - $lidnr = hash\get($e, 'lidnummer'); - $balens = hash\get($e, 'balens'); - $quasir = hash\get($e, 'quasier'); - $dispensatie = hash\get($e, 'dispensatie'); - $agbcode = hash\get($e, 'agbcode'); - $mcode = hash\get($e, 'mCode'); - $rbcznr = hash\get($e, 'rbcznummer'); - $registratie = hash\get($e, 'datumRegistratie'); - $vakopleiding = hash\get($e, 'vakopleidingDatumDiploma'); - $mbk = hash\get($e, 'mBKDatum'); - $vog = hash\get($e, 'datumVOG'); - $afstuderen = hash\get($e, 'geplandeAfstudeerdatum'); - $einddatum = hash\get($e, 'einddatum'); - - ifThen(string\contains($rbcznr, "T"), - $opm = configGet('tekst-bij-leden-zonder-mbk'); - $e = hash\set($e, 'websiteOpmerking', $opm); - ); - - $contact = entity\get('Contact', $contact_id); - $p1s = entity\getRelated($contact, 'accounts', 1, 'name', 'asc', 'type=', 'P1'); - ifThenElse(array\length($p1s) == 1, $p1 = array\at($p1s, 0), $p1 = null); - $p2s = entity\getRelated($contact, 'accounts', 1, 'name', 'asc', 'type=', 'P2'); - ifThenElse(array\length($p2s) == 1, $p2 = array\at($p2s, 0), $p2 = null); - $p3s = entity\getRelated($contact, 'accounts', 1, 'name', 'asc', 'type=', 'P3'); - ifThenElse(array\length($p3s) == 1, $p3 = array\at($p3s, 0), $p3 = null); - - $report = true; - ifThenElse($p1, - $p1_id = attr($p1, 'id'); - $p1_name = attr($p1, 'naam'); - $p1_straat = attr($p1, 'shippingAddressStreet'); - $p1_postcode = attr($p1, 'shippingAddressPostalCode'); - $p1_plaats = attr($p1, 'shippingAddressCity'); - $p1_land = attr($p1, 'shippngAddressCountry'); - $p1_email = attr($p1, 'emailAddress'); - $p1_phone = attr($p1, 'phoneNumber'); - $p1_website = attr($p1, 'website'); - $p1_op_internet = attr($p1, 'opInternet'); - $p1_agbcode = attr($p1, 'agbcode'); - , - $p1_id = ''; - $p1_name = ''; - $p1_straat = ''; - $p1_postcode = ''; - $p1_plaats = ''; - $p1_land = ''; - $p1_email = ''; - $p1_phone = ''; - $p1_website = ''; - $p1_op_internet = ''; - $p1_agbcode = ''; - ); - - ifThenElse($p2, - $p2_id = attr($p2, 'id'); - $p2_name = attr($p2, 'naam'); - $p2_straat = attr($p2, 'shippingAddressStreet'); - $p2_postcode = attr($p2, 'shippingAddressPostalCode'); - $p2_plaats = attr($p2, 'shippingAddressCity'); - $p2_land = attr($p2, 'shippngAddressCountry'); - $p2_email = attr($p2, 'emailAddress'); - $p2_phone = attr($p2, 'phoneNumber'); - $p2_website = attr($p2, 'website'); - $p2_op_internet = attr($p2, 'opInternet'); - $p2_agbcode = attr($p2, 'agbcode'); - , - $p2_id = ''; - $p2_name = ''; - $p2_straat = ''; - $p2_postcode = ''; - $p2_plaats = ''; - $p2_land = ''; - $p2_email = ''; - $p2_phone = ''; - $p2_website = ''; - $p2_op_internet = ''; - $p2_agbcode = ''; - ); - - ifThenElse($p3, - $p3_id = attr($p3, 'id'); - $p3_name = attr($p3, 'naam'); - $p3_straat = attr($p3, 'shippingAddressStreet'); - $p3_postcode = attr($p3, 'shippingAddressPostalCode'); - $p3_plaats = attr($p3, 'shippingAddressCity'); - $p3_land = attr($p3, 'shippngAddressCountry'); - $p3_email = attr($p3, 'emailAddress'); - $p3_phone = attr($p3, 'phoneNumber'); - $p3_website = attr($p3, 'website'); - $p3_op_internet = attr($p3, 'opInternet'); - $p3_agbcode = attr($p3, 'agbcode'); - , - $p3_id = ''; - $p3_name = ''; - $p3_straat = ''; - $p3_postcode = ''; - $p3_plaats = ''; - $p3_land = ''; - $p3_email = ''; - $p3_phone = ''; - $p3_website = ''; - $p3_op_internet = ''; - $p3_agbcode = ''; - ); - - $p_agbcode = ''; - ifThenElse($p1_agbcode, - $p_agbcode = $p1_agbcode; - , - ifThenElse($p2_agbcode, - $p_agbcode = $p2_agbcode; - , - ifThen($p3_agbcode, $p_agbcode = $p3_agbcode;); - ); - ); - $p_phone = ''; - ifThenElse($p1_phone, - $p_phone = $p1_phone; - , - ifThenElse($p2_phone, - $p_phone = $p2_phone; - , - ifThen($p3_phone, $p_phone = $p3_phone;); - ); - ); - - ifThen($report, - ifThen($p1, - $p1 = hash\new(); - $p1 = hash\set($p1, 'lid', $e); - $p1 = hash\set($p1, 'type', 'p1'); - $p1 = hash\set($p1, 'id', $p1_id); - $p1 = hash\set($p1, 'street_nr', $p1_straat); - $p1 = hash\set($p1, 'postalcode', $p1_postcode); - $p1 = hash\set($p1, 'city', $p1_plaats); - $p1 = hash\set($p1, 'website', $p1_website); - $p1 = hash\set($p1, 'phone', $p1_phone); - $p1 = hash\set($p1, 'email', $p1_email); - $p1 = hash\set($p1, 'name', $p1_name); - $p1 = hash\set($p1, 'op_internet', $p1_op_internet); - $praktijken = array\push($praktijken, $p1); - ); - ifThen($p2, - $p2 = hash\new(); - $p2 = hash\set($p2, 'lid', $e); - $p2 = hash\set($p2, 'type', 'p2'); - $p2 = hash\set($p2, 'id', $p2_id); - $p2 = hash\set($p2, 'street_nr', $p2_straat); - $p2 = hash\set($p2, 'postalcode', $p2_postcode); - $p2 = hash\set($p2, 'city', $p2_plaats); - $p2 = hash\set($p2, 'website', $p2_website); - $p2 = hash\set($p2, 'phone', $p2_phone); - $p2 = hash\set($p2, 'email', $p2_email); - $p2 = hash\set($p2, 'name', $p2_name); - $p2 = hash\set($p2, 'op_internet', $p2_op_internet); - $praktijken = array\push($praktijken, $p2); - ); - ifThen($p3, - $p3 = hash\new(); - $p3 = hash\set($p3, 'lid', $e); - $p3 = hash\set($p3, 'type', 'p3'); - $p3 = hash\set($p3, 'id', $p3_id); - $p3 = hash\set($p3, 'street_nr', $p3_straat); - $p3 = hash\set($p3, 'postalcode', $p3_postcode); - $p3 = hash\set($p3, 'city', $p3_plaats); - $p3 = hash\set($p3, 'website', $p3_website); - $p3 = hash\set($p3, 'phone', $p3_phone); - $p3 = hash\set($p3, 'email', $p3_email); - $p3 = hash\set($p3, 'name', $p3_name); - $p3 = hash\set($p3, 'op_internet', $p3_op_internet); - $praktijken = array\push($praktijken, $p3); - ); - ); - - ); - - $i = $i + 1; -); - -logAdd(log, 'Aantal praktijken bekeken: ', $i); -logAdd(log, 'Aantal praktijken meegenomen: ', $k); - -logAdd(log, 'Uitvoeren naar json bestand "nvkh_praktijken.json"'); -$n = toJsonFile("nvkh_praktijken.json", $praktijken); -logAdd(log, 'Uitgevoerde bestandsgrootte: ', $n); \ No newline at end of file diff --git a/code-current/scripts/startSurplus voor 2013.descr b/code-current/scripts/startSurplus voor 2013.descr deleted file mode 100644 index bc521cd..0000000 --- a/code-current/scripts/startSurplus voor 2013.descr +++ /dev/null @@ -1 +0,0 @@ -Stelt het start surplus in voor het 2013 record voor de leden die in het systeem aanwezig zijn. \ No newline at end of file diff --git a/code-current/scripts/startSurplus voor 2013.id b/code-current/scripts/startSurplus voor 2013.id deleted file mode 100644 index 54c23c5..0000000 --- a/code-current/scripts/startSurplus voor 2013.id +++ /dev/null @@ -1 +0,0 @@ -6026b25c253d4995e \ No newline at end of file diff --git a/code-current/scripts/startSurplus voor 2013.js b/code-current/scripts/startSurplus voor 2013.js deleted file mode 100644 index 7a64e15..0000000 --- a/code-current/scripts/startSurplus voor 2013.js +++ /dev/null @@ -1,130 +0,0 @@ -// last execution: Fri Feb 12 2021 20:11:26 GMT+0100 (Midden-Europese standaardtijd) - -$csvfile_par_startsurplus_als_csv='jaar;lidnummer;startSurplus\n2013;3;4\n2014;3;4\n2015;3;4\n2016;3;4\n2017;3;4\n2018;3;4\n2013;4;4\n2014;4;4\n2015;4;4\n2016;4;4\n2017;4;0\n2018;4;0\n2013;8;4\n2014;8;-7\n2015;8;-3\n2016;8;0\n2017;8;4\n2013;22;1.5\n2014;22;2.5\n2015;22;2.5\n2016;22;4\n2017;22;4\n2018;22;2\n2013;34;0\n2014;34;4\n2015;34;4\n2016;34;-6\n2017;34;-2\n2018;34;0\n2013;36;4\n2013;37;4\n2013;38;4\n2014;38;4\n2015;38;3\n2016;38;1\n2017;38;4\n2018;38;1\n2013;41;-5\n2013;42;4\n2014;42;4\n2015;42;4\n2016;42;4\n2017;42;4\n2018;42;4\n2013;45;4\n2014;45;4\n2015;45;4\n2016;45;4\n2017;45;4\n2018;45;4\n2013;47;4\n2014;47;4\n2015;47;4\n2016;47;4\n2017;47;3\n2018;47;4\n2013;49;4\n2014;49;4\n2015;49;4\n2016;49;4\n2017;49;2\n2018;49;4\n2013;53;4\n2013;63;-10\n2014;63;-6\n2015;63;-5\n2016;63;-1\n2017;63;4\n2018;63;3\n2013;76;-5\n2014;76;-6\n2015;76;-7\n2016;76;-3\n2017;76;4\n2018;76;4\n2013;77;2\n2014;77;-6\n2015;77;-6\n2016;77;4\n2017;77;4\n2013;80;3\n2014;80;2\n2015;80;3\n2016;80;4\n2017;80;4\n2018;80;4\n2013;84;-4\n2014;84;0\n2015;84;4\n2016;84;4\n2017;84;4\n2018;84;2\n2013;85;2.5\n2014;85;2.5\n2015;85;1.5\n2016;85;4\n2017;85;4\n2018;85;4\n2013;107;4\n2014;107;4\n2015;107;4\n2016;107;4\n2017;107;4\n2013;111;2\n2014;111;3\n2015;111;4\n2016;111;2\n2017;111;2\n2018;111;4\n2013;112;4\n2014;112;4\n2015;112;4\n2016;112;4\n2017;112;4\n2018;112;4\n2013;113;4\n2014;113;4\n2015;113;4\n2016;113;4\n2017;113;4\n2018;113;4\n2013;114;4\n2014;114;4\n2015;114;4\n2016;114;4\n2017;114;4\n2018;114;4\n2013;120;4\n2014;120;4\n2015;120;4\n2016;120;4\n2017;120;4\n2018;120;4\n2013;135;2.5\n2014;135;2.5\n2015;135;4\n2016;135;4\n2017;135;4\n2013;137;1\n2014;137;1\n2015;137;0\n2016;137;4\n2017;137;4\n2018;137;-6\n2013;138;4\n2014;138;4\n2015;138;4\n2016;138;4\n2017;138;4\n2018;138;4\n2013;140;4\n2014;140;4\n2015;140;4\n2016;140;4\n2017;140;4\n2018;140;4\n2013;143;4\n2014;143;4\n2015;143;4\n2016;143;4\n2017;143;4\n2013;145;4\n2014;145;3.5\n2015;145;3.5\n2016;145;4\n2017;145;4\n2013;155;1.5\n2014;155;2.5\n2015;155;4\n2016;155;4\n2017;155;0\n2018;155;3\n2013;157;4\n2014;157;4\n2015;157;0\n2016;157;1\n2017;157;4\n2018;157;4\n2013;164;0\n2013;165;4\n2014;165;0\n2015;165;-7\n2016;165;4\n2017;165;4\n2013;171;4\n2014;171;4\n2015;171;4\n2016;171;2\n2017;171;1.5\n2018;171;4\n2013;178;4\n2014;178;4\n2015;178;3\n2016;178;4\n2017;178;4\n2018;178;4\n2013;179;0\n2014;179;1\n2015;179;4\n2016;179;-8\n2017;179;-9\n2018;179;-5\n2013;180;4\n2014;180;-8\n2015;180;-6\n2016;180;-2\n2017;180;4\n2018;180;4\n2013;185;4\n2014;185;4\n2015;185;4\n2016;185;4\n2017;185;4\n2018;185;4\n2013;189;4\n2014;189;4\n2015;189;4\n2016;189;4\n2017;189;3\n2018;189;4\n2013;190;4\n2014;190;4\n2015;190;2\n2016;190;2\n2017;190;3\n2018;190;4\n2013;191;4\n2014;191;4\n2015;191;4\n2016;191;0\n2017;191;4\n2018;191;0\n2013;200;4\n2013;203;4\n2014;203;4\n2015;203;4\n2016;203;4\n2017;203;4\n2018;203;4\n2013;209;1.5\n2014;209;4\n2015;209;4\n2016;209;4\n2017;209;2\n2018;209;2\n2013;220;2\n2014;220;1\n2015;220;0\n2016;220;0\n2017;220;0\n2018;220;2\n2013;221;4\n2014;221;4\n2013;226;4\n2014;226;4\n2015;226;4\n2016;226;4\n2017;226;4\n2018;226;4\n2013;228;-1\n2014;228;0\n2015;228;2\n2016;228;4\n2017;228;4\n2018;228;1\n2013;230;4\n2014;230;4\n2015;230;4\n2016;230;4\n2017;230;4\n2018;230;4\n2013;231;4\n2014;231;4\n2015;231;4\n2016;231;4\n2017;231;4\n2013;236;2\n2014;236;1\n2015;236;-8\n2016;236;4\n2017;236;4\n2013;241;2\n2014;241;4\n2015;241;3\n2016;241;0\n2017;241;1\n2018;241;-6\n2013;245;-1.5\n2014;245;-4.5\n2015;245;-0.5\n2016;245;0.5\n2017;245;4\n2018;245;4\n2013;247;4\n2014;247;4\n2015;247;4\n2016;247;4\n2017;247;4\n2013;265;3\n2014;265;4\n2015;265;3\n2016;265;4\n2017;265;4\n2018;265;0\n2013;266;4\n2014;266;4\n2015;266;4\n2016;266;4\n2017;266;4\n2018;266;4\n2013;271;2.5\n2014;271;1.5\n2015;271;1.5\n2016;271;1\n2017;271;0\n2018;271;4\n2013;273;3\n2014;273;3\n2015;273;0\n2016;273;1\n2017;273;4\n2018;273;4\n2013;280;0\n2014;280;1\n2013;286;1\n2014;286;4\n2015;286;2\n2016;286;2\n2017;286;4\n2018;286;4\n2013;287;0\n2014;287;4\n2015;287;4\n2016;287;4\n2017;287;4\n2018;287;4\n2013;288;-5.5\n2014;288;-5.5\n2015;288;4\n2013;290;4\n2014;290;4\n2015;290;4\n2013;292;1\n2014;292;-5\n2015;292;-6\n2016;292;-8\n2017;292;4\n2018;292;4\n2013;293;2\n2014;293;0\n2015;293;0\n2016;293;4\n2017;293;4\n2018;293;4\n2013;301;4\n2014;301;4\n2015;301;4\n2016;301;4\n2017;301;4\n2018;301;4\n2013;311;0\n2014;311;2\n2015;311;2\n2016;311;4\n2017;311;4\n2018;311;-6\n2013;315;4\n2014;315;4\n2015;315;4\n2013;316;4\n2014;316;-7\n2015;316;-11\n2016;316;5\n2017;316;4\n2018;316;4\n2013;318;4\n2014;318;4\n2015;318;4\n2016;318;4\n2017;318;4\n2013;321;0.5\n2014;321;4\n2015;321;4\n2016;321;4\n2017;321;4\n2013;322;4\n2014;322;4\n2015;322;4\n2016;322;4\n2017;322;4\n2018;322;4\n2013;325;4\n2014;325;4\n2015;325;4\n2016;325;4\n2017;325;4\n2018;325;4\n2013;336;4\n2014;336;0\n2015;336;1\n2016;336;4\n2017;336;0\n2018;336;0\n2013;337;-8\n2013;341;4\n2014;341;4\n2015;341;4\n2016;341;4\n2017;341;4\n2018;341;4\n2013;342;3\n2014;342;1\n2015;342;1\n2016;342;4\n2017;342;4\n2018;342;0\n2013;349;4\n2014;349;4\n2015;349;0\n2016;349;4\n2017;349;2\n2018;349;2\n2013;350;4\n2014;350;2\n2015;350;1\n2016;350;-5\n2017;350;4\n2013;355;0\n2014;355;0\n2015;355;0\n2016;355;0\n2017;355;2\n2018;355;4\n2013;356;4\n2014;356;4\n2015;356;4\n2016;356;1\n2017;356;4\n2013;363;3.5\n2014;363;4\n2015;363;2.5\n2016;363;3\n2017;363;4\n2018;363;4\n2013;364;3\n2014;364;4\n2013;382;4\n2014;382;2\n2015;382;4\n2016;382;4\n2017;382;4\n2018;382;4\n2016;388;0\n2017;388;0\n2018;388;0\n2013;391;1\n2014;391;-5\n2015;391;-1\n2016;391;0\n2017;391;4\n2018;391;4\n2013;395;2\n2014;395;3\n2015;395;3\n2016;395;4\n2017;395;4\n2018;395;4\n2013;396;2\n2014;396;0\n2015;396;0\n2016;396;2\n2017;396;4\n2018;396;4\n2013;398;4\n2014;398;1\n2015;398;0\n2016;398;4\n2017;398;4\n2018;398;-5\n2013;400;2\n2014;400;1\n2015;400;-6\n2016;400;4\n2017;400;4\n2013;401;2\n2014;401;1\n2015;401;4\n2016;401;4\n2017;401;4\n2013;408;4\n2014;408;4\n2015;408;4\n2016;408;4\n2017;408;4\n2013;413;3\n2014;413;2\n2015;413;3\n2016;413;3\n2017;413;2\n2018;413;4\n2013;421;1\n2014;421;-5\n2015;421;-1\n2016;421;0\n2017;421;1\n2018;421;4\n2013;430;-1\n2014;430;-5\n2015;430;4\n2016;430;4\n2017;430;4\n2013;433;4\n2014;433;4\n2015;433;4\n2016;433;4\n2017;433;4\n2018;433;4\n2013;437;4\n2014;437;4\n2015;437;4\n2016;437;4\n2017;437;4\n2013;439;2\n2014;439;2\n2015;439;4\n2013;442;4\n2013;444;-4.5\n2014;444;-1.5\n2015;444;2.5\n2016;444;2.5\n2017;444;4\n2013;449;0\n2014;449;1\n2015;449;2\n2016;449;2\n2017;449;1\n2018;449;2\n2013;451;4\n2014;451;4\n2015;451;0\n2016;451;4\n2017;451;3.5\n2018;451;3.5\n2013;456;4\n2014;456;4\n2015;456;4\n2016;456;1\n2017;456;-5\n2018;456;-5\n2013;457;0\n2014;457;0\n2015;457;4\n2016;457;4\n2013;459;4\n2014;459;4\n2015;459;4\n2016;459;4\n2017;459;4\n2013;461;4\n2014;461;4\n2015;461;4\n2016;461;4\n2017;461;4\n2018;461;4\n2013;475;4\n2013;485;4\n2014;485;4\n2015;485;4\n2016;485;4\n2017;485;4\n2018;485;4\n2013;486;1\n2014;486;2\n2013;489;0\n2014;489;-5\n2015;489;-1\n2016;489;0\n2017;489;4\n2018;489;3\n2013;490;0\n2014;490;3\n2015;490;4\n2013;491;-5\n2014;491;-5\n2015;491;-1\n2016;491;0\n2017;491;3\n2018;491;-5\n2013;511;4\n2014;511;4\n2015;511;4\n2016;511;3\n2017;511;3\n2018;511;4\n2013;513;4\n2014;513;4\n2013;516;4\n2014;516;4\n2015;516;4\n2016;516;3.5\n2017;516;2.5\n2018;516;4\n2013;525;-5\n2014;525;-1\n2015;525;-7\n2016;525;-3\n2017;525;4\n2018;525;-6\n2013;533;2\n2014;533;4\n2015;533;4\n2016;533;4\n2017;533;4\n2018;533;4\n2013;541;4\n2014;541;4\n2015;541;4\n2016;541;4\n2017;541;4\n2013;548;4\n2014;548;4\n2015;548;4\n2016;548;4\n2017;548;4\n2013;550;-8\n2014;550;-7\n2015;550;4\n2016;550;4\n2017;550;4\n2013;551;4\n2014;551;4\n2015;551;4\n2016;551;4\n2017;551;4\n2018;551;4\n2013;553;4\n2014;553;4\n2015;553;4\n2016;553;4\n2017;553;4\n2013;556;-1\n2014;556;1\n2015;556;4\n2016;556;4\n2017;556;4\n2013;564;4\n2014;564;4\n2015;564;4\n2016;564;4\n2017;564;4\n2018;564;4\n2013;567;0\n2014;567;-6\n2015;567;-2\n2016;567;-8\n2017;567;-4\n2018;567;4\n2013;569;-0.5\n2014;569;-5\n2015;569;-5\n2016;569;-1\n2017;569;2\n2018;569;4\n2013;570;4\n2014;570;0\n2015;570;4\n2016;570;3.5\n2017;570;-6.5\n2018;570;-2.5\n2013;573;4\n2014;573;4\n2015;573;4\n2016;573;4\n2017;573;4\n2013;576;1\n2014;576;2\n2015;576;4\n2016;576;4\n2017;576;4\n2013;577;4\n2014;577;4\n2015;577;4\n2016;577;4\n2017;577;4\n2018;577;4\n2013;580;4\n2014;580;4\n2015;580;3\n2016;580;4\n2017;580;4\n2018;580;4\n2013;586;4\n2014;586;4\n2015;586;4\n2016;586;4\n2017;586;4\n2013;590;2\n2014;590;4\n2015;590;3\n2016;590;-7\n2017;590;-6\n2018;590;4\n2013;1561;4\n2014;1561;4\n2015;1561;4\n2013;600;4\n2014;600;4\n2015;600;4\n2016;600;4\n2017;600;4\n2018;600;4\n2013;606;4\n2014;606;4\n2015;606;0\n2016;606;4\n2017;606;-5\n2018;606;-5\n2013;617;4\n2014;617;4\n2015;617;4\n2016;617;4\n2017;617;4\n2013;618;0\n2014;618;0\n2015;618;1\n2016;618;-5\n2017;618;-1\n2018;618;4\n2016;628;4\n2017;628;0\n2018;628;4\n2013;631;3\n2014;631;4\n2015;631;4\n2016;631;4\n2017;631;4\n2018;631;4\n2013;633;-5\n2014;633;-1\n2015;633;-5\n2016;633;-1\n2017;633;4\n2018;633;4\n2013;643;4\n2014;643;4\n2015;643;4\n2016;643;4\n2017;643;4\n2018;643;4\n2013;648;4\n2014;648;4\n2015;648;4\n2016;648;4\n2017;648;4\n2018;648;3\n2013;652;4\n2014;652;4\n2015;652;4\n2016;652;4\n2017;652;4\n2018;652;4\n2013;660;4\n2014;660;3\n2015;660;2.5\n2016;660;2.5\n2017;660;4\n2018;660;4\n2013;664;4\n2014;664;4\n2015;664;4\n2016;664;4\n2017;664;4\n2018;664;4\n2013;666;4\n2014;666;4\n2013;667;4\n2014;667;0\n2015;667;4\n2013;669;0\n2014;669;-5\n2015;669;-1\n2016;669;4\n2017;669;2\n2018;669;4\n2013;672;3.5\n2013;673;4\n2014;673;4\n2015;673;4\n2016;673;4\n2017;673;4\n2013;675;0\n2013;683;4\n2014;683;4\n2015;683;4\n2013;685;-7\n2014;685;-6\n2015;685;-6\n2016;685;-2\n2017;685;1\n2018;685;3\n2013;1728;4\n2014;1728;4\n2015;1728;4\n2016;1728;4\n2017;1728;4\n2018;1728;2\n2013;696;4\n2014;696;4\n2015;696;3\n2016;696;4\n2017;696;4\n2018;696;4\n2013;714;4\n2014;714;4\n2015;714;4\n2016;714;4\n2017;714;4\n2018;714;4\n2013;715;0\n2014;715;0\n2015;715;4\n2013;720;0.5\n2014;720;2.5\n2015;720;-4.5\n2016;720;-0.5\n2017;720;1.5\n2018;720;0.5\n2013;721;0\n2014;721;4\n2015;721;4\n2016;721;4\n2017;721;4\n2018;721;4\n2013;723;4\n2014;723;0\n2015;723;0\n2016;723;2\n2017;723;4\n2018;723;4\n2013;726;4\n2014;726;4\n2015;726;4\n2016;726;4\n2017;726;4\n2018;726;4\n2013;727;-1\n2014;727;-6\n2015;727;-5\n2016;727;-5\n2017;727;-5\n2018;727;-1\n2013;729;4\n2014;729;4\n2015;729;3\n2016;729;4\n2017;729;4\n2018;729;1\n2013;737;3.5\n2014;737;4\n2015;737;2.5\n2016;737;2\n2017;737;2\n2018;737;4\n2013;743;4\n2014;743;3.5\n2015;743;2.5\n2016;743;3.5\n2017;743;3.5\n2018;743;4\n2013;746;3\n2014;746;4\n2015;746;4\n2016;746;4\n2017;746;4\n2018;746;4\n2013;749;4\n2014;749;4\n2015;749;4\n2016;749;4\n2017;749;4\n2013;751;4\n2014;751;2\n2015;751;2\n2016;751;4\n2017;751;4\n2018;751;4\n2013;756;4\n2014;756;0\n2015;756;0\n2016;756;3\n2017;756;3\n2018;756;0\n2013;757;-5.5\n2014;757;-5.5\n2015;757;-6.5\n2016;757;-7.5\n2017;757;-6.5\n2018;757;-7.5\n2013;759;0\n2014;759;4\n2015;759;4\n2016;759;4\n2017;759;4\n2018;759;4\n2013;767;4\n2014;767;4\n2015;767;1\n2016;767;4\n2017;767;4\n2013;768;4\n2014;768;4\n2015;768;4\n2016;768;4\n2017;768;4\n2013;769;1\n2014;769;2\n2015;769;-5\n2016;769;-7\n2017;769;-5\n2018;769;-1\n2013;777;-3\n2013;778;1\n2014;778;4\n2015;778;4\n2016;778;3\n2017;778;4\n2018;778;4\n2013;788;1.5\n2014;788;1.5\n2015;788;0.5\n2016;788;4\n2017;788;4\n2018;788;3\n2013;799;3\n2014;799;4\n2015;799;2\n2017;799;4\n2018;799;4\n2013;805;4\n2013;807;4\n2014;807;4\n2015;807;4\n2016;807;0\n2017;807;4\n2018;807;4\n2013;809;4\n2013;811;-4.5\n2014;811;-0.5\n2015;811;1.5\n2016;811;1.5\n2017;811;1.5\n2018;811;-4.5\n2013;812;3\n2014;812;0\n2015;812;2\n2016;812;1.5\n2017;812;2.5\n2018;812;2.5\n2013;815;2.5\n2014;815;4\n2015;815;4\n2016;815;4\n2017;815;4\n2013;816;4\n2014;816;4\n2015;816;4\n2013;820;1\n2014;820;2\n2015;820;2\n2016;820;4\n2017;820;0\n2018;820;0\n2013;821;2.5\n2014;821;2\n2015;821;1\n2016;821;4\n2017;821;4\n2018;821;0\n2013;843;4\n2014;843;4\n2015;843;4\n2016;843;4\n2017;843;4\n2018;843;4\n2013;847;2\n2014;847;4\n2015;847;4\n2016;847;4\n2017;847;3\n2018;847;4\n2013;848;-7.5\n2014;848;-3.5\n2015;848;-6.5\n2016;848;-3.5\n2017;848;4\n2018;848;4\n2013;853;0.5\n2014;853;4\n2015;853;0\n2016;853;-5\n2017;853;-1\n2018;853;-7\n2013;856;4\n2014;856;4\n2015;856;4\n2013;861;4\n2014;861;4\n2015;861;4\n2016;861;4\n2017;861;4\n2018;861;4\n2013;866;4\n2014;866;2.5\n2015;866;0\n2016;866;-5\n2017;866;-1\n2018;866;0\n2013;870;-2.5\n2014;870;0\n2015;870;-6\n2016;870;-6\n2017;870;4\n2013;871;4\n2014;871;4\n2015;871;0\n2016;871;0.5\n2017;871;4\n2018;871;4\n2013;872;3\n2014;872;1\n2015;872;3\n2016;872;4\n2017;872;4\n2018;872;-5\n2013;875;3\n2014;875;4\n2015;875;4\n2016;875;4\n2017;875;4\n2018;875;2\n2013;876;1\n2014;876;1\n2015;876;2\n2016;876;-6\n2017;876;-7\n2018;876;-3\n2013;880;4\n2014;880;4\n2015;880;4\n2016;880;2\n2017;880;2\n2018;880;4\n2013;882;1\n2014;882;4\n2013;885;4\n2014;885;4\n2015;885;4\n2016;885;4\n2017;885;4\n2018;885;4\n2013;887;4\n2014;887;4\n2015;887;3\n2016;887;4\n2017;887;4\n2018;887;4\n2013;893;4\n2014;893;0.5\n2015;893;0.5\n2019;3;4\n2019;84;-0.5\n2019;171;4\n2019;179;4\n2019;388;4\n2019;461;4\n2016;893;0\n2017;893;3\n2018;893;1\n2013;899;4\n2014;899;4\n2015;899;4\n2016;899;4\n2017;899;4\n2018;899;4\n2013;919;0\n2014;919;2\n2015;919;1\n2016;919;0\n2017;919;4\n2018;919;-5\n2013;921;4\n2014;921;1\n2015;921;1.5\n2016;921;-1.5\n2017;921;4\n2018;921;3\n2013;923;4\n2014;923;0\n2015;923;2.5\n2016;923;3.5\n2017;923;4\n2013;924;1.5\n2014;924;4\n2015;924;4\n2016;924;4\n2017;924;4\n2018;924;-6\n2013;926;4\n2014;926;4\n2015;926;4\n2016;926;4\n2017;926;4\n2018;926;3\n2013;927;4\n2014;927;4\n2015;927;4\n2016;927;4\n2017;927;4\n2018;927;4\n2013;928;1\n2014;928;3\n2015;928;1\n2016;928;0\n2017;928;1\n2018;928;2\n2013;929;4\n2014;929;4\n2015;929;3\n2016;929;4\n2017;929;4\n2018;929;3\n2013;932;0\n2014;932;0\n2015;932;-5\n2016;932;-1\n2017;932;4\n2018;932;2\n2013;934;4\n2014;934;0\n2015;934;0\n2016;934;4\n2017;934;4\n2013;935;4\n2014;935;4\n2015;935;4\n2016;935;0\n2017;935;-5\n2018;935;-1\n2013;938;-5\n2014;938;-6\n2015;938;-6\n2016;938;-2\n2017;938;4\n2018;938;4\n2013;946;1.5\n2014;946;1.5\n2015;946;0\n2016;946;4\n2017;946;4\n2013;949;1\n2014;949;1\n2015;949;0\n2016;949;4\n2017;949;4\n2018;949;4\n2013;951;-5\n2014;951;2\n2015;951;4\n2016;951;4\n2017;951;4\n2013;953;-1\n2014;953;0\n2015;953;-6\n2016;953;-5\n2017;953;-1\n2018;953;4\n2013;954;-4.5\n2014;954;-6.5\n2015;954;-2.5\n2016;954;4\n2017;954;4\n2018;954;4\n2013;956;5\n2014;956;4\n2015;956;4\n2016;956;4\n2017;956;-6\n2018;956;-2\n2013;957;4\n2014;957;4\n2015;957;4\n2016;957;4\n2017;957;3\n2018;957;2\n2013;961;4\n2014;961;4\n2015;961;4\n2016;961;4\n2017;961;4\n2018;961;4\n2013;963;4\n2014;963;4\n2015;963;4\n2016;963;4\n2017;963;4\n2018;963;4\n2013;966;-0.5\n2013;967;2\n2014;967;4\n2015;967;4\n2016;967;4\n2017;967;0\n2018;967;0\n2013;981;4\n2014;981;4\n2015;981;4\n2016;981;4\n2017;981;4\n2018;981;4\n2013;982;-5\n2014;982;-1\n2015;982;0\n2016;982;0\n2017;982;4\n2018;982;-6\n2013;984;4\n2014;984;4\n2015;984;4\n2016;984;0\n2017;984;4\n2018;984;4\n2013;985;1.5\n2014;985;-4.5\n2015;985;-0.5\n2016;985;4\n2017;985;4\n2018;985;1\n2013;986;-5\n2013;992;-5\n2014;992;-1\n2015;992;4\n2016;992;4\n2017;992;4\n2013;994;4\n2014;994;4\n2015;994;4\n2016;994;4\n2017;994;4\n2018;994;4\n2013;1001;0.5\n2014;1001;2.5\n2015;1001;4\n2016;1001;4\n2017;1001;4\n2018;1001;4\n2013;1002;2\n2014;1002;0\n2015;1002;4\n2016;1002;4\n2017;1002;4\n2018;1002;2\n2013;1003;0\n2014;1003;0\n2015;1003;0\n2016;1003;0\n2017;1003;3\n2018;1003;-5\n2013;1004;4\n2014;1004;4\n2015;1004;4\n2016;1004;4\n2017;1004;4\n2013;1005;0\n2014;1005;1\n2015;1005;4\n2016;1005;-6\n2017;1005;-2\n2018;1005;0\n2013;1007;4\n2014;1007;4\n2015;1007;4\n2016;1007;4\n2017;1007;4\n2013;1008;-6\n2014;1008;-2\n2015;1008;-8\n2016;1008;4\n2017;1008;4\n2013;1011;4\n2014;1011;2\n2015;1011;1\n2016;1011;4\n2017;1011;0\n2018;1011;1\n2013;1013;4\n2013;1020;3.5\n2014;1020;4\n2015;1020;4\n2013;1021;2\n2014;1021;3\n2015;1021;4\n2016;1021;-5\n2017;1021;-1\n2018;1021;4\n2013;1023;1\n2014;1023;2\n2015;1023;4\n2016;1023;4\n2017;1023;4\n2013;1029;1\n2014;1029;1\n2015;1029;4\n2013;1030;4\n2014;1030;4\n2015;1030;4\n2016;1030;4\n2017;1030;4\n2018;1030;1\n2013;1033;0\n2014;1033;-7\n2015;1033;4\n2016;1033;4\n2013;1035;4\n2014;1035;4\n2015;1035;4\n2016;1035;4\n2017;1035;4\n2018;1035;3\n2013;1040;4\n2014;1040;4\n2015;1040;4\n2016;1040;4\n2017;1040;4\n2018;1040;4\n2013;1045;-6\n2014;1045;-8\n2015;1045;-11\n2016;1045;-6\n2017;1045;-2\n2018;1045;4\n2013;1047;1\n2014;1047;0\n2015;1047;4\n2016;1047;4\n2017;1047;4\n2018;1047;4\n2013;1048;4\n2014;1048;4\n2015;1048;4\n2016;1048;4\n2017;1048;4\n2018;1048;4\n2013;1055;4\n2014;1055;4\n2015;1055;4\n2016;1055;4\n2017;1055;3\n2018;1055;4\n2013;1057;4\n2014;1057;4\n2015;1057;4\n2013;1059;1\n2014;1059;2\n2015;1059;4\n2013;1062;4\n2014;1062;4\n2015;1062;4\n2016;1062;4\n2017;1062;4\n2018;1062;2\n2013;1063;-3\n2014;1063;-5.5\n2015;1063;-6\n2016;1063;-7\n2017;1063;-5\n2018;1063;-1\n2013;1064;4\n2013;1065;1\n2014;1065;4\n2015;1065;4\n2016;1065;4\n2017;1065;0\n2018;1065;4\n2013;1069;2\n2014;1069;3\n2015;1069;2\n2016;1069;-5\n2017;1069;4\n2013;1079;1.5\n2014;1079;2\n2015;1079;0\n2016;1079;0\n2017;1079;4\n2018;1079;2\n2013;1082;3\n2014;1082;2\n2013;1084;-5\n2014;1084;1\n2015;1084;1\n2016;1084;4\n2017;1084;-5\n2018;1084;-1\n2013;1086;4\n2014;1086;4\n2015;1086;4\n2016;1086;4\n2017;1086;4\n2018;1086;4\n2013;1095;4\n2013;1096;1\n2014;1096;4\n2015;1096;4\n2016;1096;4\n2017;1096;4\n2018;1096;4\n2013;1100;4\n2014;1100;4\n2015;1100;2.5\n2016;1100;4\n2017;1100;4\n2018;1100;4\n2013;1101;0\n2014;1101;1\n2015;1101;4\n2016;1101;4\n2017;1101;4\n2013;1110;-4.5\n2014;1110;-6.5\n2015;1110;4\n2013;1114;-5\n2014;1114;-5\n2015;1114;-5\n2016;1114;4\n2017;1114;4\n2013;1116;4\n2014;1116;4\n2015;1116;4\n2016;1116;4\n2017;1116;4\n2013;1118;4\n2014;1118;4\n2015;1118;4\n2016;1118;4\n2013;1123;4\n2014;1123;4\n2015;1123;4\n2016;1123;4\n2017;1123;3\n2018;1123;4\n2013;1131;1\n2014;1131;1\n2015;1131;3\n2016;1131;4\n2017;1131;4\n2013;1133;-1\n2014;1133;4\n2015;1133;4\n2016;1133;4\n2013;1137;2\n2014;1137;4\n2015;1137;0\n2016;1137;4\n2017;1137;4\n2013;1138;3.5\n2014;1138;2\n2015;1138;3\n2016;1138;4\n2017;1138;4\n2013;1141;-2\n2014;1141;1.5\n2015;1141;4\n2016;1141;4\n2017;1141;4\n2018;1141;-7\n2013;1142;-7\n2013;1143;4\n2014;1143;4\n2015;1143;4\n2016;1143;4\n2017;1143;4\n2018;1143;4\n2013;1147;-5.5\n2014;1147;-5\n2015;1147;-1\n2016;1147;4\n2017;1147;4\n2013;1148;-7\n2014;1148;2\n2015;1148;-5\n2016;1148;-1\n2017;1148;4\n2018;1148;-8\n2013;1149;-6\n2014;1149;-6\n2015;1149;-2\n2016;1149;1\n2017;1149;-5\n2018;1149;-5\n2013;1150;4\n2014;1150;4\n2015;1150;4\n2016;1150;4\n2017;1150;4\n2018;1150;3\n2013;1156;4\n2014;1156;4\n2015;1156;4\n2016;1156;4\n2017;1156;4\n2018;1156;0\n2013;1158;3.5\n2013;1160;4\n2014;1160;0\n2015;1160;0\n2016;1160;4\n2017;1160;4\n2013;1161;4\n2014;1161;4\n2015;1161;4\n2016;1161;4\n2017;1161;1\n2018;1161;4\n2013;1165;0.5\n2014;1165;4\n2015;1165;4\n2016;1165;4\n2017;1165;4\n2018;1165;4\n2013;1169;2.5\n2014;1169;4\n2015;1169;1\n2016;1169;1\n2017;1169;-5\n2018;1169;-6\n2013;1174;4\n2013;1175;2\n2014;1175;2\n2015;1175;0\n2016;1175;4\n2017;1175;2\n2018;1175;4\n2013;1178;4\n2014;1178;4\n2015;1178;4\n2016;1178;4\n2017;1178;4\n2018;1178;4\n2013;1179;4\n2014;1179;4\n2015;1179;4\n2016;1179;3\n2017;1179;4\n2018;1179;4\n2013;1184;-7\n2014;1184;-7\n2015;1184;4\n2016;1184;4\n2017;1184;4\n2013;1185;-5\n2014;1185;-1\n2015;1185;4\n2016;1185;4\n2017;1185;4\n2013;1186;2.5\n2014;1186;-5.5\n2015;1186;-1.5\n2016;1186;4\n2017;1186;4\n2013;1191;4\n2014;1191;2.5\n2015;1191;3.5\n2016;1191;4\n2017;1191;4\n2018;1191;4\n2013;1195;0\n2014;1195;4\n2015;1195;0\n2016;1195;3\n2017;1195;4\n2018;1195;2\n2013;1205;1.5\n2014;1205;1.5\n2015;1205;1.5\n2016;1205;4\n2017;1205;2\n2018;1205;3\n2013;1210;-5\n2014;1210;-1\n2015;1210;-7\n2016;1210;-3\n2017;1210;3\n2018;1210;-6\n2013;1213;3\n2014;1213;4\n2015;1213;4\n2016;1213;4\n2017;1213;4\n2018;1213;1\n2013;1218;4\n2014;1218;4\n2015;1218;4\n2016;1218;4\n2017;1218;4\n2018;1218;1\n2013;1219;4\n2014;1219;4\n2015;1219;2\n2016;1219;3\n2017;1219;4\n2018;1219;2\n2013;1221;4\n2014;1221;3.5\n2015;1221;3.5\n2016;1221;4\n2017;1221;4\n2013;1229;-3\n2014;1229;-7\n2015;1229;-7\n2016;1229;-8\n2017;1229;-12\n2018;1229;4\n2013;1233;-6\n2014;1233;-5\n2015;1233;-1\n2016;1233;-6\n2017;1233;4\n2018;1233;4\n2013;1234;-1\n2014;1234;0\n2015;1234;-7\n2016;1234;4\n2017;1234;4\n2013;1238;4\n2014;1238;4\n2015;1238;4\n2016;1238;4\n2017;1238;4\n2013;1239;-7\n2014;1239;-6\n2015;1239;-2\n2016;1239;0\n2017;1239;-5\n2018;1239;3\n2013;1248;-2.5\n2014;1248;4\n2013;1249;1\n2014;1249;-7\n2015;1249;-8\n2016;1249;4\n2017;1249;4\n2013;1250;4\n2013;1252;3.5\n2014;1252;4\n2015;1252;4\n2016;1252;-7\n2017;1252;4\n2013;1253;3\n2014;1253;4\n2015;1253;4\n2016;1253;0\n2017;1253;4\n2018;1253;0\n2013;1256;3\n2014;1256;4\n2015;1256;4\n2016;1256;4\n2017;1256;4\n2018;1256;4\n2013;1258;3.5\n2014;1258;4\n2015;1258;3\n2016;1258;4\n2017;1258;4\n2018;1258;4\n2013;1259;4\n2014;1259;4\n2015;1259;4\n2016;1259;4\n2017;1259;4\n2018;1259;2\n2013;1260;0\n2014;1260;-5\n2015;1260;-1\n2016;1260;3\n2017;1260;1\n2018;1260;-5\n2013;1266;4\n2014;1266;4\n2015;1266;4\n2016;1266;3\n2017;1266;4\n2018;1266;4\n2013;1267;4\n2014;1267;4\n2015;1267;4\n2016;1267;4\n2017;1267;4\n2018;1267;4\n2013;1274;4\n2014;1274;4\n2015;1274;1\n2016;1274;4\n2017;1274;4\n2018;1274;4\n2013;1276;0\n2014;1276;2\n2015;1276;4\n2016;1276;4\n2017;1276;4\n2018;1276;4\n2013;1281;4\n2014;1281;4\n2013;1283;4\n2014;1283;3\n2015;1283;4\n2016;1283;4\n2017;1283;4\n2018;1283;4\n2013;1285;0\n2014;1285;-6\n2015;1285;-2\n2016;1285;2\n2017;1285;1\n2018;1285;-6\n2013;1288;-2\n2014;1288;-5\n2015;1288;-1\n2016;1288;0\n2017;1288;4\n2018;1288;2\n2013;1292;4\n2013;1293;2.5\n2014;1293;3.5\n2015;1293;-5\n2016;1293;-1\n2017;1293;4\n2018;1293;2\n2013;1294;4\n2013;1296;4\n2014;1296;4\n2015;1296;3\n2016;1296;0\n2017;1296;4\n2013;1299;1\n2014;1299;0\n2015;1299;0\n2016;1299;4\n2017;1299;2\n2018;1299;2\n2013;1300;4\n2014;1300;4\n2015;1300;4\n2016;1300;4\n2017;1300;4\n2013;1308;4\n2014;1308;4\n2015;1308;3\n2016;1308;2\n2017;1308;4\n2018;1308;2\n2013;1311;4\n2014;1311;4\n2015;1311;4\n2016;1311;4\n2017;1311;4\n2018;1311;4\n2013;1316;4\n2014;1316;4\n2015;1316;-7\n2016;1316;-8\n2017;1316;-6\n2018;1316;-2\n2013;1321;-0.5\n2014;1321;-5.5\n2015;1321;-1.5\n2016;1321;1.5\n2017;1321;4\n2018;1321;-5\n2013;1323;2\n2014;1323;3\n2015;1323;2\n2016;1323;-5\n2017;1323;4\n2013;1324;0\n2014;1324;0\n2015;1324;3\n2016;1324;4\n2017;1324;4\n2013;1325;-1\n2014;1325;0\n2015;1325;0\n2016;1325;4\n2017;1325;-5\n2018;1325;-1\n2013;1697;4\n2014;1697;4\n2015;1697;4\n2016;1697;4\n2017;1697;0\n2018;1697;4\n2013;1362;4\n2014;1362;4\n2015;1362;0.5\n2016;1362;0.5\n2017;1362;4\n2018;1362;1\n2013;1352;4\n2014;1352;4\n2015;1352;4\n2016;1352;2\n2017;1352;3\n2018;1352;4\n2013;205;1\n2014;205;4\n2015;205;3\n2016;205;1\n2017;205;2\n2018;205;3\n2013;1359;3\n2014;1359;4\n2015;1359;2\n2016;1359;4\n2017;1359;4\n2018;1359;4\n2013;1254;3\n2014;1254;3\n2015;1254;2\n2016;1254;4\n2017;1254;4\n2018;1254;-6\n2013;1358;4\n2014;1358;4\n2015;1358;4\n2016;1358;4\n2017;1358;4\n2018;1358;4\n2013;1357;0\n2014;1357;2\n2015;1357;2\n2016;1357;4\n2017;1357;4\n2018;1357;4\n2013;1255;2\n2014;1255;1.5\n2015;1255;2.5\n2016;1255;4\n2017;1255;1\n2018;1255;2\n2013;1278;2\n2014;1278;2\n2015;1278;3\n2016;1278;3\n2017;1278;4\n2018;1278;2\n2013;1314;4\n2014;1314;4\n2015;1314;4\n2016;1314;4\n2017;1314;4\n2013;1317;-1\n2014;1317;0\n2015;1317;1\n2016;1317;1\n2017;1317;2\n2018;1317;2\n2013;1329;4\n2014;1329;4\n2015;1329;4\n2016;1329;4\n2017;1329;4\n2018;1329;4\n2013;1330;4\n2014;1330;4\n2015;1330;4\n2016;1330;4\n2017;1330;0\n2013;1337;4\n2014;1337;4\n2015;1337;4\n2016;1337;2\n2017;1337;4\n2013;1343;4\n2014;1343;0\n2015;1343;4\n2013;1344;3\n2014;1344;-5\n2015;1344;4\n2016;1344;4\n2013;1345;4\n2013;1361;4\n2014;1361;4\n2015;1361;4\n2013;1364;4\n2014;1364;4\n2015;1364;4\n2016;1364;4\n2013;1746;4\n2014;1746;0\n2015;1746;1\n2016;1746;4\n2017;1746;4\n2018;1746;3\n2013;1387;-5\n2014;1387;1\n2015;1387;-8\n2016;1387;-4\n2017;1387;4\n2018;1387;-5\n2013;1383;4\n2014;1383;4\n2015;1383;4\n2016;1383;4\n2017;1383;4\n2018;1383;4\n2013;1382;3\n2014;1382;0\n2015;1382;-5\n2016;1382;-1\n2017;1382;4\n2018;1382;4\n2013;1381;4\n2013;1380;4\n2014;1380;4\n2015;1380;4\n2016;1380;4\n2017;1380;4\n2018;1380;4\n2013;1046;4\n2014;1046;4\n2015;1046;4\n2016;1046;4\n2017;1046;4\n2013;1397;-4.5\n2015;1397;1\n2013;1395;-12\n2014;1395;-6\n2015;1395;4\n2016;1395;-6\n2017;1395;-9.5\n2018;1395;-10.5\n2017;1402;4\n2018;1402;4\n2013;1407;4\n2014;1407;4\n2015;1407;4\n2016;1407;4\n2017;1407;4\n2018;1407;4\n2013;1408;-0.5\n2013;1418;4\n2014;1418;4\n2015;1418;4\n2016;1418;4\n2017;1418;4\n2018;1418;4\n2013;1417;1.5\n2014;1417;0.5\n2015;1417;-6\n2016;1417;4\n2017;1417;4\n2013;1543;3\n2014;1543;-5\n2015;1543;-1\n2016;1543;4\n2017;1543;4\n2018;1543;1\n2013;1427;4\n2014;1427;4\n2015;1427;4\n2016;1427;4\n2017;1427;4\n2013;1425;3\n2014;1425;3\n2015;1425;4\n2016;1425;4\n2017;1425;2\n2018;1425;4\n2013;1428;4\n2014;1428;4\n2015;1428;4\n2016;1428;4\n2017;1428;4\n2018;1428;4\n2013;1431;2\n2014;1431;2\n2015;1431;1\n2016;1431;4\n2017;1431;2\n2018;1431;3\n2013;1541;1\n2014;1541;0\n2015;1541;4\n2016;1541;3\n2017;1541;3\n2018;1541;2\n2013;1434;4\n2014;1434;4\n2015;1434;3\n2016;1434;0\n2017;1434;0\n2018;1434;0\n2013;1435;4\n2014;1435;4\n2015;1435;-7\n2016;1435;-3\n2017;1435;3\n2018;1435;4\n2013;1432;2.5\n2014;1432;4\n2015;1432;4\n2016;1432;4\n2017;1432;3\n2018;1432;4\n2013;1433;1\n2014;1433;3\n2015;1433;4\n2016;1433;4\n2017;1433;2\n2018;1433;-6\n2013;1436;3\n2014;1436;-7\n2015;1436;4\n2016;1436;4\n2017;1436;-5\n2018;1436;-1\n2013;1437;-1\n2014;1437;1\n2015;1437;0\n2016;1437;1\n2017;1437;4\n2013;1529;4\n2014;1529;4\n2015;1529;4\n2016;1529;4\n2017;1529;4\n2018;1529;4\n2013;1439;4\n2013;1442;4\n2014;1442;1.5\n2015;1442;4\n2013;1445;-2\n2014;1445;0\n2015;1445;0\n2016;1445;2\n2017;1445;4\n2018;1445;7\n2013;1455;4\n2014;1455;4\n2015;1455;4\n2016;1455;4\n2017;1455;4\n2018;1455;4\n2013;1457;-9\n2014;1457;-11\n2015;1457;-13\n2016;1457;-5\n2017;1457;-1\n2018;1457;4\n2013;1458;-7\n2014;1458;4\n2015;1458;4\n2016;1458;4\n2017;1458;4\n2013;1459;4\n2014;1459;4\n2015;1459;4\n2016;1459;4\n2017;1459;4\n2018;1459;4\n2013;1461;4\n2013;1350;3\n2014;1350;1\n2015;1350;1\n2016;1350;1\n2017;1350;3\n2018;1350;0\n2015;1465;4\n2016;1465;0\n2017;1465;4\n2018;1465;4\n2013;1464;4\n2014;1464;4\n2015;1464;4\n2016;1464;4\n2017;1464;4\n2018;1464;4\n2013;1466;4\n2014;1466;-5\n2015;1466;-1\n2016;1466;4\n2017;1466;4\n2018;1466;-6\n2013;1467;4\n2014;1467;4\n2015;1467;4\n2016;1467;4\n2017;1467;4\n2018;1467;4\n2013;1471;2\n2014;1471;1\n2015;1471;0\n2016;1471;2\n2017;1471;-5\n2018;1471;-1\n2013;1556;4\n2014;1556;4\n2015;1556;4\n2016;1556;4\n2017;1556;4\n2018;1556;2\n2014;1807;4\n2015;1807;2\n2016;1807;4\n2017;1807;4\n2018;1807;4\n2013;1203;0\n2014;1203;0.5\n2015;1203;0.5\n2016;1203;4\n2017;1203;0\n2018;1203;2\n2013;18;4\n2014;18;4\n2015;18;0\n2016;18;1\n2017;18;0\n2018;18;4\n2013;1318;4\n2014;1318;4\n2015;1318;4\n2016;1318;4\n2017;1318;4\n2013;1486;-6\n2014;1486;4\n2015;1486;4\n2013;1492;-8\n2014;1492;4\n2015;1492;4\n2016;1492;4\n2013;1487;-6.5\n2014;1487;-2.5\n2015;1487;0\n2016;1487;1\n2017;1487;-5\n2018;1487;-1\n2013;1490;-4.5\n2013;1495;4\n2014;1495;4\n2015;1495;4\n2016;1495;4\n2017;1495;4\n2018;1495;4\n2013;1498;4\n2014;1498;4\n2015;1498;4\n2016;1498;4\n2017;1498;4\n2018;1498;4\n2013;1499;-4.5\n2014;1499;-0.5\n2015;1499;4\n2016;1499;4\n2017;1499;4\n2018;1499;0\n2013;1500;2.5\n2014;1500;3.5\n2015;1500;4\n2016;1500;4\n2017;1500;4\n2018;1500;4\n2013;1501;0\n2014;1501;-8\n2015;1501;-6\n2016;1501;-2\n2017;1501;0\n2018;1501;-6\n2013;1502;4\n2013;1503;4\n2014;1503;4\n2015;1503;4\n2016;1503;4\n2017;1503;1\n2018;1503;2\n2013;1505;1\n2014;1505;1\n2015;1505;0\n2016;1505;4\n2017;1505;4\n2013;1504;0.5\n2013;1506;1\n2013;1507;4\n2014;1507;4\n2015;1507;4\n2016;1507;4\n2017;1507;4\n2018;1507;4\n2013;1508;4\n2014;1508;4\n2015;1508;2\n2016;1508;3\n2017;1508;4\n2013;1509;0.5\n2014;1509;0\n2015;1509;0\n2016;1509;2\n2017;1509;3\n2018;1509;0\n2013;1512;2\n2014;1512;2\n2015;1512;1\n2016;1512;-8\n2017;1512;-4\n2018;1512;0\n2013;1510;4\n2014;1510;4\n2015;1510;4\n2016;1510;4\n2017;1510;4\n2018;1510;2\n2013;1514;0\n2014;1514;0\n2015;1514;-5\n2016;1514;-7\n2017;1514;-3\n2018;1514;4\n2013;1516;4\n2014;1516;4\n2015;1516;2\n2016;1516;4\n2017;1516;4\n2013;1519;-5\n2014;1519;-1\n2015;1519;3\n2016;1519;3\n2017;1519;4\n2018;1519;4\n2013;1520;4\n2014;1520;4\n2015;1520;4\n2016;1520;4\n2017;1520;4\n2013;1524;0\n2014;1524;0\n2015;1524;0\n2016;1524;2\n2017;1524;4\n2018;1524;1\n2013;1528;-7\n2014;1528;-11\n2015;1528;4\n2016;1528;4\n2017;1528;4\n2013;1532;4\n2014;1532;4\n2015;1532;3\n2016;1532;3\n2017;1532;4\n2018;1532;4\n2013;1533;-4.5\n2014;1533;-6\n2015;1533;-6\n2016;1533;-2\n2017;1533;-7\n2018;1533;-3\n2013;1534;4\n2014;1534;4\n2015;1534;4\n2016;1534;4\n2017;1534;4\n2018;1534;4\n2013;1535;3\n2014;1535;4\n2015;1535;3\n2016;1535;2\n2017;1535;-6\n2018;1535;4\n2013;1716;0\n2014;1716;1.5\n2015;1716;1.5\n2016;1716;3\n2017;1716;4\n2018;1716;4\n2013;1242;-5\n2014;1242;-1\n2015;1242;4\n2016;1242;4\n2017;1242;4\n2018;1242;4\n2013;1536;4\n2014;1536;4\n2015;1536;4\n2016;1536;1\n2017;1536;3\n2018;1536;4\n2013;1545;4\n2014;1545;4\n2015;1545;0\n2016;1545;4\n2017;1545;4\n2018;1545;2\n2013;1547;4\n2014;1547;4\n2015;1547;4\n2016;1547;4\n2017;1547;4\n2018;1547;4\n2013;1549;4\n2014;1549;4\n2015;1549;4\n2016;1549;4\n2017;1549;0\n2018;1549;4\n2013;1551;4\n2014;1551;4\n2015;1551;4\n2016;1551;4\n2017;1551;4\n2013;1553;3\n2014;1553;4\n2015;1553;4\n2016;1553;4\n2013;1560;-7.5\n2014;1560;-7.5\n2015;1560;-3.5\n2016;1560;1.5\n2017;1560;3.5\n2018;1560;4\n2013;1562;4\n2014;1562;4\n2015;1562;4\n2016;1562;4\n2017;1562;4\n2018;1562;2\n2013;1563;3\n2014;1563;3\n2015;1563;1\n2016;1563;-6\n2017;1563;-2\n2018;1563;-6\n2013;1565;-8\n2014;1565;-8\n2015;1565;-8\n2016;1565;-8\n2017;1565;-6\n2018;1565;-7\n2013;1569;4\n2014;1569;4\n2015;1569;2\n2016;1569;4\n2017;1569;4\n2018;1569;2\n2013;1570;2\n2014;1570;1\n2015;1570;0\n2016;1570;4\n2017;1570;3\n2018;1570;2\n2013;1571;4\n2014;1571;4\n2015;1571;4\n2016;1571;4\n2017;1571;4\n2018;1571;4\n2013;1568;-2\n2014;1568;-5\n2015;1568;-1\n2016;1568;4\n2017;1568;2\n2018;1568;4\n2013;1573;4\n2014;1573;4\n2015;1573;4\n2016;1573;4\n2017;1573;4\n2018;1573;4\n2013;1684;0\n2014;1684;-5\n2015;1684;-6\n2016;1684;-2\n2017;1684;4\n2018;1684;4\n2014;1810;4\n2015;1810;0\n2016;1810;2\n2017;1810;4\n2018;1810;4\n2013;1736;4\n2014;1736;4\n2015;1736;4\n2016;1736;4\n2017;1736;4\n2018;1736;2\n2013;1575;4\n2014;1575;4\n2015;1575;4\n2016;1575;4\n2017;1575;3\n2018;1575;3\n2013;1578;4\n2014;1578;4\n2015;1578;4\n2016;1578;4\n2017;1578;4\n2018;1578;4\n2013;1579;1\n2014;1579;3\n2015;1579;-6\n2016;1579;-2\n2017;1579;0\n2018;1579;-8\n2013;1581;0\n2014;1581;-5\n2015;1581;-1\n2016;1581;4\n2017;1581;4\n2013;1584;-8\n2014;1584;-8\n2015;1584;-4\n2016;1584;-6\n2017;1584;-2\n2018;1584;-5\n2013;1587;0\n2014;1587;0.5\n2015;1587;4\n2016;1587;4\n2017;1587;4\n2018;1587;4\n2013;1585;3\n2014;1585;4\n2015;1585;4\n2016;1585;-8\n2017;1585;-5\n2018;1585;-8\n2013;1589;0\n2014;1589;0\n2015;1589;0\n2016;1589;0\n2017;1589;-5\n2018;1589;-1\n2013;1592;4\n2014;1592;4\n2015;1592;3.5\n2016;1592;3.5\n2017;1592;3.5\n2018;1592;3.5\n2017;1882;4\n2018;1882;4\n2013;1595;3\n2014;1595;-7.5\n2015;1595;-5.5\n2016;1595;-1.5\n2017;1595;-5.5\n2018;1595;4\n2013;1597;0\n2014;1597;4\n2015;1597;4\n2016;1597;4\n2017;1597;4\n2018;1597;4\n2013;1601;4\n2016;1598;4\n2017;1598;0\n2018;1598;4\n2013;1602;4\n2016;1602;0\n2017;1602;4\n2013;1539;4\n2014;1539;1\n2015;1539;-8\n2016;1539;-4\n2017;1539;-6\n2018;1539;4\n2015;1828;4\n2016;1828;4\n2017;1828;4\n2018;1828;4\n2013;1605;-6\n2014;1605;-1\n2015;1605;4\n2016;1605;4\n2017;1605;4\n2018;1605;-5\n2013;1546;2\n2014;1546;3\n2015;1546;3\n2016;1546;4\n2017;1546;4\n2018;1546;4\n2013;1608;-5\n2014;1608;-5\n2015;1608;4\n2013;1610;-1\n2014;1610;-5\n2015;1610;-1\n2016;1610;3\n2017;1610;4\n2018;1610;4\n2013;1334;-4.5\n2014;1334;-0.5\n2015;1334;0.5\n2016;1334;-6\n2017;1334;-2\n2018;1334;3\n2013;1521;0.5\n2014;1521;-4.5\n2013;1522;0.5\n2014;1522;0.5\n2015;1522;0.5\n2016;1522;0.5\n2017;1522;-4.5\n2018;1522;-5.5\n2013;1612;3\n2014;1612;4\n2015;1612;4\n2016;1612;4\n2017;1612;4\n2018;1612;4\n2013;1613;4\n2014;1613;0\n2015;1613;0\n2016;1613;4\n2017;1613;3\n2018;1613;1\n2013;1513;4\n2014;1513;3\n2015;1513;3\n2016;1513;0\n2017;1513;4\n2018;1513;2\n2013;1476;-4.5\n2014;1476;-6.5\n2015;1476;-4.5\n2016;1476;-8.5\n2017;1476;-6.5\n2018;1476;4\n2013;1615;0.5\n2014;1615;0.5\n2015;1615;0.5\n2016;1615;4\n2017;1615;-8\n2018;1615;-6\n2013;1616;4\n2013;1617;0.5\n2014;1617;0.5\n2015;1617;-7\n2016;1617;4\n2017;1617;4\n2013;1618;3\n2014;1618;-6\n2015;1618;0\n2016;1618;1\n2013;1620;4\n2014;1620;4\n2015;1620;4\n2016;1620;4\n2017;1620;2.5\n2018;1620;3.5\n2013;1621;4\n2014;1621;4\n2015;1621;4\n2016;1621;4\n2017;1621;4\n2018;1621;4\n2013;1622;1\n2014;1622;2\n2015;1622;2\n2016;1622;0\n2017;1622;1\n2018;1622;4\n2013;1623;4\n2014;1623;4\n2015;1623;4\n2016;1623;4\n2017;1623;4\n2018;1623;4\n2013;1624;0\n2014;1624;0\n2015;1624;2\n2016;1624;1\n2017;1624;1\n2018;1624;4\n2013;1625;3\n2014;1625;4\n2015;1625;-7\n2016;1625;-7\n2017;1625;-3\n2018;1625;0\n2013;1554;2.5\n2014;1554;1.5\n2015;1554;1.5\n2016;1554;4\n2017;1554;4\n2018;1554;2\n2013;1628;4\n2014;1628;4\n2015;1628;4\n2016;1628;3\n2017;1628;4\n2018;1628;-5\n2013;1567;-5\n2014;1567;-1\n2015;1567;-5\n2016;1567;4\n2017;1567;4\n2013;1629;1\n2014;1629;1.5\n2015;1629;1.5\n2016;1629;1.5\n2017;1629;1\n2018;1629;1\n2013;1422;3\n2014;1422;4\n2015;1422;3\n2016;1422;4\n2017;1422;4\n2018;1422;4\n2013;1632;4\n2014;1632;4\n2015;1632;4\n2016;1632;4\n2017;1632;4\n2013;1637;4\n2014;1637;4\n2015;1637;2\n2016;1637;4\n2017;1637;4\n2013;1633;2\n2014;1633;0\n2015;1633;0\n2016;1633;4\n2017;1633;4\n2018;1633;3\n2013;1638;4\n2014;1638;4\n2015;1638;4\n2016;1638;4\n2017;1638;4\n2018;1638;4\n2013;1634;4\n2014;1634;1\n2015;1634;2\n2016;1634;4\n2017;1634;4\n2018;1634;4\n2013;1440;1\n2014;1440;-6\n2015;1440;4\n2013;1639;3\n2014;1639;3\n2015;1639;4\n2016;1639;4\n2017;1639;4\n2018;1639;-5\n2013;1635;4\n2014;1635;4\n2015;1635;4\n2016;1635;4\n2017;1635;4\n2013;1468;0\n2014;1468;4\n2015;1468;4\n2016;1468;4\n2017;1468;4\n2018;1468;4\n2013;1572;0.5\n2014;1572;1.5\n2015;1572;2.5\n2016;1572;4\n2017;1572;4\n2018;1572;2\n2013;1640;2\n2014;1640;4\n2015;1640;4\n2016;1640;4\n2017;1640;4\n2018;1640;4\n2013;1788;4\n2014;1788;4\n2015;1788;0\n2016;1788;4\n2017;1788;4\n2018;1788;0\n2013;1643;4\n2014;1643;0\n2015;1643;2\n2016;1643;4\n2017;1643;4\n2018;1643;1\n2013;1644;0.5\n2014;1644;4\n2015;1644;4\n2016;1644;4\n2017;1644;4\n2013;1645;4\n2014;1645;4\n2015;1645;4\n2013;1577;4\n2013;1646;0\n2014;1646;3\n2015;1646;4\n2013;1648;4\n2014;1648;4\n2015;1648;4\n2016;1648;4\n2017;1648;4\n2018;1648;4\n2013;1171;-1\n2014;1171;-6\n2015;1171;-5\n2016;1171;-1\n2017;1171;2\n2018;1171;4\n2013;154;4\n2014;154;4\n2015;154;4\n2016;154;4\n2017;154;4\n2018;154;4\n2013;1649;4\n2014;1649;4\n2015;1649;2.5\n2016;1649;1.5\n2017;1649;1.5\n2018;1649;1.5\n2013;1713;0\n2014;1713;-5\n2015;1713;-6\n2016;1713;-2\n2017;1713;1\n2018;1713;2\n2013;1651;-7\n2014;1651;-5\n2013;1652;0\n2014;1652;4\n2015;1652;2\n2016;1652;4\n2017;1652;4\n2018;1652;4\n2013;1653;0\n2014;1653;3\n2015;1653;3\n2016;1653;3\n2017;1653;4\n2018;1653;4\n2013;1654;3.5\n2014;1654;2\n2015;1654;3\n2016;1654;4\n2017;1654;4\n2013;1658;4\n2014;1658;4\n2015;1658;4\n2016;1658;4\n2017;1658;4\n2018;1658;4\n2013;1659;4\n2014;1659;4\n2015;1659;4\n2016;1659;4\n2017;1659;4\n2018;1659;4\n2013;1660;4\n2014;1660;4\n2015;1660;2\n2016;1660;3\n2017;1660;4\n2013;1662;2\n2014;1662;4\n2015;1662;4\n2016;1662;4\n2017;1662;1\n2018;1662;2\n2013;1663;2\n2014;1663;3\n2015;1663;4\n2016;1663;4\n2017;1663;4\n2018;1663;4\n2013;1664;-1\n2014;1664;1\n2015;1664;3\n2016;1664;4\n2017;1664;4\n2018;1664;4\n2016;1;4\n2015;1665;4\n2016;1665;0\n2017;1665;4\n2018;1665;4\n2013;1667;4\n2014;1667;4\n2015;1667;3\n2016;1667;4\n2017;1667;4\n2018;1667;4\n2013;1666;4\n2014;1666;4\n2015;1666;4\n2016;1666;4\n2017;1666;4\n2018;1666;4\n2013;1669;4\n2014;1669;4\n2015;1669;3\n2016;1669;4\n2017;1669;4\n2018;1669;4\n2013;1614;0.5\n2014;1614;2\n2015;1614;2\n2016;1614;4\n2017;1614;4\n2018;1614;-4.5\n2013;1672;2\n2014;1672;3\n2015;1672;5\n2016;1672;4\n2017;1672;4\n2013;1671;-7\n2014;1671;-3\n2015;1671;4\n2013;1627;-0.5\n2014;1627;0\n2015;1627;-5\n2016;1627;-1\n2017;1627;4\n2018;1627;2\n2013;1600;3\n2014;1600;4\n2015;1600;4\n2016;1600;4\n2017;1600;4\n2018;1600;4\n2013;1674;4\n2014;1674;-6\n2015;1674;-5\n2016;1674;-1\n2017;1674;-5\n2018;1674;-1\n2013;1741;0\n2014;1741;4\n2015;1741;4\n2016;1741;4\n2017;1741;4\n2018;1741;1\n2013;1677;0\n2014;1677;0\n2015;1677;0\n2016;1677;1\n2017;1677;-6\n2013;1678;-4.5\n2014;1678;-0.5\n2015;1678;4\n2013;1679;0\n2014;1679;2\n2015;1679;4\n2016;1679;4\n2017;1679;4\n2013;1641;3.5\n2014;1641;4\n2015;1641;0\n2016;1641;3\n2017;1641;2\n2018;1641;4\n2013;1363;4\n2014;1363;4\n2015;1363;4\n2016;1363;4\n2017;1363;3\n2018;1363;4\n2013;1680;3\n2014;1680;4\n2015;1680;4\n2016;1680;4\n2017;1680;4\n2018;1680;4\n2013;1681;1\n2017;1681;0\n2018;1681;4\n2013;1682;4\n2014;1682;4\n2015;1682;4\n2016;1682;2\n2017;1682;2\n2018;1682;1\n2013;1683;-5\n2014;1683;-5\n2015;1683;-6\n2016;1683;-6\n2017;1683;-2\n2018;1683;0\n2013;1685;4\n2014;1685;4\n2015;1685;4\n2016;1685;4\n2017;1685;4\n2018;1685;4\n2013;1687;-7\n2014;1687;-9\n2015;1687;4\n2016;1687;4\n2017;1687;4\n2013;1688;1\n2014;1688;-6\n2015;1688;4\n2016;1688;4\n2017;1923;4\n2018;1923;0\n2013;1693;4\n2014;1693;4\n2015;1693;3\n2016;1693;4\n2017;1693;3\n2018;1693;4\n2013;1689;0\n2014;1689;0\n2015;1689;4\n2016;1689;4\n2017;1689;4\n2016;1690;4\n2017;1690;0\n2018;1690;4\n2013;1694;0\n2014;1694;-5\n2015;1694;-5\n2016;1694;-1\n2017;1694;4\n2013;1692;-1\n2014;1692;-5.5\n2015;1692;-1.5\n2016;1692;2.5\n2017;1692;2\n2018;1692;3\n2013;1745;4\n2014;1745;3\n2015;1745;2\n2016;1745;1\n2017;1745;1\n2018;1745;4\n2013;1698;4\n2014;1698;4\n2015;1698;4\n2016;1698;4\n2017;1698;4\n2018;1698;1\n2013;1696;4\n2014;1696;4\n2015;1696;4\n2016;1696;4\n2017;1696;4\n2018;1696;4\n2013;1699;4\n2014;1699;4\n2015;1699;4\n2016;1699;4\n2017;1699;4\n2018;1699;4\n2016;1857;4\n2017;1857;0\n2018;1857;-8\n2013;1700;3\n2014;1700;4\n2015;1700;2\n2016;1700;3\n2017;1700;4\n2018;1700;1\n2013;1701;3\n2014;1701;4\n2015;1701;4\n2016;1701;4\n2017;1701;1\n2018;1701;1\n2013;1785;4\n2014;1785;0\n2015;1785;1\n2016;1785;2\n2017;1785;3.5\n2018;1785;-4.5\n2013;1722;4\n2014;1722;4\n2015;1722;4\n2016;1722;-5\n2017;1722;-1\n2018;1722;0\n2013;1703;3.5\n2014;1703;2.5\n2015;1703;0.5\n2016;1703;1.5\n2017;1703;1.5\n2018;1703;3.5\n2013;1704;-7\n2014;1704;-6\n2015;1704;-7\n2016;1704;-6\n2017;1704;4\n2013;1740;4\n2014;1740;2\n2015;1740;1\n2016;1740;4\n2017;1740;3\n2018;1740;1\n2013;1705;-4.5\n2014;1705;-0.5\n2015;1705;1\n2016;1705;1\n2017;1705;-7\n2018;1705;4\n2013;1793;4\n2014;1793;4\n2015;1793;4\n2016;1793;4\n2017;1793;4\n2018;1793;0\n2013;1707;0\n2014;1707;-4.5\n2015;1707;4\n2013;1706;4\n2014;1706;4\n2015;1706;4\n2016;1706;3\n2017;1706;4\n2018;1706;4\n2015;1813;0\n2016;1813;3\n2017;1813;3\n2018;1813;1\n2013;1710;0\n2014;1710;4\n2015;1710;4\n2016;1710;4\n2017;1710;4\n2018;1710;4\n2013;1709;4\n2014;1709;4\n2015;1709;4\n2016;1709;4\n2017;1709;4\n2018;1709;4\n2016;1711;4\n2017;1711;0\n2018;1711;4\n2013;1712;0\n2014;1712;-5\n2015;1712;-1\n2016;1712;3\n2017;1712;0\n2018;1712;0\n2013;257;4\n2014;257;4\n2015;257;4\n2016;257;4\n2017;257;4\n2018;257;2\n2013;1714;2\n2014;1714;4\n2015;1714;1\n2016;1714;-5\n2017;1714;4\n2013;1715;4\n2014;1715;-4.5\n2015;1715;4\n2016;1715;4\n2017;1715;4\n2013;1752;4\n2014;1752;2\n2015;1752;1\n2016;1752;4\n2017;1752;4\n2018;1752;4\n2013;1717;2\n2014;1717;4\n2015;1717;4\n2016;1717;1\n2017;1717;-6\n2018;1717;4\n2013;1718;0\n2014;1718;2.5\n2015;1718;3.5\n2016;1718;4\n2017;1718;0\n2018;1718;1\n2013;1720;4\n2014;1720;4\n2015;1720;0\n2016;1720;0\n2017;1720;2\n2018;1720;4\n2013;1763;4\n2014;1763;2\n2015;1763;3\n2016;1763;4\n2017;1763;0\n2018;1763;4\n2013;1721;0\n2014;1721;4\n2015;1721;4\n2016;1721;4\n2017;1721;4\n2013;1724;4\n2014;1724;4\n2015;1724;0\n2016;1724;4\n2017;1724;4\n2018;1724;4\n2013;1725;2\n2014;1725;4\n2015;1725;4\n2016;1725;4\n2017;1725;4\n2018;1725;4\n2013;1726;0\n2013;1727;1\n2014;1727;2\n2015;1727;4\n2016;1727;3\n2017;1727;4\n2018;1727;4\n2013;1729;2\n2014;1729;4\n2015;1729;4\n2016;1729;4\n2017;1729;4\n2018;1729;0\n2015;1730;4\n2016;1730;3\n2017;1730;4\n2018;1730;1\n2013;1732;4\n2014;1732;4\n2015;1732;4\n2016;1732;4\n2017;1732;4\n2018;1732;4\n2013;1733;4\n2014;1733;4\n2015;1733;4\n2016;1733;4\n2017;1733;4\n2018;1733;2\n2013;1607;4\n2014;1607;4\n2015;1607;4\n2016;1607;2\n2017;1607;1\n2018;1607;4\n2013;1737;4\n2014;1737;4\n2015;1737;4\n2016;1737;4\n2017;1737;4\n2018;1737;4\n2016;1840;0\n2017;1840;0\n2018;1840;4\n2015;1739;4\n2016;1739;0\n2017;1739;1.5\n2018;1739;4\n2013;1738;4\n2014;1738;4\n2015;1738;1\n2016;1738;4\n2017;1738;0\n2018;1738;4\n2014;1811;4\n2015;1811;0\n2016;1811;4\n2017;1811;4\n2018;1811;4\n2013;1742;0\n2014;1742;4\n2015;1742;4\n2013;1743;0\n2014;1743;-5\n2015;1743;-9\n2016;1743;-13\n2017;1743;4\n2013;1744;0\n2014;1744;4\n2015;1744;3\n2016;1744;4\n2017;1744;4\n2018;1744;4\n2013;1747;4\n2014;1747;3\n2015;1747;-5\n2016;1747;-6\n2017;1747;-7\n2018;1747;-7\n2015;1749;4\n2016;1749;4\n2017;1749;0\n2018;1749;4\n2017;1750;4\n2018;1750;-5\n2013;1754;0\n2014;1754;2\n2015;1754;4\n2016;1754;4\n2017;1754;4\n2018;1754;2\n2013;1753;4\n2014;1753;0\n2015;1753;1\n2016;1753;2\n2017;1753;1\n2018;1753;4\n2013;1755;4\n2014;1755;4\n2015;1755;3\n2016;1755;4\n2017;1755;4\n2013;1756;4\n2014;1756;0\n2015;1756;4\n2016;1756;4\n2013;1757;4\n2014;1757;0\n2015;1757;4\n2016;1757;4\n2017;1757;-6\n2018;1757;4\n2013;1758;4\n2014;1758;0\n2015;1758;4\n2017;1892;4\n2018;1892;0\n2015;1761;0\n2016;1761;4\n2017;1761;4\n2018;1761;4\n2017;1759;4\n2018;1759;4\n2013;1762;4\n2014;1762;0\n2015;1762;2\n2016;1762;4\n2017;1762;4\n2018;1762;0\n2013;1765;4\n2014;1765;-8\n2015;1765;4\n2016;1765;4\n2017;1765;4\n2013;1766;4\n2014;1766;4\n2015;1766;0\n2016;1766;2\n2017;1766;2\n2018;1766;4\n2013;1764;4\n2014;1764;4\n2015;1764;4\n2013;1768;4\n2014;1768;0\n2015;1768;2\n2016;1768;1\n2017;1768;4\n2018;1768;4\n2013;1773;4\n2014;1773;4\n2015;1773;2\n2016;1773;4\n2017;1773;4\n2018;1773;4\n2015;1772;4\n2016;1772;4\n2017;1772;4\n2018;1772;4\n2015;1771;4\n2016;1771;-7\n2017;1771;-3\n2018;1771;4\n2013;1675;4\n2014;1675;0\n2015;1675;0\n2016;1675;0\n2017;1675;3\n2018;1675;1\n2013;1691;4\n2014;1691;0\n2015;1691;1\n2016;1691;4\n2017;1691;4\n2018;1691;1\n2013;1775;4\n2014;1775;0\n2015;1775;4\n2016;1775;4\n2017;1775;4\n2013;1777;4\n2014;1777;-6\n2015;1777;-6\n2016;1777;-2\n2017;1777;0\n2018;1777;1\n2013;1778;4\n2014;1778;0\n2015;1778;0\n2016;1778;0\n2017;1778;3\n2018;1778;4\n2014;1779;4\n2015;1779;4\n2016;1779;4\n2017;1779;1\n2018;1779;2\n2016;1780;4\n2017;1780;0\n2018;1780;-6\n2016;1781;4\n2017;1781;4\n2018;1781;4\n2013;1783;4\n2014;1783;4\n2015;1783;2\n2016;1783;2.5\n2017;1783;4\n2018;1783;0\n2014;1784;4\n2015;1784;4\n2016;1784;1\n2017;1784;4\n2018;1784;4\n2013;1786;4\n2014;1786;-7\n2015;1786;-8\n2016;1786;-10\n2017;1786;-9\n2018;1786;4\n2013;1787;4\n2014;1787;4\n2015;1787;0\n2016;1787;4\n2017;1787;4\n2018;1787;4\n2013;1789;4\n2014;1789;4\n2015;1789;0\n2016;1789;4\n2017;1789;4\n2013;1791;4\n2014;1791;0\n2015;1791;0\n2016;1791;2.5\n2017;1791;4\n2018;1791;4\n2013;1790;4\n2014;1790;4\n2015;1790;0\n2016;1790;2\n2017;1790;4\n2018;1790;4\n2013;1792;4\n2014;1792;-6\n2015;1792;-5\n2016;1792;-1\n2017;1792;0\n2018;1792;4\n2017;1794;-6\n2018;1794;-2\n2016;1795;4\n2017;1795;4\n2015;1796;4\n2016;1796;0\n2017;1796;2.5\n2018;1796;2.5\n2013;1797;4\n2014;1797;4\n2015;1797;0\n2016;1797;4\n2017;1797;-8\n2018;1797;-4\n2017;1799;4\n2018;1799;0\n2016;1798;4\n2017;1798;0\n2018;1798;2\n2014;1801;4\n2015;1801;0\n2016;1801;1\n2017;1801;4\n2018;1801;4\n2015;1802;4\n2016;1802;0\n2017;1802;4\n2018;1802;4\n2016;1803;4\n2017;1803;-5\n2018;1803;-1\n2017;1804;0\n2018;1804;3\n2016;1806;4\n2017;1806;0\n2018;1806;-7\n2014;1805;4\n2015;1805;4\n2016;1805;4\n2014;1808;4\n2015;1808;4\n2016;1808;0\n2014;1809;4\n2015;1809;4\n2016;1809;4\n2016;1812;0\n2017;1812;4\n2018;1812;0\n2017;1815;0\n2018;1815;3\n2017;1814;0\n2018;1814;1\n2015;1816;-5\n2016;1816;-1\n2017;1816;0.5\n2018;1816;2\n2015;1818;4\n2016;1818;0\n2017;1818;4\n2018;1818;4\n2015;1819;4\n2016;1819;2\n2017;1819;3\n2018;1819;3\n2015;1820;4\n2016;1820;0\n2017;1820;1\n2018;1820;0\n2017;1873;4\n2018;1873;0\n2016;1821;4\n2017;1821;0\n2018;1821;1\n2015;1822;4\n2016;1822;4\n2017;1822;4\n2018;1822;4\n2015;1823;4\n2016;1823;2\n2017;1823;4\n2018;1823;4\n2017;1824;4\n2018;1824;4\n2015;1825;4\n2016;1825;-7\n2017;1825;-5\n2018;1825;4\n2015;1826;4\n2016;1826;-6\n2017;1826;-2\n2018;1826;1\n2015;1827;4\n2016;1827;3\n2017;1827;4\n2018;1827;4\n2017;1830;4\n2018;1830;4\n2015;878;4\n2016;878;0\n2017;878;4\n2018;878;0\n2016;1836;4\n2016;1859;4\n2017;1859;4\n2018;1859;4\n2016;1837;4\n2017;1837;0\n2018;1837;2\n2015;1838;4\n2016;1838;0\n2017;1838;1\n2018;1838;0\n2016;1839;0\n2017;1839;1\n2018;1839;4\n2016;1841;0\n2017;1841;4\n2018;1841;0\n2016;1842;0\n2017;1842;0\n2018;1842;0\n2016;1847;-6\n2017;1847;-2\n2018;1847;0\n2016;1848;2\n2016;1849;4\n2016;1850;4\n2017;1850;2\n2018;1850;4\n2016;1853;0\n2017;1853;1\n2018;1853;-5\n2016;1854;4\n2017;1854;2\n2018;1854;2\n2016;1856;4\n2017;1856;0\n2018;1856;-5\n2016;1855;4\n2017;1855;-6\n2018;1855;4\n2016;1858;4\n2017;1858;4\n2018;1858;4\n2016;1860;4\n2017;1860;4\n2018;1860;4\n2016;1861;4\n2017;1861;0\n2018;1861;4\n2016;1862;4\n2017;1862;0\n2018;1862;4\n2016;1863;4\n2017;1863;0.5\n2018;1863;1.5\n2016;1865;4\n2017;1865;4\n2018;1865;2\n2017;1867;4\n2018;1867;0\n2016;1868;4\n2017;1868;0\n2018;1868;4\n2016;1869;4\n2017;1869;1\n2018;1869;0\n2017;1871;4\n2018;1871;3\n2017;1872;4\n2018;1872;4\n2017;1874;0\n2018;1874;4\n2017;1877;0\n2018;1877;4\n2017;1878;4\n2018;1878;4\n2017;1883;0\n2018;1883;2\n2017;1885;4\n2018;1885;0\n2017;1887;4\n2018;1887;0\n2017;1888;4\n2018;1888;4\n2017;1889;4\n2018;1889;0\n2017;1891;4\n2018;1891;0\n2017;1893;4\n2017;1895;4\n2018;1895;4\n2017;1897;4\n2017;1896;4\n2018;1896;4\n2017;1898;4\n2018;1898;4\n2017;1899;4\n2017;1912;4\n2017;1911;4\n2018;1911;0\n2017;1914;4\n2018;1914;4\n2017;1917;4\n2018;1917;4\n2017;1919;4\n2018;1919;4\n2017;1924;4\n2018;1924;4\n2017;1929;4\n2017;1930;4\n2017;1940;4\n2017;1939;4\n2017;1932;4\n2017;1936;4\n2017;1941;4\n2017;1934;4\n2017;1935;4\n2017;1937;4\n2017;1933;4\n2017;1942;4\n2017;1938;4\n2017;1943;4\n2019;580;4\n2019;628;4\n2019;720;4\n2019;935;4\n2019;954;4\n2019;1003;4\n2019;1005;4\n2019;1040;4\n2019;1048;4\n2019;1063;4\n2019;1084;4\n2019;1096;4\n2019;1175;4\n2019;1210;4\n2019;1253;4\n2019;1276;4\n2019;1467;4\n2019;1498;4\n2019;1499;4\n2019;1242;4\n2019;1828;4\n2019;1554;4\n2019;1468;4\n2019;1653;4\n2019;1614;4\n2019;1641;4\n2019;1363;4\n2019;1745;4\n2019;1698;4\n2019;1740;4\n2019;1752;4\n2019;1763;4\n2019;1790;4\n2019;1820;4\n2019;1826;4\n2019;1863;4\n2019;1893;4\n2019;1897;4\n2019;1941;4\n2019;1942;4\n2019;80;4\n2019;112;4\n2019;209;4\n2019;273;4\n2019;286;4\n2019;293;4\n2019;485;4\n2019;631;4\n2019;721;4\n2019;751;4\n2019;756;4\n2019;788;4\n2019;812;4\n2019;848;4\n2019;899;4\n2019;927;4\n2019;938;4\n2019;949;4\n2019;957;4\n2019;984;4\n2019;1079;4\n2019;1100;4\n2019;1123;4\n2019;1141;4\n2019;1258;4\n2019;1266;4\n2019;1274;4\n2019;1283;4\n2019;1299;4\n2019;1321;4\n2019;1697;4\n2019;205;4\n2019;1359;4\n2019;1358;4\n2019;1357;4\n2019;1746;4\n2019;1387;4\n2019;1383;4\n2019;1380;4\n2019;1543;4\n2019;1425;4\n2019;1428;4\n2019;1529;4\n2019;1455;4\n2019;1350;4\n2019;1507;4\n2019;1532;4\n2019;1534;4\n2019;1536;4\n2019;1545;4\n2019;1547;4\n2019;1563;4\n2019;1571;4\n2019;1684;4\n2019;1736;4\n2019;1578;4\n2019;1579;4\n2019;1612;4\n2019;1615;4\n2019;1623;4\n2019;1625;4\n2019;1628;4\n2019;1629;4\n2019;1422;4\n2019;1633;4\n2019;1648;4\n2019;154;4\n2019;1649;4\n2019;1652;4\n2019;1667;4\n2019;1666;4\n2019;1627;4\n2019;1674;4\n2019;1682;4\n2019;1683;4\n2019;1685;4\n2019;1693;4\n2019;1696;4\n2019;1701;4\n2019;1703;4\n2019;1706;4\n2019;1712;4\n2019;1727;4\n2019;1732;4\n2019;1733;4\n2019;1737;4\n2019;1739;4\n2019;1747;4\n2019;1749;4\n2019;1761;4\n2019;1778;4\n2019;1787;4\n2019;1799;4\n2019;1798;4\n2019;1804;4\n2019;1815;4\n2019;1814;4\n2019;1873;4\n2019;1823;4\n2019;1850;4\n2019;1854;4\n2019;1856;4\n2019;1888;4\n2019;1891;4\n2019;1895;4\n2019;1896;4\n2019;1917;4\n2019;1919;4\n2019;1924;4\n2019;1930;4\n2019;1932;4\n2019;1938;4\n2019;869;4\n2019;76;4\n2019;137;4\n2019;178;4\n2019;185;4\n2019;189;4\n2019;190;4\n2019;230;4\n2019;265;4\n2019;271;4\n2019;292;4\n2019;398;4\n2019;570;4\n2019;606;4\n2019;743;4\n2019;821;4\n2019;887;4\n2019;924;4\n2019;929;4\n2019;1150;4\n2019;1179;4\n2019;1288;4\n2019;1254;4\n2019;1255;4\n2019;1432;4\n2019;1464;4\n2019;1556;4\n2019;1503;4\n2019;1512;4\n2019;1585;4\n2019;1572;4\n2019;1171;4\n2019;1663;4\n2019;1600;4\n2019;1690;4\n2019;1692;4\n2019;1700;4\n2019;1813;4\n2019;257;4\n2019;1718;4\n2019;1811;4\n2019;1759;4\n2019;1780;4\n2019;1796;4\n2019;1803;4\n2019;1824;4\n2019;1859;4\n2019;1841;4\n2019;1858;4\n2019;1867;4\n2019;1868;4\n2019;1874;4\n2019;1889;4\n2019;1899;4\n2019;1912;4\n2019;1934;4\n2019;1935;4\n2019;1933;4\n2019;1943;4\n2019;1945;4\n2019;34;4\n2019;38;4\n2019;49;4\n2019;113;4\n2019;155;4\n2019;226;4\n2019;245;4\n2019;266;4\n2019;421;4\n2019;489;4\n2019;525;4\n2019;633;4\n2019;643;4\n2019;685;4\n2019;1728;4\n2019;714;4\n2019;726;4\n2019;729;4\n2019;757;4\n2019;778;4\n2019;799;4\n2019;893;4\n2019;921;4\n2019;926;4\n2019;963;4\n2019;967;4\n2019;1035;4\n2019;1055;4\n2019;1143;4\n2019;1156;4\n2019;1495;4\n2019;1716;4\n2019;1549;4\n2019;1569;4\n2019;1570;4\n2019;1610;4\n2019;1613;4\n2019;1620;4\n2019;1634;4\n2019;1643;4\n2019;1713;4\n2019;1659;4\n2019;1665;4\n2019;1669;4\n2019;1741;4\n2019;1680;4\n2019;1681;4\n2019;1923;4\n2019;1699;4\n2019;1857;4\n2019;1709;4\n2019;1730;4\n2019;1762;4\n2019;1772;4\n2019;1675;4\n2019;1691;4\n2019;1794;4\n2019;1842;4\n2019;1860;4\n2019;1877;4\n2019;1885;4\n2019;1939;4\n2019;1937;4\n2019;1949;4\n2019;1948;4\n2019;47;4\n2019;114;4\n2019;191;4\n2019;301;4\n2019;342;4\n2019;355;4\n2019;413;4\n2019;433;4\n2019;516;4\n2019;551;4\n2019;569;4\n2019;648;4\n2019;664;4\n2019;696;4\n2019;769;4\n2019;807;4\n2019;811;4\n2019;820;4\n2019;871;4\n2019;872;4\n2019;885;4\n2019;982;4\n2019;1011;4\n2019;1030;4\n2019;1158;4\n2019;1218;4\n2019;336;4\n2019;349;4\n2019;396;4\n2019;451;4\n2019;456;4\n2019;533;4\n2019;564;4\n2019;577;4\n2019;660;4\n2019;723;4\n2019;727;4\n2019;853;4\n2019;861;4\n2019;866;4\n2019;875;4\n2019;919;4\n2019;953;4\n2019;961;4\n2019;985;4\n2019;1062;4\n2019;1148;4\n2019;1161;4\n2019;1178;4\n2019;1195;4\n2019;1205;4\n2019;1213;4\n2019;1219;4\n2019;1256;4\n2019;1267;4\n2019;1352;4\n2019;1278;4\n2019;1407;4\n2019;1418;4\n2019;1433;4\n2019;1457;4\n2019;1459;4\n2019;1471;4\n2019;1203;4\n2019;1500;4\n2019;1510;4\n2019;1533;4\n2019;1562;4\n2019;1565;4\n2019;1589;4\n2019;1513;4\n2019;1621;4\n2019;1638;4\n2019;1639;4\n2019;1640;4\n2019;1658;4\n2019;1722;4\n2019;1729;4\n2019;1892;4\n2019;1781;4\n2019;1812;4\n2019;1821;4\n2019;1838;4\n2019;1853;4\n2019;1865;4\n2019;1878;4\n2019;1883;4\n2019;1936;4\n2017;1915;4\n2017;1918;4\n2017;869;4\n2017;1955;4\n2017;1945;4\n2017;1949;4\n2017;1948;4\n2017;1158;4\n2017;1926;4\n2017;1894;4\n2017;1953;4\n2017;1954;4\n2019;1239;4\n2019;1259;4\n2019;1260;4\n2019;1308;4\n2019;1325;4\n2019;1362;4\n2019;1395;4\n2019;1541;4\n2019;1435;4\n2019;1445;4\n2019;1465;4\n2019;1466;4\n2019;1807;4\n2019;1487;4\n2019;1509;4\n2019;1810;4\n2019;1584;4\n2019;1597;4\n2019;1598;4\n2019;1605;4\n2019;1788;4\n2019;1711;4\n2019;1720;4\n2019;1724;4\n2019;1750;4\n2019;1773;4\n2019;1777;4\n2019;1779;4\n2019;1816;4\n2019;1827;4\n2019;1830;4\n2019;878;4\n2019;1837;4\n2019;1871;4\n2019;1872;4\n2019;1887;4\n2019;1926;4\n2019;1929;4\n2019;1940;4\n2019;22;4\n2019;63;4\n2019;85;4\n2019;157;4\n2019;180;4\n2019;203;4\n2019;220;4\n2019;228;4\n2019;316;4\n2019;325;4\n2019;363;4\n2019;395;4\n2019;600;4\n2019;669;4\n2019;843;4\n2019;847;4\n2019;876;4\n2019;928;4\n2019;932;4\n2019;956;4\n2019;1001;4\n2019;1002;4\n2019;1086;4\n2019;1293;4\n2019;1316;4\n2019;1317;4\n2019;1329;4\n2019;1431;4\n2019;1436;4\n2019;1524;4\n2019;1575;4\n2019;1622;4\n2019;1725;4\n2019;1784;4\n2019;1791;4\n2019;1797;4\n2019;1801;4\n2019;1869;4\n2019;1894;4\n2019;1911;4\n2019;1914;4\n2019;1953;4\n2019;4;4\n2019;42;4\n2019;45;4\n2019;111;4\n2019;140;4\n2019;287;4\n2019;322;4\n'; - -logAdd(log); - -$csv = $csvfile_par_startsurplus_als_csv; -$testrun = false; -$jaar = 2013; -$norm = 4; - -ifThenElse($csv == '', - logAdd(log, 'error', 'Geen CSV bestand ingelezen, kies er één.'); - , - logAdd(log, 'warning', 'CSV Bestand ingelezen, uitvoeren inlezen startsurplus.'); - - $idx1 = string\pos($csv, ','); - $idx2 = string\pos($csv, ';'); - - $comma="@$@#@@"; - ifThenElse($idx1, - ifThenElse($idx2, - ifThenElse($idx1 < $idx2, $comma=',', $comma=';'); - , - $comma=','; - ); - , - ifThen($idx2, - $comma=';'; - ); - ); - - $re_entries = string\concatenate('/["][^"]*["]|[^', $comma, ']+/'); - - $user_id = env\userAttribute('id'); - logAdd(log, 'info', 'User id: ', $user_id); - - logAdd(log, 'info', "Gevonden comma-separator: '", $comma, "' - positie ','=", $idx1, ", positie ';'=", $idx2 ); - - ifThenElse($testrun, - logAdd(log, 'warning', 'Testrun - er worden geen startsurplus ingesteld.'); - , - logAdd(log, 'warning', 'Er worden startsurplus ingesteld'); - ); - - // Split in lines - - $rows=list(); - $line=''; - $csv = string\concatenate(string\trim($csv), '\n'); - $idx = string\pos($csv, '\n'); - $data = list(); - $n_data = 2; - $heading = true; - - while($idx, - $line = string\substring($csv, 0, $idx); - $csv = string\substring($csv, $idx + 1); - - $entries = string\matchAll($line, $re_entries); - - $k = array\length($entries); - ifThen($k < $n_data, $entries = array\push($entries, '')); - $k = array\length($entries); - ifThenElse($k < $n_data, - logAdd(log, 'error', 'Minder dan ', $n_data, ' cellen op deze rij, niet te herkennen'); - logAdd(log, 'error', $line); - , - $row = list(); - $j = 0; - while($j < $k, - $entry = array\at($entries, $j); - $row = array\push($row, $entry); - $j = $j + 1; - ); - ifThenElse($heading, - $heading = false; - , - $rows = array\push($rows, $row); - ); - ); - - $idx = string\pos($csv, '\n'); - ); - - $n = array\length($rows); - logAdd(log, 'warning', $n, ' - rijen ingelezen'); - - - $i = 0; - while($i < $n, - $row = array\at($rows, $i); - $jr = toInt(array\at($row, 0)); - $lidnummer = toString(array\at($row, 1)); - $prefix = ''; - ifThen($lidnummer < 1000, $prefix = '0'); - ifThen($lidnummer < 100, $prefix = '00'); - ifThen($lidnummer < 10, $prefix = '000'); - $lidnummer = string\concatenate($prefix, toString($lidnummer)); - - $startsurplus = toDouble(array\at($row, 2)); - ifThenElse($jaar == $jr, - logAdd(log, 'info', 'instellen startsurplus voor lidnummer ', $lidnummer, ' startSurplus = ', $startsurplus); - - $contact_id = record\findOne('Contact', 'name', 'asc', 'lidnummer=', $lidnummer); - ifThenElse($contact_id, - $tot_id = record\findOne('Nascholingstotaal', 'name', 'asc', 'contactId=', $contact_id, 'jaar=', $jaar); - ifThenElse($tot_id, - $descr = string\concatenate('Het dagensaldo vanuit 2012 is ingesteld op ', $startsurplus, '.\n'); - ifThen($startsurplus > $norm, - strAdd($descr, - 'Dit is meer dan de norm (', $norm, ').\n', - 'Er worden maximaal ', $norm, ' dagen meegenomen in de berekening.' - ); - ); - record\update('Nascholingstotaal', $tot_id, 'startSurplus', $startsurplus, 'description', $descr); - logAdd(log, 'info', 'lidnummer = ', $lidnummer, ' startsurplus voor ', $jaar, ' = ', $startsurplus); - , - logAdd(log, 'warning', 'Geen nascholingstotaal gevonden voor lid ', $lidnummer, ', jaar=', $jaar); - ); - - , - logAdd(log, 'warning', 'Geen contact id gevonden voor lidnummer ', $lidnummer); - ); - , - logAdd(log, 'info', 'jaar <> ', $jaar, ' sla over'); - ); - $i = $i + 1; - ); -); diff --git a/code-current/scripts/test_nascholingen.descr b/code-current/scripts/test_nascholingen.descr deleted file mode 100644 index ac8f92d..0000000 --- a/code-current/scripts/test_nascholingen.descr +++ /dev/null @@ -1 +0,0 @@ -Dit is een test voor het nascholingen dashboard \ No newline at end of file diff --git a/code-current/scripts/test_nascholingen.id b/code-current/scripts/test_nascholingen.id deleted file mode 100644 index b4a5226..0000000 --- a/code-current/scripts/test_nascholingen.id +++ /dev/null @@ -1 +0,0 @@ -639c7a7919c9148df \ No newline at end of file diff --git a/code-current/scripts/test_nascholingen.js b/code-current/scripts/test_nascholingen.js deleted file mode 100644 index 69860e3..0000000 --- a/code-current/scripts/test_nascholingen.js +++ /dev/null @@ -1,139 +0,0 @@ -// last execution: Thu Sep 21 2023 13:14:37 GMT+0200 (Midden-Europese zomertijd) - -$contact_ids = Record\FindMany('Contact', 'lidnummer', 'asc', 'lidnummer=', 1649); -//$contact_ids = array\push($contact_ids, array\at($monique, 0)); -//$hans = Record\FindMany('Contact', 'lidnummer', 'asc', 'lidnummer=', 1935); -//$contact_ids = array\push($contact_ids, array\at($hans, 0)); - -$grens_jaar = configGet('berekening-methode-1-tot-en-met'); - -$n = array\length($contact_ids); -$i = 0; - -logAdd(log); -logAdd(log, 'hi!'); -logAdd(log, 'info', 'Contacts found: ', $n); - -while($i < $n, - $contact_id = array\at($contact_ids, $i); - $contact = Entity\Get('Contact', $contact_id); - $i = $i + 1; - - $in_calc_key = string\concatenate('nascholingstotalen-in-berekening-voor', $contact_id); - global\set('nascholingstotalen-niet-herberekenen', true); - global\set($in_calc_key, true); - - $totalen = Entity\GetRelated($contact, 'nascholingstotalen', 10000, 'jaar', 'desc'); - $m = array\length($totalen); - $j = 0; - logAdd(log, 'info', 'Contact :', attr($contact, 'name'), ', nascholingstotalen: ', $m); - - $z = 2; - while($j < $m, - $bepaald = 'Definitief resultaat'; - ifThen($z > 0, - $bepaald = 'Voorlopig resultaat'; - ); - $z = $z - 1; - $totaal = array\at($totalen, $j); - $jaar = attr($totaal, 'jaar'); - - $hom = attr($totaal, 'dagenHomeopathie'); - $med = attr($totaal, 'dagenMedisch'); - $dag = attr($totaal, 'dagen'); - $homsaldo = attr($totaal, 'homeopathieSaldo'); - $medsaldo = attr($totaal, 'medischSaldo'); - $homsurpl = attr($totaal, 'surplusHomeopathie'); - $medsurpl = attr($totaal, 'surplusMedisch'); - $dagsaldo = attr($totaal, 'dagenSaldo'); - $dagsurpl = attr($totaal, 'surplus'); - - logAdd(log, 'info', 'jaar:', attr($totaal, 'jaar'), ': hom=', $hom, ', med=', $med, ', homsaldo=', $homsaldo, ', medsaldo=', $medsaldo, ', homsurplus=', $homsurpl, ', medsurplus=', $medsurpl); - - $homk = toInt($homsurpl * 1000); - $homi = toInt($homsurpl) * 1000; - ifThenElse($homk == $homi, $hompos = 0, $hompos = 1); - - $medk = toInt($medsurpl * 1000); - $medi = toInt($medsurpl) * 1000; - ifThenElse($medk == $medi, $medpos = 0, $medpos = 1); - - $dagk = toInt($dagsurpl * 1000); - $dagi = toInt($dagsurpl) * 1000; - ifThenElse($dagk == $dagi, $dagpos = 0, $dagpos = 1); - - ifThenElse($homsurpl >= 0, - ifThenElse($homsurpl == 0.0, - $hom_dashb = "Homeopathie voldoende" - , - ifThenElse($homsurpl == 1.0, $dg = "dag", $dg = "dagen"); - $homsurpl = number\format($homsurpl, $hompos); - $hom_dashb = string\concatenate("Homeopathie surplus: ", $homsurpl, " ", $dg); - ); - $hom_span = "goed"; - , - ifThenElse($homsurpl == -1.0, $dg = "dag", $dg = "dagen"); - $homsurpl = number\format(-1 * $homsurpl, $hompos); - $hom_dashb = string\concatenate("Homeopathie tekort: ", $homsurpl, " ", $dg); - $hom_span = "tekort"; - ); - - ifThenElse($jaar > $grens_jaar, - ifThenElse($medsurpl >= 0, - ifThenElse($medsurpl == 0.0, - $med_dashb = "Medisch voldoende" - , - ifThenElse($medsurpl == 1.0, $dg = "dag"; $pos = 0, $dg = "dagen"; $pos = 1); - $medsurpl = number\format($medsurpl, $medpos); - $med_dashb = string\concatenate("Medisch surplus: ", $medsurpl, " ", $dg); - ); - $med_span = "goed"; - , - ifThenElse($medsurpl == -1.0, $dg = "dag", $dg = "dagen"); - $medsurpl = number\format(-1 * $medsurpl, $medpos); - $med_dashb = string\concatenate("Medisch tekort: ", $medsurpl, " ", $dg); - $med_span = "tekort"; - ); - , - $med_dashb = ""; - $med_span = "nvt"; - ); - - ifThenElse($dagsurpl >= 0, - $dag_dashb = "Totaal voldoende"; - ifThenElse($dagsurpl == 0.0, - $dag_dashb = "Totaal voldoende" - , - ifThenElse($dagsurpl == 1.0, $dg = "dag", $dg = "dagen"); - $dagsurpl = number\format($dagsurpl, $dagpos); - $dag_dashb = string\concatenate("Totaal surplus: ", $dagsurpl, " ", $dg); - ); - $dag_span = "goed"; - , - ifThenElse($dagsurpl == -1.0, $dg = "dag", $dg = "dagen"); - $dagsurpl = number\format(-1 * $dagsurpl, $dagpos); - $dag_dashb = string\concatenate("Totaal tekort: ", $dagsurpl, " ", $dg); - $dag_span = "tekort"; - ); - - $hom_html = string\concatenate('', $hom_dashb, ''); - $med_html = string\concatenate('', $med_dashb, ''); - $dag_html = string\concatenate('', $dag_dashb, ''); - - setAttr($totaal, 'dashboard', - string\concatenate( - $bepaald, - $hom_html, - $med_html, - $dag_html - ) - ); - Entity\Save($totaal); - - $j = $j + 1; - ); - - global\unset('nascholingstotalen-niet-herberekenen'); - global\unset($in_calc_key); - -); diff --git a/code-current/scripts/vsitatietijdstip vullen uit visitatiedatum.descr b/code-current/scripts/vsitatietijdstip vullen uit visitatiedatum.descr deleted file mode 100644 index 8627043..0000000 --- a/code-current/scripts/vsitatietijdstip vullen uit visitatiedatum.descr +++ /dev/null @@ -1 +0,0 @@ -# \ No newline at end of file diff --git a/code-current/scripts/vsitatietijdstip vullen uit visitatiedatum.id b/code-current/scripts/vsitatietijdstip vullen uit visitatiedatum.id deleted file mode 100644 index 997dd21..0000000 --- a/code-current/scripts/vsitatietijdstip vullen uit visitatiedatum.id +++ /dev/null @@ -1 +0,0 @@ -61c2d4ee2e27bbccf \ No newline at end of file diff --git a/code-current/scripts/vsitatietijdstip vullen uit visitatiedatum.js b/code-current/scripts/vsitatietijdstip vullen uit visitatiedatum.js deleted file mode 100644 index 4c28c73..0000000 --- a/code-current/scripts/vsitatietijdstip vullen uit visitatiedatum.js +++ /dev/null @@ -1,21 +0,0 @@ -// last execution: Wed Dec 22 2021 08:46:44 GMT+0100 (Midden-Europese standaardtijd) - -logAdd(log); - -$rows = record\fetchManyHash('Visitatie', 'id, visitatiedatum', 'name', 'asc'); - -$i = 0; -$n = array\length($rows); -while($i < $n, - $item = array\at($rows, $i); - $vd = hash\get($item, 'visitatiedatum'); - $id = hash\get($item, 'id'); - - $ts = datetime\addHours($vd, 12); - - logAdd(log, 'info', 'id=', $id, ', visitatiedatum=', $vd, ', ts=', $ts); - - record\update('Visitatie', $id, 'tijdstip', $ts); - - $i = $i + 1; -);