Herstructurering en archivering van niet actuele zaken.
This commit is contained in:
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because one or more lines are too long
@@ -1,13 +0,0 @@
|
|||||||
240914 14:20:09 5270 Connect nvkhcrm@localhost on nvkhcrm using Socket
|
|
||||||
5270 Query SELECT authToken.id AS `id`, authToken.is_active AS `isActive`, authToken.token AS `token`, authToken.secret AS `secret`, authToken.user_id AS `userId`, authToken.portal_id AS `portalId`, authToken.hash AS `hash`, authToken.created_at AS `createdAt`, authToken.last_access AS `lastAccess`, authToken.modified_at AS `modifiedAt` FROM `auth_token` AS `authToken` WHERE authToken.token = '9f82b356063f608eff8a22b411d654ab' AND authToken.deleted = 0 LIMIT 0, 1
|
|
||||||
5270 Query SELECT user.id AS `id`, REPLACE(NULLIF(TRIM(CONCAT(IFNULL(user.first_name, ''), ' ', IFNULL(user.middle_name, ''), ' ', IFNULL(user.last_name, ''))), ''), ' ', ' ') AS `name`, user.deleted AS `deleted`, user.user_name AS `userName`, user.type AS `type`, user.password AS `password`, user.auth_method AS `authMethod`, user.api_key AS `apiKey`, user.salutation_name AS `salutationName`, user.first_name AS `firstName`, user.last_name AS `lastName`, user.is_active AS `isActive`, user.title AS `title`, emailAddresses.name AS `emailAddress`, phoneNumbers.name AS `phoneNumber`, user.avatar_color AS `avatarColor`, user.gender AS `gender`, user.created_at AS `createdAt`, user.modified_at AS `modifiedAt`, userData.auth2_f_a AS `auth2FA`, user.middle_name AS `middleName`, emailAddresses.opt_out AS `emailAddressIsOptedOut`, emailAddresses.invalid AS `emailAddressIsInvalid`, phoneNumbers.opt_out AS `phoneNumberIsOptedOut`, phoneNumbers.invalid AS `phoneNumberIsInvalid`, user.delete_id AS `deleteId`, user.default_team_id AS `defaultTeamId`, defaultTeam.name AS `defaultTeamName`, user.contact_id AS `contactId`, REPLACE(NULLIF(TRIM(CONCAT(IFNULL(contact.first_name, ''), ' ', IFNULL(contact.middle_name, ''), ' ', IFNULL(contact.last_name, ''))), ''), ' ', ' ') AS `contactName`, user.avatar_id AS `avatarId`, avatar.name AS `avatarName`, user.created_by_id AS `createdById`, REPLACE(NULLIF(TRIM(CONCAT(IFNULL(createdBy.first_name, ''), ' ', IFNULL(createdBy.middle_name, ''), ' ', IFNULL(createdBy.last_name, ''))), ''), ' ', ' ') AS `createdByName`, user.dashboard_template_id AS `dashboardTemplateId`, dashboardTemplate.name AS `dashboardTemplateName`, user.working_time_calendar_id AS `workingTimeCalendarId`, user.layout_set_id AS `layoutSetId`, userData.id AS `userDataId`, userData.id AS `userDataName` FROM `user` AS `user` LEFT JOIN `attachment` AS `avatar` ON user.avatar_id = avatar.id LEFT JOIN `contact` AS `contact` ON user.contact_id = contact.id LEFT JOIN `user_data` AS `userData` ON user.id = userData.user_id AND userData.deleted = 0 LEFT JOIN `dashboard_template` AS `dashboardTemplate` ON user.dashboard_template_id = dashboardTemplate.id LEFT JOIN `user` AS `createdBy` ON user.created_by_id = createdBy.id LEFT JOIN `team` AS `defaultTeam` ON user.default_team_id = defaultTeam.id LEFT JOIN `entity_email_address` AS `emailAddressesMiddle` ON user.id = emailAddressesMiddle.entity_id AND emailAddressesMiddle.deleted = 0 AND emailAddressesMiddle.primary = 1 AND emailAddressesMiddle.entity_type = 'User' LEFT JOIN `email_address` AS `emailAddresses` ON emailAddresses.id = emailAddressesMiddle.email_address_id AND emailAddresses.deleted = 0 LEFT JOIN `entity_phone_number` AS `phoneNumbersMiddle` ON user.id = phoneNumbersMiddle.entity_id AND phoneNumbersMiddle.deleted = 0 AND phoneNumbersMiddle.primary = 1 AND phoneNumbersMiddle.entity_type = 'User' LEFT JOIN `phone_number` AS `phoneNumbers` ON phoneNumbers.id = phoneNumbersMiddle.phone_number_id AND phoneNumbers.deleted = 0 WHERE user.user_name = 'admin' AND user.password = 'Wkpa1j5J2/Og1qN4NMoygh3XDj1Je1Gugpdzpd4QA0m7t92XN8Ze8AyFVlPlXlsOM.DU.2.XbH3wVoK11LOon/' AND user.type NOT IN ('api','system') AND user.deleted = 0 LIMIT 0, 1
|
|
||||||
5270 Query SELECT team.id AS `id`, team.name AS `name` FROM `team` AS `team` JOIN `team_user` AS `teamUser` ON teamUser.team_id = team.id AND teamUser.user_id = '1' AND teamUser.deleted = 0 WHERE team.deleted = 0 ORDER BY team.name ASC
|
|
||||||
5270 Query UPDATE `auth_token` SET auth_token.last_access = '2024-09-14 12:20:09', auth_token.modified_at = '2024-09-14 12:20:09' WHERE auth_token.id = '66e4c445c1874e115' AND auth_token.deleted = 0
|
|
||||||
5270 Query SELECT authLogRecord.id AS `id` FROM `auth_log_record` AS `authLogRecord` WHERE authLogRecord.auth_token_id = '66e4c445c1874e115' AND authLogRecord.deleted = 0 ORDER BY authLogRecord.request_time DESC LIMIT 0, 1
|
|
||||||
5270 Query SELECT preferences.id AS `id`, preferences.data AS `data` FROM `preferences` WHERE preferences.id = '1' LIMIT 0, 1
|
|
||||||
5270 Query SELECT autofollow.entity_type AS `entityType` FROM `autofollow` AS `autofollow` WHERE autofollow.user_id = '1' AND autofollow.deleted = 0
|
|
||||||
5270 Query SELECT user.id AS `id`, REPLACE(NULLIF(TRIM(CONCAT(IFNULL(user.first_name, ''), ' ', IFNULL(user.middle_name, ''), ' ', IFNULL(user.last_name, ''))), ''), ' ', ' ') AS `name`, user.deleted AS `deleted`, user.user_name AS `userName`, user.type AS `type`, user.password AS `password`, user.auth_method AS `authMethod`, user.api_key AS `apiKey`, user.salutation_name AS `salutationName`, user.first_name AS `firstName`, user.last_name AS `lastName`, user.is_active AS `isActive`, user.title AS `title`, emailAddresses.name AS `emailAddress`, phoneNumbers.name AS `phoneNumber`, user.avatar_color AS `avatarColor`, user.gender AS `gender`, user.created_at AS `createdAt`, user.modified_at AS `modifiedAt`, userData.auth2_f_a AS `auth2FA`, user.middle_name AS `middleName`, emailAddresses.opt_out AS `emailAddressIsOptedOut`, emailAddresses.invalid AS `emailAddressIsInvalid`, phoneNumbers.opt_out AS `phoneNumberIsOptedOut`, phoneNumbers.invalid AS `phoneNumberIsInvalid`, user.delete_id AS `deleteId`, user.default_team_id AS `defaultTeamId`, defaultTeam.name AS `defaultTeamName`, user.contact_id AS `contactId`, REPLACE(NULLIF(TRIM(CONCAT(IFNULL(contact.first_name, ''), ' ', IFNULL(contact.middle_name, ''), ' ', IFNULL(contact.last_name, ''))), ''), ' ', ' ') AS `contactName`, user.avatar_id AS `avatarId`, avatar.name AS `avatarName`, user.created_by_id AS `createdById`, REPLACE(NULLIF(TRIM(CONCAT(IFNULL(createdBy.first_name, ''), ' ', IFNULL(createdBy.middle_name, ''), ' ', IFNULL(createdBy.last_name, ''))), ''), ' ', ' ') AS `createdByName`, user.dashboard_template_id AS `dashboardTemplateId`, dashboardTemplate.name AS `dashboardTemplateName`, user.working_time_calendar_id AS `workingTimeCalendarId`, user.layout_set_id AS `layoutSetId`, userData.id AS `userDataId`, userData.id AS `userDataName` FROM `user` AS `user` LEFT JOIN `attachment` AS `avatar` ON user.avatar_id = avatar.id LEFT JOIN `contact` AS `contact` ON user.contact_id = contact.id LEFT JOIN `user_data` AS `userData` ON user.id = userData.user_id AND userData.deleted = 0 LEFT JOIN `dashboard_template` AS `dashboardTemplate` ON user.dashboard_template_id = dashboardTemplate.id LEFT JOIN `user` AS `createdBy` ON user.created_by_id = createdBy.id LEFT JOIN `team` AS `defaultTeam` ON user.default_team_id = defaultTeam.id LEFT JOIN `entity_email_address` AS `emailAddressesMiddle` ON user.id = emailAddressesMiddle.entity_id AND emailAddressesMiddle.deleted = 0 AND emailAddressesMiddle.primary = 1 AND emailAddressesMiddle.entity_type = 'User' LEFT JOIN `email_address` AS `emailAddresses` ON emailAddresses.id = emailAddressesMiddle.email_address_id AND emailAddresses.deleted = 0 LEFT JOIN `entity_phone_number` AS `phoneNumbersMiddle` ON user.id = phoneNumbersMiddle.entity_id AND phoneNumbersMiddle.deleted = 0 AND phoneNumbersMiddle.primary = 1 AND phoneNumbersMiddle.entity_type = 'User' LEFT JOIN `phone_number` AS `phoneNumbers` ON phoneNumbers.id = phoneNumbersMiddle.phone_number_id AND phoneNumbers.deleted = 0 WHERE user.id = '1' AND user.deleted = 0
|
|
||||||
5270 Query SELECT contact.id AS `id` FROM `contact` AS `contact` LEFT JOIN `entity_email_address` AS `emailAddressesMultipleMiddle` ON contact.id = emailAddressesMultipleMiddle.entity_id AND emailAddressesMultipleMiddle.deleted = 0 AND emailAddressesMultipleMiddle.entity_type = 'Contact' LEFT JOIN `email_address` AS `emailAddressesMultiple` ON emailAddressesMultiple.id = emailAddressesMultipleMiddle.email_address_id AND emailAddressesMultiple.deleted = 0 WHERE (((contact.first_name = 'H.N.M. (Hans)') AND (contact.last_name = 'Dijkema')) OR ((emailAddressesMultiple.lower = LOWER('hans@dykema.nl')))) AND contact.deleted = 0 LIMIT 0, 1
|
|
||||||
5270 Query SELECT contact.id AS `id`, REPLACE(NULLIF(TRIM(CONCAT(IFNULL(contact.first_name, ''), ' ', IFNULL(contact.middle_name, ''), ' ', IFNULL(contact.last_name, ''))), ''), ' ', ' ') AS `name` FROM `contact` AS `contact` LEFT JOIN `entity_email_address` AS `emailAddressesMultipleMiddle` ON contact.id = emailAddressesMultipleMiddle.entity_id AND emailAddressesMultipleMiddle.deleted = 0 AND emailAddressesMultipleMiddle.entity_type = 'Contact' LEFT JOIN `email_address` AS `emailAddressesMultiple` ON emailAddressesMultiple.id = emailAddressesMultipleMiddle.email_address_id AND emailAddressesMultiple.deleted = 0 WHERE (((contact.first_name = 'H.N.M. (Hans)') AND (contact.last_name = 'Dijkema')) OR ((emailAddressesMultiple.lower = LOWER('hans@dykema.nl')))) AND contact.deleted = 0 LIMIT 0, 1
|
|
||||||
5270 Query SELECT contact.id AS `id`, REPLACE(NULLIF(TRIM(CONCAT(IFNULL(contact.first_name, ''), ' ', IFNULL(contact.middle_name, ''), ' ', IFNULL(contact.last_name, ''))), ''), ' ', ' ') AS `name` FROM `contact` AS `contact` LEFT JOIN `entity_email_address` AS `emailAddressesMultipleMiddle` ON contact.id = emailAddressesMultipleMiddle.entity_id AND emailAddressesMultipleMiddle.deleted = 0 AND emailAddressesMultipleMiddle.entity_type = 'Contact' LEFT JOIN `email_address` AS `emailAddressesMultiple` ON emailAddressesMultiple.id = emailAddressesMultipleMiddle.email_address_id AND emailAddressesMultiple.deleted = 0 WHERE (((contact.first_name = 'H.N.M. (Hans)') AND (contact.last_name = 'Dijkema')) OR ((emailAddressesMultiple.lower = LOWER('hans@dykema.nl')))) AND contact.deleted = 0 LIMIT 0, 1
|
|
||||||
5270 Quit
|
|
||||||
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Binary file not shown.
|
Before Width: | Height: | Size: 46 KiB |
Binary file not shown.
Binary file not shown.
@@ -1,294 +0,0 @@
|
|||||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
||||||
// 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');
|
|
||||||
|
|
||||||
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');
|
|
||||||
|
|
||||||
log('warning', 'nascholingsnorm: jaar: ', $year, ', dagen: ', $na_dagen_norm_formeel,
|
|
||||||
', medisch: ', $na_medisch_norm,
|
|
||||||
', homeopathie: ', $na_homeopathie_norm,
|
|
||||||
', start surplus: ', $na_start_surplus
|
|
||||||
);
|
|
||||||
|
|
||||||
// $na_vrijstelling is op zich al bekend, maar misschien is er nog dispensatie of registratie jaar
|
|
||||||
$na_registration = ($year <= $na_diploma_jr);
|
|
||||||
$na_examenjaar = false;
|
|
||||||
ifThenElse($na_dispensatie,
|
|
||||||
$na_vrijstelling = $na_dagen_norm_formeel;
|
|
||||||
,
|
|
||||||
ifThen($na_registration,
|
|
||||||
//$na_vrijstelling = $na_dagen_norm_formeel;
|
|
||||||
$na_dagen_norm_formeel = 0;
|
|
||||||
$na_medisch_norm = 0;
|
|
||||||
$na_homeopathie_norm = 0;
|
|
||||||
$na_examenjaar = true;
|
|
||||||
);
|
|
||||||
);
|
|
||||||
|
|
||||||
$na_dagen_norm = $na_dagen_norm_formeel - $na_vrijstelling;
|
|
||||||
|
|
||||||
// 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);
|
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
||||||
// Bereken het saldo aan dagen
|
|
||||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
log('warning', 'medisch:', $na_totaal_medisch, ', hom:', $na_totaal_homeopathie,
|
|
||||||
', werkgr:', $na_totaal_werkgroep, ', homoverig:', $na_totaal_dagen);
|
|
||||||
|
|
||||||
$na_totaal_alle_dagen = $na_totaal_dagen + $na_totaal_medisch + $na_totaal_homeopathie + $na_totaal_werkgroep;
|
|
||||||
$na_saldo = $na_totaal_alle_dagen - $na_dagen_norm;
|
|
||||||
$na_saldo = $na_saldo + $na_start_surplus;
|
|
||||||
|
|
||||||
$na_saldo_homeopathie = $na_totaal_homeopathie - $na_homeopathie_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>',
|
|
||||||
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,
|
|
||||||
'examenjaar', $na_examenjaar
|
|
||||||
);
|
|
||||||
|
|
||||||
ifThen(!$oke, log('error', 'Update ging niet goed!'));
|
|
||||||
);
|
|
||||||
|
|
||||||
@@ -1,931 +0,0 @@
|
|||||||
//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_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_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, examenjaar, handmatig',
|
|
||||||
'jaar', 'asc',
|
|
||||||
'contactId=', $contact_id,
|
|
||||||
);
|
|
||||||
|
|
||||||
$h_surplus = hash\new();
|
|
||||||
$h_saldi = hash\new();
|
|
||||||
$h_verr = hash\new();
|
|
||||||
|
|
||||||
$h_surplus_med = hash\new();
|
|
||||||
$h_saldi_med = hash\new();
|
|
||||||
$h_verr_med = hash\new();
|
|
||||||
|
|
||||||
$h_surplus_hom = hash\new();
|
|
||||||
$h_saldi_hom = hash\new();
|
|
||||||
$h_verr_hom = hash\new();
|
|
||||||
|
|
||||||
$na_n = array\length($na_rows);
|
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
||||||
// Sla alle saldi op
|
|
||||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
log('warning', 'Alle saldi opslaan');
|
|
||||||
|
|
||||||
$na_i = 0;
|
|
||||||
while($na_i < $na_n,
|
|
||||||
$na_row = array\at($na_rows, $na_i);
|
|
||||||
$na_id = hash\get($na_row, 'id');
|
|
||||||
|
|
||||||
$na_saldo = hash\get($na_row, 'dagenSaldo');
|
|
||||||
$h_saldi = hash\set($h_saldi, $na_id, $na_saldo);
|
|
||||||
$h_verr = hash\set($h_verr, $na_id, '');
|
|
||||||
|
|
||||||
$na_saldo_med = hash\get($na_row, 'medischSaldo');
|
|
||||||
$h_saldi_med = hash\set($h_saldi_med, $na_id, $na_saldo_med);
|
|
||||||
$h_verr_med = hash\set($h_verr_med, $na_id, '');
|
|
||||||
|
|
||||||
$na_saldo_hom = hash\get($na_row, 'homeopathieSaldo');
|
|
||||||
$h_saldi_hom = hash\set($h_saldi_hom, $na_id, $na_saldo_hom);
|
|
||||||
$h_verr_hom = hash\set($h_verr_hom, $na_id, '');
|
|
||||||
|
|
||||||
$na_i = $na_i + 1;
|
|
||||||
);
|
|
||||||
|
|
||||||
log('warning', 'Oke, klaar');
|
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
||||||
// Pas de eenvoudige doorschuif methode toe t/m het gegeven jaar voor methode 1
|
|
||||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
$na_jaar_max = -1;
|
|
||||||
$na_i = 0;
|
|
||||||
$na_surplus = 0;
|
|
||||||
while($na_i < $na_n && hash\get(array\at($na_rows, $na_i), 'jaar') <= $na_methode_1_max_jaar,
|
|
||||||
|
|
||||||
$na_row = array\at($na_rows, $na_i);
|
|
||||||
$na_id = hash\get($na_row, 'id');
|
|
||||||
|
|
||||||
$na_jaar = hash\get($na_row, 'jaar');
|
|
||||||
ifThen($na_jaar > $na_jaar_max, $na_jaar_max = $na_jaar);
|
|
||||||
|
|
||||||
$na_verr = hash\get($h_verr, $na_id);
|
|
||||||
|
|
||||||
$na_saldo = hash\get($na_row, 'dagenSaldo');
|
|
||||||
$na_start_surplus = hash\get($na_row, 'startSurplus');
|
|
||||||
$na_saldo_med = hash\get($na_row, 'medischSaldo');
|
|
||||||
$na_saldo_hom = hash\get($na_row, 'homeopathieSaldo');
|
|
||||||
$na_examenjaar = hash\get($na_row, 'examenjaar');
|
|
||||||
|
|
||||||
$na_dg_totaal = hash\get($na_row, 'dagenTotaal');
|
|
||||||
$na_dg_med = hash\get($na_row, 'dagenMedisch');
|
|
||||||
$na_dg_hom = hash\get($na_row, 'dagenHomeopathie');
|
|
||||||
|
|
||||||
strAdd($na_verr, "[TDagen gevolgd:][N", number\format($na_dg_totaal, 1), "]%%");
|
|
||||||
|
|
||||||
$na_norm_med = hash\get($na_row, 'medischFormeleNorm');
|
|
||||||
|
|
||||||
$na_norm_tot = hash\get($na_row, 'dagenFormeleNorm');
|
|
||||||
strAdd($na_verr, "[TNorm:][N", number\format($na_norm_tot, 1), "]%%");
|
|
||||||
ifThen($na_examenjaar,
|
|
||||||
strAdd($na_verr, "[RIn het examenjaar of daarvoor hoeft niet nageschoold te worden.R]%%");
|
|
||||||
);
|
|
||||||
|
|
||||||
$na_surplus_gemaximeerd = false;
|
|
||||||
$na_surplus_old = $na_surplus;
|
|
||||||
$na_surplus = $na_surplus + $na_saldo;
|
|
||||||
ifThen($na_surplus > $na_methode_1_max_surplus, $na_surplus = $na_methode_1_max_surplus; $na_surplus_gemaximeerd = true);
|
|
||||||
|
|
||||||
$na_surplus_med = $na_saldo_med;
|
|
||||||
$na_surplus_hom = $na_saldo_hom;
|
|
||||||
|
|
||||||
strAdd($na_verr, "[TSaldo dagen:][N", number\format($na_saldo, 1), "]%%");
|
|
||||||
|
|
||||||
ifThenElse($na_start_surplus != 0.0,
|
|
||||||
strAdd($na_verr, "[TResterend Saldo dagen uit voorgaande jaren:][N", number\format($na_start_surplus, 1), "]%%");
|
|
||||||
,
|
|
||||||
strAdd($na_verr, "[TResterend Saldo dagen van ", $na_jaar - 1, ":][N", number\format($na_surplus_old , 1), "]%%");
|
|
||||||
);
|
|
||||||
|
|
||||||
ifThen($na_surplus >= 0,
|
|
||||||
ifThen($na_surplus_gemaximeerd,
|
|
||||||
strAdd($na_verr, "[TResterend saldo dagen gemaximaliseerd op:][N", number\format($na_surplus, 1), "]%%");
|
|
||||||
);
|
|
||||||
);
|
|
||||||
|
|
||||||
$h_verr = Hash\Set($h_verr, $na_id, $na_verr);
|
|
||||||
|
|
||||||
/*ifThenElse($na_norm_med > 0,
|
|
||||||
$na_verr = hash\get($h_verr_med, $na_id);
|
|
||||||
strAdd($na_verr, '[TDagen gevolgd:][N', number\format($na_dg_med, 1), ']%%');
|
|
||||||
strAdd($na_verr, '[TNorm:][N', number\format($na_norm_med, 1), ']%%');
|
|
||||||
strAdd($na_verr, '[TSaldo dagen:][N', number\format($na_saldo_med, 1), ']%%');
|
|
||||||
$h_verr_med = Hash\Set($h_verr_med, $na_id, $na_verr);
|
|
||||||
,
|
|
||||||
$h_verr_med = Hash\Set($h_verr_med, $na_id, '');
|
|
||||||
);*/
|
|
||||||
|
|
||||||
$h_verr_hom = Hash\Set($h_verr_hom, $na_id, '');
|
|
||||||
$h_surplus = Hash\Set($h_surplus, $na_id, $na_surplus);
|
|
||||||
$h_surplus_med = Hash\Set($h_surplus_med, $na_id, $na_saldo_med);
|
|
||||||
$h_surplus_hom = Hash\Set($h_surplus_hom, $na_id, $na_saldo_hom);
|
|
||||||
|
|
||||||
log('warning', 'jaar=', $na_jaar, ', saldo=', $na_saldo, ', surplus=', $na_surplus);
|
|
||||||
|
|
||||||
$na_i = $na_i + 1;
|
|
||||||
);
|
|
||||||
|
|
||||||
log('warning', 'Door:', $na_i);
|
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
||||||
// Nu wordt het moeilijker. Vanaf dit jaar moeten de drie saldi samen >= 0 zijn voor ieder opeenvolgend stel.
|
|
||||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
$na_ii = $na_i;
|
|
||||||
|
|
||||||
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');
|
|
||||||
|
|
||||||
// Normen bepalen
|
|
||||||
$na_norm_hom = hash\get($na_row, 'homeopathieFormeleNorm');
|
|
||||||
$na_norm_med = hash\get($na_row, 'medischFormeleNorm');
|
|
||||||
$na_norm_tot = hash\get($na_row, 'dagenFormeleNorm');
|
|
||||||
$na_examenjaar = hash\get($na_row, 'examenjaar');
|
|
||||||
|
|
||||||
// Gevolgde dagen bepalen
|
|
||||||
$na_dg_werkgroep = hash\get($na_row, 'dagenWerkgroep');
|
|
||||||
$na_dg_vrij = hash\get($na_row, 'dagenVrijstelling');
|
|
||||||
$na_dg_totaal = hash\get($na_row, 'dagenTotaal');
|
|
||||||
$na_dg_hom = hash\get($na_row, 'dagenHomeopathie');
|
|
||||||
$na_dg_med = hash\get($na_row, 'dagenMedisch');
|
|
||||||
$na_dg_ovg = hash\get($na_row, 'dagen');
|
|
||||||
|
|
||||||
log('warning', 'na_jaar = ', $na_jaar, ' - na_dg_totaal = ', $na_dg_totaal);
|
|
||||||
|
|
||||||
$na_verr = hash\get($h_verr_hom, $na_id);
|
|
||||||
$saldo = hash\get($h_saldi_hom, $na_id);
|
|
||||||
|
|
||||||
strAdd($na_verr, "[TDagen gevolgd:][N", number\format($na_dg_hom, 1), "]%%");
|
|
||||||
strAdd($na_verr, "[TNorm:][N", number\format($na_norm_hom, 1), "]%%");
|
|
||||||
ifThen($na_examenjaar,
|
|
||||||
strAdd($na_verr, "[RIn het examenjaar of daarvoor hoeft niet nageschoold te worden.R]%%");
|
|
||||||
);
|
|
||||||
strAdd($na_verr, "[TSaldo dagen:][N", number\format($saldo, 1), "]%%");
|
|
||||||
|
|
||||||
$h_verr_hom = hash\set($h_verr_hom, $na_id, $na_verr);
|
|
||||||
|
|
||||||
$na_verr = hash\get($h_verr_med, $na_id);
|
|
||||||
$saldo = hash\get($h_saldi_med, $na_id);
|
|
||||||
|
|
||||||
strAdd($na_verr, "[TDagen gevolgd:][N", number\format($na_dg_med, 1), "]%%");
|
|
||||||
strAdd($na_verr, "[TNorm:][N", number\format($na_norm_med, 1), "]%%");
|
|
||||||
ifThen($na_examenjaar,
|
|
||||||
strAdd($na_verr, "[RIn het examenjaar of daarvoor hoeft niet nageschoold te worden.R]%%");
|
|
||||||
);
|
|
||||||
strAdd($na_verr, "[TSaldo dagen:][N", number\format($saldo, 1), "]%%");
|
|
||||||
|
|
||||||
$h_verr_med = hash\set($h_verr_med, $na_id, $na_verr);
|
|
||||||
|
|
||||||
$na_verr = hash\get($h_verr, $na_id);
|
|
||||||
$saldo = hash\get($h_saldi, $na_id);
|
|
||||||
|
|
||||||
strAdd($na_verr, "[TDagen gevolgd:][N", number\format($na_dg_totaal, 1), "]%%");
|
|
||||||
|
|
||||||
strAdd($na_verr, "[IDagen voor klassieke homeopathie:I][NI", number\format($na_dg_hom, 1), "]%%");
|
|
||||||
strAdd($na_verr, "[IDagen voor medisch:I][NI", number\format($na_dg_med, 1), "]%%");
|
|
||||||
strAdd($na_verr, "[IDagen voor homeopathie overig:I][NI", number\format($na_dg_ovg, 1), "]%%");
|
|
||||||
strAdd($na_verr, "[IDagen voor werkgroep deelname:I][NI", number\format($na_dg_werkgroep, 1), "]%%");
|
|
||||||
ifThen($na_dg_vrij > 0,
|
|
||||||
strAdd($na_verr, "[TDagen vrijstelling:][N", number\format($na_dg_vrij, 1), "]%%");
|
|
||||||
);
|
|
||||||
strAdd($na_verr, "[TNorm:][N", number\format($na_norm_tot, 1), "]%%");
|
|
||||||
ifThen($na_examenjaar,
|
|
||||||
strAdd($na_verr, "[RIn het examenjaar of daarvoor hoeft niet nageschoold te worden.R]%%");
|
|
||||||
);
|
|
||||||
strAdd($na_verr, "[TSaldo dagen:][N", number\format($saldo, 1), "]%%");
|
|
||||||
|
|
||||||
$h_verr = hash\set($h_verr, $na_id, $na_verr);
|
|
||||||
|
|
||||||
// En de volgende rij
|
|
||||||
$na_i = $na_i + 1;
|
|
||||||
);
|
|
||||||
|
|
||||||
$na_i = $na_ii;
|
|
||||||
while($na_i < $na_n,
|
|
||||||
|
|
||||||
$na_row_prev = null;
|
|
||||||
ifThen($na_i > 0, $na_row_prev = array\at($na_rows, $na_i - 1);$na_id_prev = hash\get($na_row_prev, 'id'););
|
|
||||||
$na_row_next = null;
|
|
||||||
ifThen($na_i < ($na_n - 1), $na_row_next = array\at($na_rows, $na_i + 1);$na_id_next = hash\get($na_row_next, 'id'););
|
|
||||||
|
|
||||||
$na_row = array\at($na_rows, $na_i);
|
|
||||||
$na_id = hash\get($na_row, 'id');
|
|
||||||
$na_jaar = hash\get($na_row, 'jaar');
|
|
||||||
ifThen($na_jaar > $na_jaar_max, $na_jaar_max = $na_jaar);
|
|
||||||
|
|
||||||
// Normen bepalen
|
|
||||||
$na_norm_hom = hash\get($na_row, 'homeopathieFormeleNorm');
|
|
||||||
$na_norm_med = hash\get($na_row, 'medischFormeleNorm');
|
|
||||||
$na_norm_tot = hash\get($na_row, 'dagenFormeleNorm');
|
|
||||||
$na_examenjaar = hash\get($na_row, 'examenjaar');
|
|
||||||
|
|
||||||
// Gevolgde dagen bepalen
|
|
||||||
$na_dg_werkgroep = hash\get($na_row, 'dagenWerkgroep');
|
|
||||||
$na_dg_vrij = hash\get($na_row, 'dagenVrijstelling');
|
|
||||||
$na_dg_totaal = hash\get($na_row, 'dagenTotaal');
|
|
||||||
$na_dg_hom = hash\get($na_row, 'dagenHomeopathie');
|
|
||||||
$na_dg_med = hash\get($na_row, 'dagenMedisch');
|
|
||||||
$na_dg_ovg = hash\get($na_row, 'dagen');
|
|
||||||
|
|
||||||
// Check of je het voorgaande surplus en evt. het opvolgende saldo kunt gebruiken om
|
|
||||||
// te compenseren op het huidige saldo, indien dat noodzakelijk is.
|
|
||||||
// Als het huidige saldo negatief is, moet dit worden gecompenseerd vanuit het voorgaande surplus en/of het opvolgende saldo.
|
|
||||||
// Als je het negatieve saldo van medisch of van klassieke homeopathie ophoogt, dan
|
|
||||||
// hoog je daarmee ook het totaal aantal dagen op. Dus die correctie moet je dan ook bij het totaal toepassen.
|
|
||||||
|
|
||||||
// Let op. Het aantal dagen dat wordt gecompenseerd mag niet het totaal aantal dagen van de norm overschrijden.
|
|
||||||
// Dus, als het totaal aantal dagen 5 is en de norm is 4, dan kan ik maximaal 1 dag compenseren, ook al heb ik misschien
|
|
||||||
// van zowel medisch als homeopathie 1 dag over, dus in totaal 2 dagen.
|
|
||||||
|
|
||||||
$na_totaal_extra = 0;
|
|
||||||
|
|
||||||
// Eerst berekenen we de klassieke homeopathie.
|
|
||||||
// $h_saldi_hom, $h_surplus_hom, $h_verr_hom
|
|
||||||
|
|
||||||
log('warning', 'Berekenen Klassieke Homeopathie:');
|
|
||||||
ifThenElse($na_row_prev,
|
|
||||||
$prev_surplus = hash\get($h_surplus_hom, $na_id_prev);
|
|
||||||
$prev_surplus_tot = hash\get($h_surplus, $na_id_prev);
|
|
||||||
,
|
|
||||||
$prev_surplus = 0;
|
|
||||||
$prev_surplus_tot = 0;
|
|
||||||
);
|
|
||||||
ifThenElse($na_row_next,
|
|
||||||
$next_saldo = hash\get($h_saldi_hom, $na_id_next);
|
|
||||||
$next_saldo_tot = hash\get($h_saldi, $na_id_next);
|
|
||||||
,
|
|
||||||
$next_saldo = 0;
|
|
||||||
$next_saldo_tot = 0;
|
|
||||||
);
|
|
||||||
$saldo = hash\get($h_saldi_hom, $na_id);
|
|
||||||
$na_verr = hash\get($h_verr_hom, $na_id);
|
|
||||||
|
|
||||||
$na_surplus = $saldo;
|
|
||||||
|
|
||||||
// Kijk of je gebruik kunt maken van het surplus van het voorgaande jaar, tot maximaal de norm.
|
|
||||||
ifThenElse($prev_surplus > 0 && $prev_surplus_tot > 0,
|
|
||||||
$na_verr_a = hash\get($h_verr_hom, $na_id_prev);
|
|
||||||
$na_verr_t = hash\get($h_verr, $na_id_prev);
|
|
||||||
$na_verr_tot = hash\get($h_verr, $na_id);
|
|
||||||
|
|
||||||
ifThenElse($prev_surplus > $prev_surplus_tot,
|
|
||||||
$max_compensatie = $prev_surplus_tot;
|
|
||||||
$na_uitleg_extra = " (totaal < kl. homeopathie)";
|
|
||||||
,
|
|
||||||
$max_compensatie = $prev_surplus;
|
|
||||||
$na_uitleg_extra = "";
|
|
||||||
);
|
|
||||||
$na_uitleg = string\concatenate("Aantal dagen surplus kl. homeopathie overgenomen uit ", toString($na_jaar - 1));
|
|
||||||
$na_uitleg_a = string\concatenate("Aantal dagen surplus kl. homeopathie doorgeschoven naar ", toString($na_jaar));
|
|
||||||
strAdd($na_uitleg, $na_uitleg_extra);
|
|
||||||
strAdd($na_uitleg_a, $na_uitleg_extra);
|
|
||||||
|
|
||||||
ifThen($max_compensatie > $na_norm_hom,
|
|
||||||
$max_compensatie = $na_norm_hom;
|
|
||||||
$na_norm_uitl = string\concatenate(", gemaximaliseerd op de norm van ", number\format($na_norm_hom, 1));
|
|
||||||
strAdd($na_uitleg, $na_norm_uitl);
|
|
||||||
strAdd($na_uitleg_a, $na_norm_uitl);
|
|
||||||
);
|
|
||||||
|
|
||||||
strAdd($na_verr, "[I", $na_uitleg, ":I][NI", number\format($max_compensatie, 1), "]%%");
|
|
||||||
strAdd($na_verr_tot, "[I", $na_uitleg, ":I][NI", number\format($max_compensatie, 1), "]%%");
|
|
||||||
strAdd($na_verr_a, "[I", $na_uitleg_a, ":I][NI", number\format($max_compensatie, 1), "]%%");
|
|
||||||
strAdd($na_verr_t, "[I", $na_uitleg_a, ":I][NI", number\format($max_compensatie, 1), "]%%");
|
|
||||||
|
|
||||||
$prev_surplus = $prev_surplus - $max_compensatie;
|
|
||||||
$prev_surplus_tot = $prev_surplus_tot - $max_compensatie;
|
|
||||||
$na_surplus = $na_surplus + $max_compensatie;
|
|
||||||
$na_totaal_extra = $na_totaal_extra + $max_compensatie;
|
|
||||||
|
|
||||||
$h_verr_hom = hash\set($h_verr_hom, $na_id_prev, $na_verr_a);
|
|
||||||
$h_verr = hash\set($h_verr, $na_id_prev, $na_verr_t);
|
|
||||||
$h_verr = hash\set($h_verr, $na_id, $na_verr_tot);
|
|
||||||
,
|
|
||||||
ifThen($prev_surplus > 0,
|
|
||||||
strAdd($na_verr, "[EHoewel het saldo kl. homeopathie dagen in ", toString($na_jaar - 1), " toereikend is",
|
|
||||||
", kan er niet doogeschoven worden, omdat het totaal saldo van ", toString($na_jaar - 1), " <= 0 isE]%%");
|
|
||||||
);
|
|
||||||
);
|
|
||||||
|
|
||||||
ifThenElse($na_surplus < 0,
|
|
||||||
// Als het surplus daarna nog < 0 is (een tekort), kijk dan of je kunt gebruik maken van het saldo van opvolgend jaar.
|
|
||||||
$na_verr_a = hash\get($h_verr_hom, $na_id_next);
|
|
||||||
$na_verr_t = hash\get($h_verr, $na_id_next);
|
|
||||||
// Het huidig surplus klassieke homeopathie voldoet niet.
|
|
||||||
// Als er nu een huidig totaal surplus is, en het saldo klassieke homeopathie van het opvolgende jaar
|
|
||||||
// is voldoende en het totaal saldo van het opvolgende jaar + het totaal surplus van het huidige jaar is voldoende
|
|
||||||
// dan kan er nog wat.
|
|
||||||
|
|
||||||
ifThenElse($next_saldo > ($next_saldo_tot + $na_totaal_extra),
|
|
||||||
$max_compensatie = ($next_saldo_tot + $na_totaal_extra),
|
|
||||||
$max_compensatie = $next_saldo
|
|
||||||
);
|
|
||||||
|
|
||||||
ifThen($max_compensatie > 0,
|
|
||||||
ifThenElse(($max_compensatie + $na_surplus) >= 0,
|
|
||||||
strAdd($na_verr_a, "[IAantal dagen gebruikt om ", toString($na_jaar), " te compenseren:I][NI", number\format(-1 * $na_surplus, 1), "]%%");
|
|
||||||
strAdd($na_verr_t, "[IAantal dagen gebruikt om voor ", toString($na_jaar), " klassieke homeopathie te compenseren:I][NI", number\format(-1 * $na_surplus, 1), "]%%");
|
|
||||||
strAdd($na_verr, "[IGecompenseerd met aantal dagen uit ", toString($na_jaar + 1), ":I][NI", number\format(-1 * $na_surplus, 1), "]%%");
|
|
||||||
$next_saldo = $next_saldo + $na_surplus;
|
|
||||||
$next_saldo_tot = $next_saldo_tot + $na_surplus;
|
|
||||||
$na_surplus = 0;
|
|
||||||
,
|
|
||||||
strAdd($na_verr_a, "[IAantal dagen gebruikt om ", toString($na_jaar), " te compenseren:I][NI", number\format($max_compensatie, 1), "]%%");
|
|
||||||
strAdd($na_verr_t, "[IAantal dagen gebruikt om voor ", toString($na_jaar), " klassieke homeopathie te compenseren:I][NI", number\format($max_compensatie, 1), "]%%");
|
|
||||||
strAdd($na_verr, "[IGecompenseerd met aantal dagen uit ", toString($na_jaar + 1), ":I][NI", number\format($max_compensatie, 1), "]%%");
|
|
||||||
$na_surplus = $na_surplus + $max_compensatie;
|
|
||||||
$next_saldo = $next_saldo - $max_compensatie;
|
|
||||||
$next_saldo_tot = $next_saldo_tot - $max_compensatie;
|
|
||||||
);
|
|
||||||
,
|
|
||||||
ifThen($next_saldo > ($next_saldo_tot + $na_totaal_extra) && $next_saldo > 0,
|
|
||||||
strAdd($na_verr, "[EHoewel het saldo kl. homeopathie dagen in ", toString($na_jaar + 1), " toereikend is",
|
|
||||||
", kan er niet gecompenseerd worden, omdat het totaal saldo van ", toString($na_jaar + 1), " <= 0 isE]%%");
|
|
||||||
);
|
|
||||||
);
|
|
||||||
$h_verr_hom = hash\set($h_verr_hom, $na_id_next, $na_verr_a);
|
|
||||||
$h_verr = hash\set($h_verr, $na_id_next, $na_verr_t);
|
|
||||||
);
|
|
||||||
|
|
||||||
// Nu de saldi opslaan en surplus opslaan
|
|
||||||
ifThen($na_row_prev,
|
|
||||||
$h_surplus_hom = hash\set($h_surplus_hom, $na_id_prev, $prev_surplus);
|
|
||||||
$h_surplus = hash\set($h_surplus, $na_id_prev, $prev_surplus_tot);
|
|
||||||
);
|
|
||||||
ifThen($na_row_next,
|
|
||||||
$h_saldi_hom = hash\set($h_saldi_hom, $na_id_next, $next_saldo);
|
|
||||||
$h_saldi = hash\set($h_saldi, $na_id_next, $next_saldo_tot);
|
|
||||||
);
|
|
||||||
$h_surplus_hom = Hash\Set($h_surplus_hom, $na_id, $na_surplus);
|
|
||||||
$h_verr_hom = Hash\Set($h_verr_hom, $na_id, $na_verr);
|
|
||||||
$na_end_hom = $na_surplus;
|
|
||||||
|
|
||||||
// Daarna berekenen we het medische gedeelte
|
|
||||||
// $h_saldi_med, $h_surplus_med, $h_verr_med
|
|
||||||
|
|
||||||
log('warning', 'Berekenen Medische Dagen:');
|
|
||||||
ifThenElse($na_row_prev,
|
|
||||||
$prev_surplus = hash\get($h_surplus_med, $na_id_prev);
|
|
||||||
$prev_surplus_tot = hash\get($h_surplus, $na_id_prev);
|
|
||||||
,
|
|
||||||
$prev_surplus = 0;
|
|
||||||
$prev_surplus_tot = 0;
|
|
||||||
);
|
|
||||||
ifThenElse($na_row_next,
|
|
||||||
$next_saldo = hash\get($h_saldi_med, $na_id_next);
|
|
||||||
$next_saldo_tot = hash\get($h_saldi, $na_id_next);
|
|
||||||
,
|
|
||||||
$next_saldo = 0;
|
|
||||||
$next_saldo_tot = 0;
|
|
||||||
);
|
|
||||||
$saldo = hash\get($h_saldi_med, $na_id);
|
|
||||||
$na_verr = hash\get($h_verr_med, $na_id);
|
|
||||||
|
|
||||||
$na_surplus = $saldo;
|
|
||||||
log('warning', 'jaar = ', $na_jaar, ' - surplus medisch = ', $na_surplus);
|
|
||||||
|
|
||||||
// Kijk of je gebruik kunt maken van het surplus van het voorgaande jaar, tot maximaal de norm.
|
|
||||||
ifThenElse($prev_surplus > 0 && $prev_surplus_tot > 0,
|
|
||||||
$na_verr_a = hash\get($h_verr_med, $na_id_prev);
|
|
||||||
$na_verr_t = hash\get($h_verr, $na_id_prev);
|
|
||||||
$na_verr_tot = hash\get($h_verr, $na_id);
|
|
||||||
|
|
||||||
ifThenElse($prev_surplus > $prev_surplus_tot,
|
|
||||||
$max_compensatie = $prev_surplus_tot;
|
|
||||||
$na_uitleg_extra = " (totaal < medisch)";
|
|
||||||
,
|
|
||||||
$max_compensatie = $prev_surplus;
|
|
||||||
$na_uitleg_extra = "";
|
|
||||||
);
|
|
||||||
$na_uitleg = string\concatenate("Aantal dagen surplus medisch overgenomen uit ", toString($na_jaar - 1));
|
|
||||||
$na_uitleg_a = string\concatenate("Aantal dagen surplus medisch doorgeschoven naar ", toString($na_jaar));
|
|
||||||
strAdd($na_uitleg, $na_uitleg_extra);
|
|
||||||
strAdd($na_uitleg_a, $na_uitleg_extra);
|
|
||||||
|
|
||||||
ifThen($max_compensatie > $na_norm_med,
|
|
||||||
$max_compensatie = $na_norm_med;
|
|
||||||
$na_norm_uitl = string\concatenate(", gemaximaliseerd op de norm van ", number\format($na_norm_med, 1));
|
|
||||||
strAdd($na_uitleg, $na_norm_uitl);
|
|
||||||
strAdd($na_uitleg_a, $na_norm_uitl);
|
|
||||||
);
|
|
||||||
|
|
||||||
strAdd($na_verr, "[I", $na_uitleg, ":I][NI", number\format($max_compensatie, 1), "]%%");
|
|
||||||
strAdd($na_verr_tot, "[I", $na_uitleg, ":I][NI", number\format($max_compensatie, 1), "]%%");
|
|
||||||
strAdd($na_verr_a, "[I", $na_uitleg_a, ":I][NI", number\format($max_compensatie, 1), "]%%");
|
|
||||||
strAdd($na_verr_t, "[I", $na_uitleg_a, ":I][NI", number\format($max_compensatie, 1), "]%%");
|
|
||||||
|
|
||||||
$prev_surplus = $prev_surplus - $max_compensatie;
|
|
||||||
$prev_surplus_tot = $prev_surplus_tot - $max_compensatie;
|
|
||||||
$na_surplus = $na_surplus + $max_compensatie;
|
|
||||||
$na_totaal_extra = $na_totaal_extra + $max_compensatie;
|
|
||||||
|
|
||||||
$h_verr_med = hash\set($h_verr_med, $na_id_prev, $na_verr_a);
|
|
||||||
$h_verr = hash\set($h_verr, $na_id_prev, $na_verr_t);
|
|
||||||
$h_verr = hash\set($h_verr, $na_id, $na_verr_tot);
|
|
||||||
,
|
|
||||||
ifThen($prev_surplus > 0,
|
|
||||||
strAdd($na_verr, "[EHoewel het saldo medisch dagen in ", toString($na_jaar - 1), " toereikend is",
|
|
||||||
", kan er niet doorgeschoven worden, omdat het totaal saldo van ", toString($na_jaar - 1), " <= 0 isE]%%");
|
|
||||||
);
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
ifThen($na_surplus < 0,
|
|
||||||
// Als het surplus daarna nog < 0 is (een tekort), kijk dan of je kunt gebruik maken van het saldo van opvolgend jaar.
|
|
||||||
$na_verr_a = hash\get($h_verr_med, $na_id_next);
|
|
||||||
$na_verr_t = hash\get($h_verr, $na_id_next);
|
|
||||||
|
|
||||||
ifThenElse($next_saldo > ($next_saldo_tot + $na_totaal_extra),
|
|
||||||
$max_compensatie = ($next_saldo_tot + $na_totaal_extra),
|
|
||||||
$max_compensatie = $next_saldo
|
|
||||||
);
|
|
||||||
|
|
||||||
strAdd($na_verr, "[Enext-saldo = ", $next_saldo, ", next-saldo-tot = ", $next_saldo_tot, ", max-compensatie = ", $max_compensatie, "E]%%");
|
|
||||||
strAdd($na_verr, "[Ena_totaal_extra = ", $na_totaal_extra, "E]%%");
|
|
||||||
|
|
||||||
ifThenElse($max_compensatie > 0,
|
|
||||||
ifThenElse(($max_compensatie + $na_surplus) >= 0,
|
|
||||||
strAdd($na_verr_a, "[IAantal dagen gebruikt om ", toString($na_jaar), " te compenseren:I][NI", number\format(-1 * $na_surplus, 1), "]%%");
|
|
||||||
strAdd($na_verr_t, "[IAantal dagen gebruikt om voor ", toString($na_jaar), " medisch te compenseren:I][NI", number\format(-1 * $na_surplus, 1), "]%%");
|
|
||||||
strAdd($na_verr, "[IGecompenseerd met aantal dagen uit ", toString($na_jaar + 1), ":I][NI", number\format(-1 * $na_surplus, 1), "]%%");
|
|
||||||
$next_saldo = $next_saldo + $na_surplus;
|
|
||||||
$next_saldo_tot = $next_saldo_tot + $na_surplus;
|
|
||||||
$na_surplus = 0;
|
|
||||||
,
|
|
||||||
strAdd($na_verr_a, "[IAantal dagen gebruikt om ", toString($na_jaar), " te compenseren:I][NI", number\format($max_compensatie, 1), "]%%");
|
|
||||||
strAdd($na_verr_t, "[IAantal dagen gebruikt om voor ", toString($na_jaar), " medisch te compenseren:I][NI", number\format($max_compensatie, 1), "]%%");
|
|
||||||
strAdd($na_verr, "[IGecompenseerd met aantal dagen uit ", toString($na_jaar + 1), ":I][NI", number\format($max_compensatie, 1), "]%%");
|
|
||||||
$na_surplus = $na_surplus + $max_compensatie;
|
|
||||||
$next_saldo = $next_saldo - $max_compensatie;
|
|
||||||
$next_saldo_tot = $next_saldo_tot - $max_compensatie;
|
|
||||||
);
|
|
||||||
,
|
|
||||||
ifThen($next_saldo > ($next_saldo_tot + $na_totaal_extra) && $next_saldo > 0,
|
|
||||||
strAdd($na_verr, "[EHoewel het saldo medische dagen in ", toString($na_jaar + 1), " toereikend is",
|
|
||||||
", kan er niet gecompenseerd worden, omdat het totaal saldo van ", toString($na_jaar + 1), " <= 0 isE]%%");
|
|
||||||
);
|
|
||||||
);
|
|
||||||
$h_verr_med = hash\set($h_verr_med, $na_id_next, $na_verr_a);
|
|
||||||
$h_verr = hash\set($h_verr, $na_id_next, $na_verr_t);
|
|
||||||
);
|
|
||||||
|
|
||||||
// Nu de saldi opslaan en surplus opslaan
|
|
||||||
ifThen($na_row_prev,
|
|
||||||
$h_surplus_med = hash\set($h_surplus_med, $na_id_prev, $prev_surplus);
|
|
||||||
$h_surplus = hash\set($h_surplus, $na_id_prev, $prev_surplus_tot);
|
|
||||||
);
|
|
||||||
ifThen($na_row_next,
|
|
||||||
$h_saldi_med = hash\set($h_saldi_med, $na_id_next, $next_saldo);
|
|
||||||
$h_saldi = hash\set($h_saldi, $na_id_next, $next_saldo_tot);
|
|
||||||
);
|
|
||||||
|
|
||||||
log('warning', 'jaar = ', $na_jaar, ' - surplus medisch berekend = ', $na_surplus);
|
|
||||||
|
|
||||||
$h_surplus_med = Hash\Set($h_surplus_med, $na_id, $na_surplus);
|
|
||||||
$h_verr_med = Hash\Set($h_verr_med, $na_id, $na_verr);
|
|
||||||
$na_end_med = $na_surplus;
|
|
||||||
|
|
||||||
// En nu berekenen we het totaal. Dat is en blijft een lastige
|
|
||||||
// $h_saldi, $h_surplus, $h_verr
|
|
||||||
|
|
||||||
log('warning', 'Berekenen Totaal Dagen:');
|
|
||||||
ifThenElse($na_row_prev, $prev_surplus = hash\get($h_surplus, hash\get($na_row_prev, 'id')), $prev_surplus = 0);
|
|
||||||
ifThenElse($na_row_next, $next_saldo = hash\get($h_saldi, hash\get($na_row_next, 'id')), $next_saldo = 0);
|
|
||||||
$saldo = hash\get($h_saldi, $na_id);
|
|
||||||
$na_verr = hash\get($h_verr, $na_id);
|
|
||||||
|
|
||||||
$na_surplus = $saldo;
|
|
||||||
|
|
||||||
// Kijk of je gebruik kunt maken van het surplus van het voorgaande jaar, tot maximaal de norm.
|
|
||||||
ifThen($prev_surplus > 0,
|
|
||||||
$na_verr_a = hash\get($h_verr, $na_id_prev);
|
|
||||||
|
|
||||||
$max_compensatie = $prev_surplus;
|
|
||||||
$na_uitleg = string\concatenate("Aantal aantal dagen surplus overgenomen uit ", toString($na_jaar - 1));
|
|
||||||
$na_uitleg_a = string\concatenate("Aantal dagen surplus doorgeschoven naar ", toString($na_jaar));
|
|
||||||
|
|
||||||
ifThen(($na_totaal_extra + $max_compensatie) > $na_norm_tot,
|
|
||||||
$max_compensatie = $na_norm_tot - $na_totaal_extra;
|
|
||||||
ifThenElse($na_totaal_extra > 0,
|
|
||||||
$norm_uitleg = string\concatenate(", incl. kl. hom. en medisch gemaximaliseerd op de norm van ", number\format($na_norm_tot, 1));
|
|
||||||
,
|
|
||||||
$norm_uitleg = string\concatenate(", gemaximaliseerd op de norm van ", number\format($na_norm_tot, 1));
|
|
||||||
);
|
|
||||||
|
|
||||||
strAdd($na_uitleg, $norm_uitleg);
|
|
||||||
strAdd($na_uitleg_a, $norm_uitleg);
|
|
||||||
);
|
|
||||||
|
|
||||||
strAdd($na_verr, "[I", $na_uitleg, ":I][NI", number\format($max_compensatie, 1), "]%%");
|
|
||||||
strAdd($na_verr_a, "[I", $na_uitleg_a, ":I][NI", number\format($max_compensatie, 1), "]%%");
|
|
||||||
|
|
||||||
$prev_surplus = $prev_surplus - $max_compensatie;
|
|
||||||
$na_surplus = $na_surplus + $max_compensatie + $na_totaal_extra;
|
|
||||||
|
|
||||||
$h_verr = hash\set($h_verr, $na_id_prev, $na_verr_a);
|
|
||||||
);
|
|
||||||
|
|
||||||
ifThen($na_surplus < 0,
|
|
||||||
// Als het surplus daarna nog < 0 is (een tekort), kijk dan of je kunt gebruik maken van het saldo van opvolgend jaar.
|
|
||||||
$na_verr_a = hash\get($h_verr, $na_id_next);
|
|
||||||
ifThen($next_saldo > 0,
|
|
||||||
ifThenElse(($next_saldo + $na_surplus) >= 0,
|
|
||||||
strAdd($na_verr_a, "[IAantal dagen gebruikt om ", toString($na_jaar), " te compenseren:I][NI", number\format(-1 * $na_surplus, 1), "]%%");
|
|
||||||
strAdd($na_verr, "[IGecompenseerd met aantal dagen uit ", toString($na_jaar + 1), ":I][NI", number\format(-1 * $na_surplus, 1), "]%%");
|
|
||||||
$next_saldo = $next_saldo + $na_surplus;
|
|
||||||
$na_surplus = 0;
|
|
||||||
,
|
|
||||||
strAdd($na_verr_a, "[IAantal dagen gebruikt om ", toString($na_jaar), " te compenseren:I][NI", number\format($next_saldo, 1), "]%%");
|
|
||||||
strAdd($na_verr, "[IGecompenseerd met aantal dagen uit ", toString($na_jaar + 1), ":I][NI", number\format($next_saldo, 1), "]%%");
|
|
||||||
$na_surplus = $na_surplus + $next_saldo;
|
|
||||||
$next_saldo = 0;
|
|
||||||
);
|
|
||||||
);
|
|
||||||
$h_verr = hash\set($h_verr, $na_id_next, $na_verr_a);
|
|
||||||
);
|
|
||||||
|
|
||||||
// Nu de saldi opslaan en surplus opslaan
|
|
||||||
ifThen($na_row_prev, $h_surplus = hash\set($h_surplus, $na_id_prev, $prev_surplus));
|
|
||||||
ifThen($na_row_next, $h_saldi = hash\set($h_saldi, $na_id_next, $next_saldo));
|
|
||||||
|
|
||||||
$h_surplus = Hash\Set($h_surplus, $na_id, $na_surplus);
|
|
||||||
$h_verr = Hash\Set($h_verr, $na_id, $na_verr);
|
|
||||||
|
|
||||||
// En de volgende rij
|
|
||||||
$na_i = $na_i + 1;
|
|
||||||
);
|
|
||||||
|
|
||||||
// Het resterend saldo moet je voor alle jaren berekenen.
|
|
||||||
$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');
|
|
||||||
|
|
||||||
// Normen bepalen
|
|
||||||
$na_norm_hom = hash\get($na_row, 'homeopathieFormeleNorm');
|
|
||||||
$na_norm_med = hash\get($na_row, 'medischFormeleNorm');
|
|
||||||
$na_norm_tot = hash\get($na_row, 'dagenFormeleNorm');
|
|
||||||
$na_examenjaar = hash\get($na_row, 'examenjaar');
|
|
||||||
|
|
||||||
// Surplus bepalen
|
|
||||||
$na_surplus_hom = hash\get($h_surplus_hom, $na_id);
|
|
||||||
$na_surplus_med = hash\get($h_surplus_med, $na_id);
|
|
||||||
$na_surplus = hash\get($h_surplus, $na_id);
|
|
||||||
ifThenElse($na_jaar > $na_methode_1_max_jaar,
|
|
||||||
$na_end_med = $na_surplus_med;
|
|
||||||
$na_end_hom = $na_surplus_hom;
|
|
||||||
,
|
|
||||||
$na_end_med = 0;
|
|
||||||
$na_end_hom = 0;
|
|
||||||
);
|
|
||||||
|
|
||||||
// Resultaten uitvoeren
|
|
||||||
$na_verr = hash\get($h_verr_hom, $na_id);
|
|
||||||
|
|
||||||
ifThen($na_jaar > $na_methode_1_max_jaar,
|
|
||||||
// Homeopathie
|
|
||||||
ifThen($na_norm_hom > 0,
|
|
||||||
ifThen($na_surplus_hom < 0,
|
|
||||||
ifThenElse($na_jaar == $na_jaar_max,
|
|
||||||
strAdd($na_verr, "[EHet tekort kan niet (volledig) worden gecompenseerd met ", toString($na_jaar - 1), "E]%%");
|
|
||||||
,
|
|
||||||
strAdd($na_verr, "[EHet tekort kan niet (volledig) worden gecompenseerd met ", toString($na_jaar - 1), " en/of ", toString($na_jaar + 1), "E]%%");
|
|
||||||
);
|
|
||||||
);
|
|
||||||
strAdd($na_verr, "[TResterend saldo dagen:][N", number\format($na_surplus_hom, 1), "]%%");
|
|
||||||
|
|
||||||
ifThenElse($na_surplus_hom < 0,
|
|
||||||
$na_verr = string\concatenate("[OKlassieke Homeopathie onvoldoendeO]%%", $na_verr);
|
|
||||||
,
|
|
||||||
$na_verr = string\concatenate("[VKlassieke Homeopathie voldoendeV]%%", $na_verr);
|
|
||||||
);
|
|
||||||
|
|
||||||
$h_verr_hom = Hash\Set($h_verr_hom, $na_id, $na_verr);
|
|
||||||
);
|
|
||||||
|
|
||||||
// Medisch
|
|
||||||
ifThen($na_norm_med > 0,
|
|
||||||
$na_verr = hash\get($h_verr_med, $na_id);
|
|
||||||
|
|
||||||
ifThen($na_surplus_med < 0,
|
|
||||||
ifThenElse($na_jaar == $na_jaar_max,
|
|
||||||
strAdd($na_verr, "[EHet tekort kan niet (volledig) worden gecompenseerd met ", toString($na_jaar - 1), "E]%%");
|
|
||||||
,
|
|
||||||
strAdd($na_verr, "[EHet tekort kan niet (volledig) worden gecompenseerd met ", toString($na_jaar - 1), " en/of ", toString($na_jaar + 1), "E]%%");
|
|
||||||
);
|
|
||||||
);
|
|
||||||
strAdd($na_verr, "[TResterend saldo dagen:][N", number\format($na_surplus_med, 1), "]%%");
|
|
||||||
|
|
||||||
ifThenElse($na_surplus_med < 0,
|
|
||||||
$na_verr = string\concatenate("[OMedisch onvoldoendeO]%%", $na_verr);
|
|
||||||
,
|
|
||||||
$na_verr = string\concatenate("[VMedisch voldoendeV]%%", $na_verr);
|
|
||||||
);
|
|
||||||
|
|
||||||
$h_verr_med = Hash\Set($h_verr_med, $na_id, $na_verr);
|
|
||||||
);
|
|
||||||
);
|
|
||||||
|
|
||||||
// Totalen
|
|
||||||
$na_verr = hash\get($h_verr, $na_id);
|
|
||||||
|
|
||||||
ifThen($na_surplus < 0,
|
|
||||||
ifThenElse($na_jaar == $na_jaar_max,
|
|
||||||
strAdd($na_verr, "[EHet tekort kan niet (volledig) worden gecompenseerd met ", toString($na_jaar - 1), "E]%%");
|
|
||||||
,
|
|
||||||
strAdd($na_verr, "[EHet tekort kan niet (volledig) worden gecompenseerd met ", toString($na_jaar - 1), " en/of ", toString($na_jaar + 1), "E]%%");
|
|
||||||
);
|
|
||||||
);
|
|
||||||
strAdd($na_verr, "[TResterend saldo dagen:][N", number\format($na_surplus, 1), "]%%");
|
|
||||||
|
|
||||||
ifThenElse($na_surplus < 0 || $na_end_med < 0 || $na_end_hom < 0,
|
|
||||||
$na_verr = string\concatenate("[OTotaal onvoldoendeO]%%", $na_verr);
|
|
||||||
ifThen($na_surplus >= 0.0,
|
|
||||||
ifThen($na_end_hom < 0 ,
|
|
||||||
strAdd($na_verr, "[WAantal dagen resterend tekort Klassieke Homeopathie:W][N", number\format(-1 * $na_end_hom, 1), "]%%");
|
|
||||||
);
|
|
||||||
ifThen($na_end_med < 0,
|
|
||||||
strAdd($na_verr, "[WAantal dagen resterend tekort Medisch:W][N", number\format(-1 * $na_end_med, 1), "]%%");
|
|
||||||
);
|
|
||||||
);
|
|
||||||
,
|
|
||||||
$na_verr = string\concatenate("[VTotaal voldoendeV]%%", $na_verr);
|
|
||||||
);
|
|
||||||
|
|
||||||
$h_verr = Hash\Set($h_verr, $na_id, $na_verr);
|
|
||||||
|
|
||||||
// En de volgende rij
|
|
||||||
$na_i = $na_i + 1;
|
|
||||||
);
|
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
||||||
// En nu slaan we de boel gewoon op in de nascholingstotalen. Nou, was dat nou moeilijk?
|
|
||||||
// En bepaal en passent ook even de bijbehorende rapportage voor
|
|
||||||
// - Dashboard
|
|
||||||
// - Tekst
|
|
||||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
$na_i = 0;
|
|
||||||
$na_jaar_voorlopig = $na_jaar_max - 2;
|
|
||||||
|
|
||||||
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');
|
|
||||||
|
|
||||||
// Normen bepalen
|
|
||||||
$na_norm_hom = hash\get($na_row, 'homeopathieFormeleNorm');
|
|
||||||
$na_norm_med = hash\get($na_row, 'medischFormeleNorm');
|
|
||||||
$na_norm_tot = hash\get($na_row, 'dagenFormeleNorm');
|
|
||||||
$na_examenjaar = hash\get($na_row, 'examenjaar');
|
|
||||||
|
|
||||||
// Ophalen surplus waardes voor nascholingstotaal
|
|
||||||
$na_surplus = hash\get($h_surplus, $na_id);
|
|
||||||
$na_surplus_med = hash\get($h_surplus_med, $na_id);
|
|
||||||
$na_surplus_hom = hash\get($h_surplus_hom, $na_id);
|
|
||||||
|
|
||||||
// Ophalen totalen
|
|
||||||
$na_dg_hom = hash\get($na_row, 'dagenHomeopathie');
|
|
||||||
$na_dg_med = hash\get($na_row, 'dagenMedisch');
|
|
||||||
$na_dg_ovg = hash\get($na_row, 'dagen');
|
|
||||||
$na_dg_werkgroep = hash\get($na_row, 'dagenWerkgroep');
|
|
||||||
$na_dg_vrij = hash\get($na_row, 'dagenVrijstelling');
|
|
||||||
$na_saldo = hash\get($na_row, 'dagenSaldo');
|
|
||||||
$na_hand = hash\get($na_row, 'handmatig');
|
|
||||||
|
|
||||||
// Berekenen dashboard waarde op basis van de surplus waardes
|
|
||||||
$na_dashboard = "";
|
|
||||||
$na_onvoldoende = false;
|
|
||||||
|
|
||||||
$na_script = string\concatenate(
|
|
||||||
'$na_surpl_k = toInt($na_surpl * 1000);',
|
|
||||||
'$na_surpl_i = toInt($na_surpl) * 1000;',
|
|
||||||
'ifThenElse($na_surpl_k == $na_surpl_i, $na_surpl_pos = 0, $na_surpl_pos = 1);',
|
|
||||||
'ifThenElse($na_surpl_i == 1000, $na_dg = "dag", $na_dg = "dagen");',
|
|
||||||
'ifThenElse($na_surpl >= 0, $na_surpl_f = number\format($na_surpl, $na_surpl_pos), $na_surpl_f = number\format(-1 * $na_surpl, $na_surpl_pos));',
|
|
||||||
'ifThenElse($na_surpl >= 0, ',
|
|
||||||
' ifThenElse($na_onvoldoende, ',
|
|
||||||
' $na_dashb = string\concatenate($na_surpl_lbl, " onvoldoende");',
|
|
||||||
' $na_class = "tekort";',
|
|
||||||
' ,',
|
|
||||||
' ifThenElse($na_surpl_i == 0, ',
|
|
||||||
' $na_dashb = string\concatenate($na_surpl_lbl, " voldoende");',
|
|
||||||
' ,',
|
|
||||||
' $na_dashb = string\concatenate($na_surpl_lbl, " surplus: ", $na_surpl_f, " ", $na_dg);',
|
|
||||||
' );',
|
|
||||||
' $na_class = "goed";',
|
|
||||||
' );',
|
|
||||||
',',
|
|
||||||
' $na_dashb = string\concatenate($na_surpl_lbl, " tekort: ", $na_surpl_f, " ", $na_dg);',
|
|
||||||
' $na_class = "tekort";',
|
|
||||||
');',
|
|
||||||
);
|
|
||||||
|
|
||||||
//log('warning', 'na_jaar_voorlopig = ', $na_jaar_voorlopig, ', na_jaar = ', $na_jaar);
|
|
||||||
|
|
||||||
ifThenElse($na_jaar > $na_jaar_voorlopig,
|
|
||||||
$na_bepaald = string\concatenate('<span ', $na_style_onbepaald, '>Voorlopig resultaat</span>');
|
|
||||||
$na_bep_rep = string\concatenate('<span ', $na_style_onbepaald_report, '>Voorlopig resultaat</span>');
|
|
||||||
,
|
|
||||||
$na_bepaald = string\concatenate('<span ', $na_style_bepaald, '>Definitief resultaat</span>');
|
|
||||||
$na_bep_rep = string\concatenate('<span ', $na_style_bepaald_report, '>Definitief resultaat</span>');
|
|
||||||
);
|
|
||||||
|
|
||||||
$na_surpl = $na_surplus_hom;
|
|
||||||
$na_surpl_lbl = "Kl. Homeopathie";
|
|
||||||
Exec($na_script);
|
|
||||||
ifThenElse($na_jaar <= $na_methode_1_max_jaar,
|
|
||||||
$na_dashb_hom = string\concatenate('<span ', $na_style_nstd_nvt, '>', $na_dashb, '</span>');
|
|
||||||
,
|
|
||||||
ifThenElse($na_class == 'goed', $na_style = $na_style_nstd_goed, $na_style = $na_style_nstd_tekort);
|
|
||||||
$na_dashb_hom = string\concatenate('<span ', $na_style, '>', $na_dashb, '</span>');
|
|
||||||
);
|
|
||||||
$na_dashboard = string\concatenate($na_dashboard, $na_dashb_hom);
|
|
||||||
|
|
||||||
$na_surpl = $na_surplus_med;
|
|
||||||
$na_surpl_lbl = "Medisch";
|
|
||||||
Exec($na_script);
|
|
||||||
ifThenElse($na_jaar <= $na_methode_1_max_jaar,
|
|
||||||
$na_dashb_med = string\concatenate('<span ', $na_style_nstd_nvt, '>', $na_dashb, '</span>');
|
|
||||||
,
|
|
||||||
ifThenElse($na_class == 'goed', $na_style = $na_style_nstd_goed, $na_style = $na_style_nstd_tekort);
|
|
||||||
$na_dashb_med = string\concatenate('<span ', $na_style, '>', $na_dashb, '</span>');
|
|
||||||
);
|
|
||||||
$na_dashboard = string\concatenate($na_dashboard, $na_dashb_med);
|
|
||||||
|
|
||||||
ifThenElse($na_jaar > $na_methode_1_max_jaar,
|
|
||||||
$na_end_med = $na_surplus_med;
|
|
||||||
$na_end_hom = $na_surplus_hom;
|
|
||||||
,
|
|
||||||
$na_end_med = 0;
|
|
||||||
$na_end_hom = 0;
|
|
||||||
);
|
|
||||||
|
|
||||||
ifThen($na_end_med < 0 || $na_end_hom < 0,
|
|
||||||
$na_onvoldoende = true;
|
|
||||||
);
|
|
||||||
|
|
||||||
$na_surpl = $na_surplus;
|
|
||||||
$na_surpl_lbl = "Totaal";
|
|
||||||
Exec($na_script);
|
|
||||||
|
|
||||||
ifThenElse($na_class == 'goed', $na_style = $na_style_nstd_goed, $na_style = $na_style_nstd_tekort);
|
|
||||||
$na_dashb = string\concatenate('<span ', $na_style, '>', $na_dashb, '</span>');
|
|
||||||
$na_dashboard = string\concatenate($na_dashboard, $na_dashb);
|
|
||||||
|
|
||||||
$na_dashboard = string\concatenate($na_bepaald, $na_dashboard);
|
|
||||||
|
|
||||||
$na_hand_check = ' ';
|
|
||||||
ifThen($na_hand, $na_hand_check='<span class="fa fa-check"></span>');
|
|
||||||
|
|
||||||
$na_dashboard_id = string\concatenate('dashboard_', $na_id);
|
|
||||||
$na_dashboard = string\concatenate($na_dashboard,
|
|
||||||
'<script>',
|
|
||||||
'function toggle_', $na_dashboard_id, '() {',
|
|
||||||
' var els = document.querySelectorAll(', "'", 'div[data-type="nt-dashboard"]', "'", ');',
|
|
||||||
' var el = els[0];',
|
|
||||||
' var toggle = (el.style.display == "none") ? "block" : "none";',
|
|
||||||
' els.forEach(function(el) { el.style.display = toggle; });',
|
|
||||||
' els = document.querySelectorAll(', "'", 'span[button-type="nt-dashboard"]', "'", ');',
|
|
||||||
' els.forEach(function(el) { ',
|
|
||||||
' if (toggle == "none") { el.classList.remove("fa-angle-up"); el.classList.add("fa-angle-down"); }',
|
|
||||||
' else { el.classList.remove("fa-angle-down"); el.classList.add("fa-angle-up"); }',
|
|
||||||
' });'
|
|
||||||
'}',
|
|
||||||
'</script>'
|
|
||||||
);
|
|
||||||
$na_dashboard = string\concatenate($na_dashboard,
|
|
||||||
'<span class="input-group-btn" button-type="nt-dashboard">',
|
|
||||||
'<button class="btn btn-default btn-icon" type="button" style="border-radius:5px;padding: 3px; margin-bottom:2px;height:unset;">',
|
|
||||||
'<span button-type="nt-dashboard" class="fas fa-angle-down" onclick="toggle_', $na_dashboard_id, '();"></span></button></span>');
|
|
||||||
$na_dashboard = string\concatenate($na_dashboard,
|
|
||||||
'<div class="dashboard-data" data-type="nt-dashboard" id="', $na_dashboard_id, '" style="display:none;">',
|
|
||||||
'<table>',
|
|
||||||
'<tr>',
|
|
||||||
'<th>Homeopathie</th>',
|
|
||||||
'<th>Medisch</th>',
|
|
||||||
'<th>Overig</th>',
|
|
||||||
'<th>Werkgroep</th>',
|
|
||||||
'<th>Vrijsttelling</th>',
|
|
||||||
'<th>Norm totaal</th>',
|
|
||||||
'<th>Dagen saldo</th>',
|
|
||||||
'<th>Surplus</th>',
|
|
||||||
'<th><i class="fa fa-pen"></i></th>',
|
|
||||||
'</tr><tr>',
|
|
||||||
'<td>', $na_dg_hom, '</td>',
|
|
||||||
'<td>', $na_dg_med, '</td>',
|
|
||||||
'<td>', $na_dg_ovg, '</td>',
|
|
||||||
'<td>', $na_dg_werkgroep,'</td>',
|
|
||||||
'<td>', $na_dg_vrij,'</td>',
|
|
||||||
'<td>', $na_norm_tot, '</td>',
|
|
||||||
'<td>', $na_saldo,'</td>',
|
|
||||||
'<td>', $na_surplus, '</td>',
|
|
||||||
'<td>', $na_hand_check, '</td>',
|
|
||||||
'</tr>',
|
|
||||||
'</table>',
|
|
||||||
'</div>');
|
|
||||||
|
|
||||||
// Maak nu een rapport over de getallen. Kijk hoe het is bepaald.
|
|
||||||
//dagen, dagenMedisch, dagenHomeopathie
|
|
||||||
|
|
||||||
|
|
||||||
// Maak rapport op
|
|
||||||
$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_verr_hom = hash\get($h_verr_hom, $na_id);
|
|
||||||
$na_verr_med = hash\get($h_verr_med, $na_id);
|
|
||||||
$na_verr_tot = hash\get($h_verr, $na_id);
|
|
||||||
$na_report = string\replace($na_report, '%hom%', $na_verr_hom);
|
|
||||||
$na_report = string\replace($na_report, '%med%', $na_verr_med);
|
|
||||||
$na_report = string\replace($na_report, '%tot%', $na_verr_tot);
|
|
||||||
|
|
||||||
$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, '[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, '[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');
|
|
||||||
|
|
||||||
log('warning', 'Updating record voor jaar:', $na_jaar);
|
|
||||||
|
|
||||||
// Updaten van record
|
|
||||||
record\update('Nascholingstotaal', $na_id,
|
|
||||||
'surplus', $na_surplus,
|
|
||||||
'surplusMedisch', $na_surplus_med,
|
|
||||||
'surplusHomeopathie', $na_surplus_hom,
|
|
||||||
'dashboard', $na_dashboard,
|
|
||||||
'berekeningsuitleg', $na_report
|
|
||||||
);
|
|
||||||
|
|
||||||
log('warning', 'record updated, increasing na_i:', $na_i, ' with 1');
|
|
||||||
|
|
||||||
$na_i = $na_i + 1;
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
||||||
// Klaar.
|
|
||||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
global\unset($na_in_calc_key, true);
|
|
||||||
@@ -1,32 +0,0 @@
|
|||||||
//exec last execution: Mon Jul 13 2020 17:57:38 GMT+0200 (Midden-Europese zomertijd)
|
|
||||||
|
|
||||||
$sln_rows = record\fetchManyHash('Nascholingsnorm', 'id, jaar, dagen, dagenMedisch, dagenHomeopathie, 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);
|
|
||||||
@@ -1,44 +0,0 @@
|
|||||||
//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;
|
|
||||||
);
|
|
||||||
@@ -1,124 +0,0 @@
|
|||||||
// 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;
|
|
||||||
@@ -1,347 +0,0 @@
|
|||||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
||||||
// 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!'));
|
|
||||||
);
|
|
||||||
|
|
||||||
@@ -1,950 +0,0 @@
|
|||||||
//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.
@@ -1,32 +0,0 @@
|
|||||||
//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