This commit is contained in:
2026-08-28 12:27:35 +02:00
parent bfeff94be7
commit 45e62fda5f
178 changed files with 10 additions and 7257 deletions
@@ -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');
);