Files
CRM_Scripts_NVKH/code-current/scripts/praktijken leden naar json.js
T
2026-08-28 12:17:50 +02:00

242 lines
9.8 KiB
JavaScript

// last execution: 2026-08-28 03:15:02
logAdd(log);
$praktijken = list();
$fields = string\concatenate(
'id, salutationName, initialsName, firstName, middleName, lastName, ',
'geboortedatum, geslacht, ',
'addressStreet, addressPostalCode, addressCity, addressCountry, ',
'emailAddress, phoneNumber, website, ',
'regiocode, lidnummer, ',
'balens, quasier, ',
'dispensatie, ',
'agbcode, rbcznummer, mCode, ',
'datumRegistratie, vakopleidingDatumDiploma, mBKDatum, datumVOG, ',
'geplandeAfstudeerdatum, einddatum, aantekening ',
''
);
$rows = record\fetchManyHash('Contact', $fields, 'lastName', 'asc');
$n = array\length($rows);
logAdd(log, 'Contacts read: ', $n);
$h = '';
$i = 0;
$k = 0;
while($i < $n,
$e = array\at($rows, $i);
$regiocode = hash\get($e, 'regiocode');
$regiocode = $regiocode + 0;
$meenemen = $regiocode < 30;
$lastname = hash\get($e, 'lastName');
logAdd(log, 'info', 'regiocode=', $regiocode, ' lastName=', $lastname);
ifThen($meenemen,
$k = $k + 1;
$contact_id = hash\get($e, 'id');
$salutation = hash\get($e, 'salutationName');
$initials = hash\get($e, 'initialsName');
$firstname = hash\get($e, 'firstName');
$voorvoegsel = hash\get($e, 'middleName');
$street = hash\get($e, 'addressStreet');
$postalcode = hash\get($e, 'addressPostalCode');
$city = hash\get($e, 'addressCity');
$country = hash\get($e, 'addressCountry');
ifThen($country == null || $country == '', $country = 'Nederland');
$email = hash\get($e, 'emailAddress');
ifThen($email, $email = table\link(string\concatenate('mailto:', $email), $email));
$phone = hash\get($e, 'phoneNumber');
$website = hash\get($e, 'website');
ifThen($website, $website = table\link(string\concatenate('http://', $website), $website, '_blank'));
$birth = hash\get($e, 'geboortedatum');
$gender = hash\get($e, 'geslacht');
$lidnr = hash\get($e, 'lidnummer');
$balens = hash\get($e, 'balens');
$quasir = hash\get($e, 'quasier');
$dispensatie = hash\get($e, 'dispensatie');
$agbcode = hash\get($e, 'agbcode');
$mcode = hash\get($e, 'mCode');
$rbcznr = hash\get($e, 'rbcznummer');
$registratie = hash\get($e, 'datumRegistratie');
$vakopleiding = hash\get($e, 'vakopleidingDatumDiploma');
$mbk = hash\get($e, 'mBKDatum');
$vog = hash\get($e, 'datumVOG');
$afstuderen = hash\get($e, 'geplandeAfstudeerdatum');
$einddatum = hash\get($e, 'einddatum');
ifThen(string\contains($rbcznr, "T"),
$opm = configGet('tekst-bij-leden-zonder-mbk');
$e = hash\set($e, 'websiteOpmerking', $opm);
);
$contact = entity\get('Contact', $contact_id);
$p1s = entity\getRelated($contact, 'accounts', 1, 'name', 'asc', 'type=', 'P1');
ifThenElse(array\length($p1s) == 1, $p1 = array\at($p1s, 0), $p1 = null);
$p2s = entity\getRelated($contact, 'accounts', 1, 'name', 'asc', 'type=', 'P2');
ifThenElse(array\length($p2s) == 1, $p2 = array\at($p2s, 0), $p2 = null);
$p3s = entity\getRelated($contact, 'accounts', 1, 'name', 'asc', 'type=', 'P3');
ifThenElse(array\length($p3s) == 1, $p3 = array\at($p3s, 0), $p3 = null);
$report = true;
ifThenElse($p1,
$p1_id = attr($p1, 'id');
$p1_name = attr($p1, 'naam');
$p1_straat = attr($p1, 'shippingAddressStreet');
$p1_postcode = attr($p1, 'shippingAddressPostalCode');
$p1_plaats = attr($p1, 'shippingAddressCity');
$p1_land = attr($p1, 'shippngAddressCountry');
$p1_email = attr($p1, 'emailAddress');
$p1_phone = attr($p1, 'phoneNumber');
$p1_website = attr($p1, 'website');
$p1_op_internet = attr($p1, 'opInternet');
$p1_agbcode = attr($p1, 'agbcode');
,
$p1_id = '';
$p1_name = '';
$p1_straat = '';
$p1_postcode = '';
$p1_plaats = '';
$p1_land = '';
$p1_email = '';
$p1_phone = '';
$p1_website = '';
$p1_op_internet = '';
$p1_agbcode = '';
);
ifThenElse($p2,
$p2_id = attr($p2, 'id');
$p2_name = attr($p2, 'naam');
$p2_straat = attr($p2, 'shippingAddressStreet');
$p2_postcode = attr($p2, 'shippingAddressPostalCode');
$p2_plaats = attr($p2, 'shippingAddressCity');
$p2_land = attr($p2, 'shippngAddressCountry');
$p2_email = attr($p2, 'emailAddress');
$p2_phone = attr($p2, 'phoneNumber');
$p2_website = attr($p2, 'website');
$p2_op_internet = attr($p2, 'opInternet');
$p2_agbcode = attr($p2, 'agbcode');
,
$p2_id = '';
$p2_name = '';
$p2_straat = '';
$p2_postcode = '';
$p2_plaats = '';
$p2_land = '';
$p2_email = '';
$p2_phone = '';
$p2_website = '';
$p2_op_internet = '';
$p2_agbcode = '';
);
ifThenElse($p3,
$p3_id = attr($p3, 'id');
$p3_name = attr($p3, 'naam');
$p3_straat = attr($p3, 'shippingAddressStreet');
$p3_postcode = attr($p3, 'shippingAddressPostalCode');
$p3_plaats = attr($p3, 'shippingAddressCity');
$p3_land = attr($p3, 'shippngAddressCountry');
$p3_email = attr($p3, 'emailAddress');
$p3_phone = attr($p3, 'phoneNumber');
$p3_website = attr($p3, 'website');
$p3_op_internet = attr($p3, 'opInternet');
$p3_agbcode = attr($p3, 'agbcode');
,
$p3_id = '';
$p3_name = '';
$p3_straat = '';
$p3_postcode = '';
$p3_plaats = '';
$p3_land = '';
$p3_email = '';
$p3_phone = '';
$p3_website = '';
$p3_op_internet = '';
$p3_agbcode = '';
);
$p_agbcode = '';
ifThenElse($p1_agbcode,
$p_agbcode = $p1_agbcode;
,
ifThenElse($p2_agbcode,
$p_agbcode = $p2_agbcode;
,
ifThen($p3_agbcode, $p_agbcode = $p3_agbcode;);
);
);
$p_phone = '';
ifThenElse($p1_phone,
$p_phone = $p1_phone;
,
ifThenElse($p2_phone,
$p_phone = $p2_phone;
,
ifThen($p3_phone, $p_phone = $p3_phone;);
);
);
ifThen($report,
ifThen($p1,
$p1 = hash\new();
$p1 = hash\set($p1, 'lid', $e);
$p1 = hash\set($p1, 'type', 'p1');
$p1 = hash\set($p1, 'id', $p1_id);
$p1 = hash\set($p1, 'street_nr', $p1_straat);
$p1 = hash\set($p1, 'postalcode', $p1_postcode);
$p1 = hash\set($p1, 'city', $p1_plaats);
$p1 = hash\set($p1, 'website', $p1_website);
$p1 = hash\set($p1, 'phone', $p1_phone);
$p1 = hash\set($p1, 'email', $p1_email);
$p1 = hash\set($p1, 'name', $p1_name);
$p1 = hash\set($p1, 'op_internet', $p1_op_internet);
$praktijken = array\push($praktijken, $p1);
);
ifThen($p2,
$p2 = hash\new();
$p2 = hash\set($p2, 'lid', $e);
$p2 = hash\set($p2, 'type', 'p2');
$p2 = hash\set($p2, 'id', $p2_id);
$p2 = hash\set($p2, 'street_nr', $p2_straat);
$p2 = hash\set($p2, 'postalcode', $p2_postcode);
$p2 = hash\set($p2, 'city', $p2_plaats);
$p2 = hash\set($p2, 'website', $p2_website);
$p2 = hash\set($p2, 'phone', $p2_phone);
$p2 = hash\set($p2, 'email', $p2_email);
$p2 = hash\set($p2, 'name', $p2_name);
$p2 = hash\set($p2, 'op_internet', $p2_op_internet);
$praktijken = array\push($praktijken, $p2);
);
ifThen($p3,
$p3 = hash\new();
$p3 = hash\set($p3, 'lid', $e);
$p3 = hash\set($p3, 'type', 'p3');
$p3 = hash\set($p3, 'id', $p3_id);
$p3 = hash\set($p3, 'street_nr', $p3_straat);
$p3 = hash\set($p3, 'postalcode', $p3_postcode);
$p3 = hash\set($p3, 'city', $p3_plaats);
$p3 = hash\set($p3, 'website', $p3_website);
$p3 = hash\set($p3, 'phone', $p3_phone);
$p3 = hash\set($p3, 'email', $p3_email);
$p3 = hash\set($p3, 'name', $p3_name);
$p3 = hash\set($p3, 'op_internet', $p3_op_internet);
$praktijken = array\push($praktijken, $p3);
);
);
);
$i = $i + 1;
);
logAdd(log, 'Aantal praktijken bekeken: ', $i);
logAdd(log, 'Aantal praktijken meegenomen: ', $k);
logAdd(log, 'Uitvoeren naar json bestand "nvkh_praktijken.json"');
$n = toJsonFile("nvkh_praktijken.json", $praktijken);
logAdd(log, 'Uitgevoerde bestandsgrootte: ', $n);