no
This commit is contained in:
@@ -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.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
5fca5189ec16d65c8
|
|
||||||
@@ -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 = '<none>';
|
|
||||||
|
|
||||||
$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 != '<none>',
|
|
||||||
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!'));
|
|
||||||
);
|
|
||||||
|
|
||||||
@@ -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 (<none>, 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.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
5efb0f592364cb273
|
|
||||||
@@ -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 = '<none>';
|
|
||||||
|
|
||||||
$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 != '<none>',
|
|
||||||
// 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!'));
|
|
||||||
);
|
|
||||||
|
|
||||||
@@ -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.
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
5efa39d03a099006b
|
|
||||||
@@ -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('<span ', $na_style_nstd_nvt, '>'));
|
|
||||||
$na_dashb_entry_med = string\replace($na_dashb_entry_med, '[O', string\concatenate('<span ', $na_style_nstd_nvt, '>'));
|
|
||||||
,
|
|
||||||
ifThenElse($na_jaar == $na_methode_1_max_jaar,
|
|
||||||
$na_dashb_entry_med = string\replace($na_dashb_entry_med, '[V', string\concatenate('<span ', $na_style_nstd_goed, '>'));
|
|
||||||
$na_dashb_entry_med = string\replace($na_dashb_entry_med, '[O', string\concatenate('<span ', $na_style_nstd_goed, '>'));
|
|
||||||
,
|
|
||||||
$na_dashb_entry_med = string\replace($na_dashb_entry_med, '[V', string\concatenate('<span ', $na_style_nstd_goed, '>'));
|
|
||||||
$na_dashb_entry_med = string\replace($na_dashb_entry_med, '[O', string\concatenate('<span ', $na_style_nstd_tekort, '>'));
|
|
||||||
)
|
|
||||||
);
|
|
||||||
$na_dashb_entry_hom = string\replace($na_dashb_entry_hom, '[V', string\concatenate('<span ', $na_style_nstd_goed, '>'));
|
|
||||||
$na_dashb_entry_hom = string\replace($na_dashb_entry_hom, '[O', string\concatenate('<span ', $na_style_nstd_tekort, '>'));
|
|
||||||
$na_dashb_entry_tot = string\replace($na_dashb_entry_tot, '[V', string\concatenate('<span ', $na_style_nstd_goed, '>'));
|
|
||||||
$na_dashb_entry_tot = string\replace($na_dashb_entry_tot, '[O', string\concatenate('<span ', $na_style_nstd_tekort, '>'));
|
|
||||||
|
|
||||||
$na_dashb_entry_tot = string\replace($na_dashb_entry_tot, 'V]%%', '</span>');
|
|
||||||
$na_dashb_entry_tot = string\replace($na_dashb_entry_tot, 'O]%%', '</span>');
|
|
||||||
$na_dashb_entry_hom = string\replace($na_dashb_entry_hom, 'V]%%', '</span>');
|
|
||||||
$na_dashb_entry_hom = string\replace($na_dashb_entry_hom, 'O]%%', '</span>');
|
|
||||||
$na_dashb_entry_med = string\replace($na_dashb_entry_med, 'V]%%', '</span>');
|
|
||||||
$na_dashb_entry_med = string\replace($na_dashb_entry_med, 'O]%%', '</span>');
|
|
||||||
|
|
||||||
$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('<td ', $na_style_rubric, '>'));
|
|
||||||
$na_report = string\replace($na_report, '[S', '<td colspan="2">');
|
|
||||||
$na_report = string\replace($na_report, '[NII', string\concatenate('<td ', $na_style_dagen_inspr2, '>'));
|
|
||||||
$na_report = string\replace($na_report, '[NI', string\concatenate('<td ', $na_style_dagen_inspr, '>'));
|
|
||||||
$na_report = string\replace($na_report, '[N', string\concatenate('<td ', $na_style_dagen, '>'));
|
|
||||||
$na_report = string\replace($na_report, '[V', string\concatenate('<td colspan="2" ', $na_style_kop, '><span ', $na_style_nstd_goed_report, '>'));
|
|
||||||
$na_report = string\replace($na_report, '[O', string\concatenate('<td colspan="2" ', $na_style_kop, '><span ', $na_style_nstd_tekort_report, '>'));
|
|
||||||
$na_report = string\replace($na_report, '[E', string\concatenate('<td colspan="2" ', $na_style_rubric, '><span ', $na_style_probleem, '>'));
|
|
||||||
$na_report = string\replace($na_report, '[W', string\concatenate('<td ', $na_style_rubric, '><span ', $na_style_waarschuwing, '>'));
|
|
||||||
$na_report = string\replace($na_report, '[II', string\concatenate('<td ', $na_style_rubric, '><span ', $na_style_sub2_rubric, '>'));
|
|
||||||
$na_report = string\replace($na_report, '[I', string\concatenate('<td ', $na_style_rubric, '><span ', $na_style_sub_rubric, '>'));
|
|
||||||
$na_report = string\replace($na_report, '[R', string\concatenate('<td colspan="2" ', $na_style_rubric, '><span ', $na_style_sub_rubric, '>'));
|
|
||||||
$na_report = string\replace($na_report, "O]", "</span></td>");
|
|
||||||
$na_report = string\replace($na_report, "V]", "</span></td>");
|
|
||||||
$na_report = string\replace($na_report, "E]", "</span></td>");
|
|
||||||
$na_report = string\replace($na_report, "W]", "</span></td>");
|
|
||||||
$na_report = string\replace($na_report, "I]", "</span></td>");
|
|
||||||
$na_report = string\replace($na_report, "R]", "</span></td>");
|
|
||||||
$na_report = string\replace($na_report, "]", "</td>");
|
|
||||||
$na_report = string\replace($na_report, '%%', '</tr><tr>\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);
|
|
||||||
@@ -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)
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
5f0c79b5aae44ef72
|
|
||||||
@@ -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);
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
Triggert een hercalculatie van de nascholingstotalen voor een Lid ($contact_id).
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
5efae9e4a72b632bb
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
|
|
||||||
|
|
||||||
$na_recalc_e = entity\get('Contact', $contact_id);
|
|
||||||
setAttr($na_recalc_e, 'nascholingstotalenHerberekenen', true);
|
|
||||||
entity\save($na_recalc_e);
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
Voor een gegeven $contact_id en $year maakt dit script indien nodig nieuwe nascholingstotalen jaren aan.
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
5ef66f724567d9188
|
|
||||||
@@ -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
|
|
||||||
);
|
|
||||||
);
|
|
||||||
);
|
|
||||||
);
|
|
||||||
@@ -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.
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
6036231fbdadf8ff6
|
|
||||||
@@ -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;
|
|
||||||
);
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
in: $param_name ==> Initials (firstName) lastName or Initials () lastName or Initials lastName
|
|
||||||
out: $val_fn_ln ==> firstName lastName
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
61c22448a0d48492c
|
|
||||||
@@ -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;
|
|
||||||
)
|
|
||||||
);
|
|
||||||
@@ -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='';
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
61b677bf9657457f9
|
|
||||||
@@ -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, '<p style="color:red">', $msg, '</p>');
|
|
||||||
,
|
|
||||||
$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');
|
|
||||||
);
|
|
||||||
|
|
||||||
@@ -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='';
|
|
||||||
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
61ae898da96139566
|
|
||||||
@@ -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, '<p style="color:red">', $msg, '</p>');
|
|
||||||
,
|
|
||||||
$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');
|
|
||||||
);
|
|
||||||
|
|
||||||
@@ -61,16 +61,19 @@
|
|||||||
(define (handle-rows dir rows)
|
(define (handle-rows dir rows)
|
||||||
(for-each
|
(for-each
|
||||||
(lambda (row)
|
(lambda (row)
|
||||||
(let ((id (vector-ref row 0))
|
(let* ((id (vector-ref row 0))
|
||||||
(name (vector-ref row 1))
|
(name (vector-ref row 1))
|
||||||
(description (vector-ref row 2))
|
(description (vector-ref row 2))
|
||||||
(value_script (vector-ref row 3))
|
(value_script (vector-ref row 3))
|
||||||
|
(re #px"[/><]")
|
||||||
(mk-name (lambda (name ext) (build-path dir
|
(mk-name (lambda (name ext) (build-path dir
|
||||||
(string-append (string-replace name "/" "-") "." ext))))
|
(string-append
|
||||||
|
(regexp-replace* name re "_") "." ext))))
|
||||||
)
|
)
|
||||||
|
|
||||||
(displayln (format "making ~a / ~a" dir name))
|
(displayln (format "making ~a / ~a" dir name))
|
||||||
(to-file (mk-name name "id") id)
|
(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 "js") value_script)
|
||||||
(to-file (mk-name name "descr") description)
|
(to-file (mk-name name "descr") description)
|
||||||
))
|
))
|
||||||
|
|||||||
@@ -1 +0,0 @@
|
|||||||
Testscript voor EspoCRM Upgrades (voor systeembeheer)
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
66ed76ba5e58baf04
|
|
||||||
@@ -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 = '<html><head></head><body>Beste {{name}},<br><br>Dit is een test voor {{today}}.</body></html>';
|
|
||||||
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, '<div class="nvkhresult">');
|
|
||||||
$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, '</div>');
|
|
||||||
|
|
||||||
html = string\concatenate('<h1>Upgrade Testscript Report</h1>', $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');
|
|
||||||
);
|
|
||||||
);
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
#<sql-null>
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
66ed7ad21b4740be1
|
|
||||||
@@ -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);
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
Berekent alle nascholingstotalen opnieuw, voor alle jaren. Dat zijn er dan erg veel.
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
5fa55e9426ec82119
|
|
||||||
@@ -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;
|
|
||||||
);
|
|
||||||
);
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
Berekent de nascholingstotalen voor één lid
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
620ae9091bdb2322c
|
|
||||||
@@ -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;
|
|
||||||
);
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
Voert de laatste stand van de gegevens uit voor CZ.
|
|
||||||
|
|
||||||
Alle leden met regiocode < 30 worden uitgevoerd.
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
5ed765f5bd8a8b9bc
|
|
||||||
@@ -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, '<div class="nvkhresult">');
|
|
||||||
|
|
||||||
$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, '</div>');
|
|
||||||
|
|
||||||
html=$h;
|
|
||||||
@@ -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.
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
5ed794a47a7f6b2b3
|
|
||||||
@@ -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, '</div>');
|
|
||||||
|
|
||||||
html=$h;
|
|
||||||
|
|
||||||
@@ -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.
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
5f05d49d9948e27c7
|
|
||||||
@@ -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');
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
Triggert de herberekening van alle individuele nascholingsrecords.
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
5f0c8b06e797b2dc0
|
|
||||||
@@ -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');
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
Triggert de contacten om de nascholingstotalen te herberekenen
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
5efa6f935ef17c59a
|
|
||||||
@@ -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.');
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
Maakt de doellijst met homeopaten resp. werkt deze bij
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
5f16fdf4c0b3bc6b8
|
|
||||||
@@ -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');
|
|
||||||
);
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
Koppelt de geïmporteerde nascholingstotalen aan de betreffende leden.
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
5ef9d2ba1e3e500f5
|
|
||||||
@@ -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;
|
|
||||||
);
|
|
||||||
);
|
|
||||||
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
Koppelt de geïmporteerde visitaties aan de betreffende leden
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
5ed18abfb4cefb71d
|
|
||||||
@@ -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');
|
|
||||||
);
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
Bewerkt de import na, als de parameter gelijk is aan 1
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
5ed0fa67cb3ab01e7
|
|
||||||
@@ -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.');
|
|
||||||
|
|
||||||
);
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
Importeert CSV bestanden met lidnummer, #consulten (of leeg als er geen consulten waren; of niet ingevuld.)
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
60192aded6ee3632b
|
|
||||||
@@ -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;
|
|
||||||
);
|
|
||||||
);
|
|
||||||
@@ -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).
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
639e03f4e8f686f7a
|
|
||||||
@@ -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, '<div class="nvkhresult">');
|
|
||||||
$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%', '<span style="color:red;">'), '%END%', '</span>');
|
|
||||||
|
|
||||||
strAdd($h, '<h1>', 'Leden met <b>dubbele</b> nascholingsboekingen voor jaar ', toString($par_nascholingsjaar), '</h1>');
|
|
||||||
$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, '</div>');
|
|
||||||
|
|
||||||
html=$h;
|
|
||||||
|
|
||||||
logAdd(log, 'warning', $msg);
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
Geeft een lijst met alle niet ex-leden met hun praktijken (p1, p2 en p3)
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
602e70cccdb6eccbb
|
|
||||||
@@ -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, '<div class="nvkhresult">');
|
|
||||||
|
|
||||||
$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, '</div>');
|
|
||||||
|
|
||||||
html=$h;
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
Geeft een lijst met alle niet ex-leden met hun praktijken (p1, p2 en p3)
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
5fca5c9b4b0997868
|
|
||||||
@@ -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, '<div class="nvkhresult">');
|
|
||||||
|
|
||||||
$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, '</div>');
|
|
||||||
|
|
||||||
html=$h;
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
Leden met nascholingstotalen die liggen voor hun registratiejaar.
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
63caa2bdc445ed778
|
|
||||||
@@ -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, '<div class="nvkhresult">');
|
|
||||||
$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, '</div>');
|
|
||||||
|
|
||||||
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);
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
Kijkt welke leden niet aan de nascholingsvereisten voldoen, inclusief verloskundigen.
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
5efa765f5a951f599
|
|
||||||
@@ -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, '<div class="nvkhresult">');
|
|
||||||
$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, '<tr>');
|
|
||||||
$td = '<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%', '<span style="color:red;">'), '%END%', '</span>');
|
|
||||||
|
|
||||||
strAdd($h, '<h1>', 'Leden met <b>onvoldoende</b> nascholing voor jaar ', toString($par_nascholingsjaar), ': ', $n_onvoldoende, '</h1>');
|
|
||||||
strAdd($h, $table_html);
|
|
||||||
strAdd($h, '</div>');
|
|
||||||
|
|
||||||
logAdd(log, 'info', 'leden met onvoldoende nascholing voor jaar ', $par_nascholingsjaar, ': ', $n_onvoldoende);
|
|
||||||
|
|
||||||
html=$h;
|
|
||||||
@@ -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.
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
6002046fe26fbfbfd
|
|
||||||
@@ -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;
|
|
||||||
);
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
Mail de verslagen van de jobs.
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
5f17f1d332c9cb538
|
|
||||||
@@ -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, '<h3>', $name, '</h3>');
|
|
||||||
strAdd($html, '<p>', 'Laatste uitvoering: ', $last_exec, '</p>');
|
|
||||||
|
|
||||||
$html = string\concatenate($html, '<table><tbody>', $log, '</tbody></table>');
|
|
||||||
|
|
||||||
$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);
|
|
||||||
@@ -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
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
5fa3deb12801abd47
|
|
||||||
@@ -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');
|
|
||||||
);
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
Door de veranderde structuur. Geaccrediteerde nascholingen bij leden omzetten naar handmatige nascholingen gekoppeld aan het jaar van nascholing.
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
5fca2bdbde7c729ff
|
|
||||||
@@ -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;
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user