Files
CRM_Scripts_NVKH/code-current/scripts/Visitatieformulier voor Her-visitatie.js
T
2026-08-28 12:17:50 +02:00

225 lines
11 KiB
JavaScript

// last execution: Thu Dec 16 2021 10:44:08 GMT+0100 (Midden-Europese standaardtijd)
$date_par_visitatie_datum='2021-12-20';
$par_visitatienummer='';
$par_uitvoeren=true;
$par_test_run_geen_mail_versturen=false;
$par_praktijk_type=list('P1', 'P2', 'P3');
//////////////////////////////////////////////////////////////////////////////////////
// init
//////////////////////////////////////////////////////////////////////////////////////
$visitatienummer = $par_visitatienummer;
$visitatie_datum = $date_par_visitatie_datum;
$nvkh_afzender = configGet('nvkh-afzender');
$avar_retouradres = configGet('secretariaat-email-address');
$avar_emailadres = configGet('secretariaat-email-address');
$visitatie_formulier_id = configGet('visitatie-formulier');
$praktijk_type = array\at($par_praktijk_type, 0);
$testrun = $par_test_run_geen_mail_versturen;
logAdd(log);
html = '';
logAdd(log, 'visitatie datum:', $visitatie_datum);
logAdd(log, 'visitatienummer: ', $visitatienummer);
logAdd(log, 'avar retouradres:', $avar_retouradres);
logAdd(log, 'avar emailadres:', $avar_emailadres);
logadd(log, 'nvkh afzender:', $nvkh_afzender);
logAdd(log, 'visitatie-formulier-id:', $visitatie_formulier_id);
logAdd(log, '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;
logAdd(log, 'visitatie vragenformulier input document : ', $formulier, ' - id : ', $formulier_id);
$leden = entity\getRelated(entity\this(), 'contacts', 10000, 'name', 'asc');
$i = 0;
$n = array\length($leden);
logAdd(log, '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-avar-vragenlijst-', $lid_nr, '-', $dt, '.pdf');
$form_out = string\concatenate('visitatie-vragenlijst-', $achternaam, '.pdf');
logAdd(log, 'visitatie vragenformulier avar document : ', $form_out);
logAdd(log, '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);
logAdd(log, '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);
logAdd(log, 'warning', $msg);
strAdd(html, '<p style="color:red">', $msg, '</p>');
,
$pr = entity\get('Account', $primary_account_id);
logAdd(log, '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');
);
/*
$lowest_year = datetime\year(datetime\now()) - 3;
$bijscholing = '';
$nascholingen = entity\getRelated($lid, 'nascholingstotalen', 1000, 'jaar', 'asc',
'jaar>=', $lowest_year
);
$K = array\length($nascholingen);
$na_j_1 = '';$na_d_1 = '';$na_m_1 = '';$na_s_1 = '';
$na_j_2 = '';$na_d_2 = '';$na_m_2 = '';$na_s_2 = '';
$na_j_3 = '';$na_d_3 = '';$na_m_3 = '';$na_s_3 = '';
$k = 0;
while($k < $K,
$na = array\at($nascholingen, $k);
logAdd(log, 'info', 'k=', $k, ', nascholing jaar:', attr($na, 'jaar'), ', dagen:', attr($na, 'dagen'));
ifThenElse($k == 0,
$na_j_1 = attr($na, 'jaar');$na_d_1 = attr($na, 'dagen');
$na_m_1 = attr($na, 'dagenMedisch');$na_s_1 = attr($na, 'dagenSaldo');
,
ifThenElse($k == 1,
$na_j_2 = attr($na, 'jaar');$na_d_2 = attr($na, 'dagen');
$na_m_2 = attr($na, 'dagenMedisch');$na_s_2 = attr($na, 'dagenSaldo');
,
ifThen($k == 2,
$na_j_3 = attr($na, 'jaar');$na_d_3 = attr($na, 'dagen');
$na_m_3 = attr($na, 'dagenMedisch');$na_s_3 = attr($na, 'dagenSaldo');
);
);
);
$k = $k + 1;
);
logAdd(log, 'info', 'na_j_1:', $na_j_1, ', na_j_2:', $na_j_2, ', na_j_3:', $na_j_3);
*/
$attach_id = ext\pdf\fillin('Contact', $lid_id, $formulier_id, $form_out,
'naam_homeopaat', attr($lid, 'name'),
'naam_gevisiteerde', attr($lid, 'name'),
'ondertekening_naam_gevisiteerde', attr($lid, 'name'),
'email_homeopaat', $email,
'naam_praktijk', attr($pr, 'naam'),
'agb_praktijk', attr($pr, 'agbcode'),
//'cb_homeopathie', 'Yes',
'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', $avar_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',
//'bijscholing_jaar_1', $na_j_1,
//'bijscholing_dagen_1', number\format($na_d_1, 2),
//'bijscholing_medisch_1', number\format($na_m_1, 2),
//'bijscholing_saldo_1', number\format($na_s_1, 2),
//'bijscholing_jaar_2', $na_j_2,
//'bijscholing_dagen_2', number\format($na_d_2, 2),
//'bijscholing_medisch_2', number\format($na_m_2, 2),
//'bijscholing_saldo_2', number\format($na_s_2, 2),
//'bijscholing_jaar_3', $na_j_3,
//'bijscholing_dagen_3', number\format($na_d_3, 2),
//'bijscholing_medisch_3', number\format($na_m_3, 2),
//'bijscholing_saldo_3', number\format($na_s_3, 2),
'datum_visitatie', $visitatiedatum,
'AVAR_Visitatienummer', $visitatienummer
);
logAdd(log, 'info', 'attachment id :', $attach_id);
$body = emailTemplate;
$visitatie_dt = datetime\format($visitatie_datum, 'Europe/Amsterdam', 'DD/MM/YYYY');
$body = string\replace($body, '{{visitatie-datum}}', $visitatie_dt);
$body = string\replace($body, '{{visitatienummer}}', $visitatienummer);
$body = string\replace($body, '{{nvkh-afzender}}', $nvkh_afzender);
$body = ext\htmlize($body, 'Contact', attr($lid, 'id'));
$userId = env\userAttribute('id');
ifThenElse($testrun,
logAdd(log, 'info', 'Dit is een testrun, er wordt geen email verstuurd');
,
$emailId = record\create('Email', 'subject', 'Visitatie formulier',
'body', $body,
'to', $avar_emailadres,
'attachmentsIds', list($attach_id),
'assignedUser', $userId,
'isUser', true,
'parentType', 'Contact',
'parentId', $lid_id
);
ext\email\send($emailId);
);
);
$i = $i + 1;
);
,
logAdd(log, 'Vink uitvoeren aan om dit script uit te voeren');
);