Documentatie bijgwerkt. En structuur aangepast.
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
//exec last execution: Thu Nov 09 2023 14:00:49 GMT+0100 (Midden-Europese standaardtijd)
|
||||
|
||||
$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;
|
||||
);
|
||||
@@ -0,0 +1,124 @@
|
||||
// last execution: Mon Nov 06 2023 10:21:31 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 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:', $n);
|
||||
$n_onvoldoende = 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');
|
||||
$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;
|
||||
@@ -0,0 +1,347 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// 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!'));
|
||||
);
|
||||
|
||||
@@ -0,0 +1,950 @@
|
||||
//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), ']%%');
|
||||
|
||||
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;
|
||||
//strAdd($na_uitleg_med, "[EOvername van medische dagen beperkt tot ", number\format($na_take, 2), ', omdat het totaal van vorig jaar ontoereikend isE]%%');
|
||||
);
|
||||
ifThen($ma_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;
|
||||
//strAdd($na_uitleg_hom, "[EOvername van homeopathie dagen beperkt tot ", number\format($na_take, 2), ', omdat het totaal van vorig jaar ontoereikend isE]%%');
|
||||
);
|
||||
ifThen($ma_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($ma_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);
|
||||
Binary file not shown.
@@ -0,0 +1,32 @@
|
||||
//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);
|
||||
Reference in New Issue
Block a user