// 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, '

', $msg, '

'); , $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'); );