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)
|
||||
(for-each
|
||||
(lambda (row)
|
||||
(let ((id (vector-ref row 0))
|
||||
(let* ((id (vector-ref row 0))
|
||||
(name (vector-ref row 1))
|
||||
(description (vector-ref row 2))
|
||||
(value_script (vector-ref row 3))
|
||||
(re #px"[/><]")
|
||||
(mk-name (lambda (name ext) (build-path dir
|
||||
(string-append (string-replace name "/" "-") "." ext))))
|
||||
(string-append
|
||||
(regexp-replace* name re "_") "." ext))))
|
||||
)
|
||||
|
||||
(displayln (format "making ~a / ~a" dir name))
|
||||
(to-file (mk-name name "id") id)
|
||||
(to-file (mk-name name "name") name)
|
||||
(to-file (mk-name name "js") value_script)
|
||||
(to-file (mk-name name "descr") description)
|
||||
))
|
||||
|
||||
@@ -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