Skip to end of metadata
Go to start of metadata

You are viewing an old version of this content. View the current version.

Compare with Current View Version History

« Previous Version 5 Next »

Voor Euser hebben wij een koppeling gemaakt tussen AFAS en Transplan om medewerkers te synchroniseren. Verder wordt de zogenoemde Organisatorische Eenheid (OE) van een medewerker bijgewerkt als de planafdeling van een medewerker in Transplan wijzigt.

De synchronisatie wordt gedaan in de AfasEmployeeSyncService.

De service verwerkt momenteel

  • Wijzigen planafdeling in Transplan om in AFAS de OE eenheid bij te werken.

  • Gewijzigde / nieuwe medewerker vanuit AFAS inlezen in Transplan.

Planafdeling gewijzigd in Transplan

Wanneer in Transplan (via stamdata) de planafdeling van een medewerker wordt gewijzigd, dan wordt een event opgegooid (EmployeeDepartmentChanged). Dit event wordt afgevangen in deze service.

image-20241127-141612.png

Eerst worden gegevens verzameld van de medewerker uit Transplan. Als de functie van de medewerker niet uitgesloten is (zie paragraaf Uitgesloten functie) dan wordt m.b.v. de Externe referentie bepaald of de medewerker bekend is in AFAS.

Als de medewerker bekend is in AFAS, dan wordt de Organisatorische Eenheid (OE) bijgewerkt d.m.v. een request naar de API van AFAS. De OE eenheid is de code van de planafdeling.

Uitgesloten functie voor bijwerken Organisatorische Eenheid (OE)

Als een medewerker een functie heeft die uitgesloten is (via configuratie in te stellen, maar default Kantoor), dan wordt de OE eenheid niet bijgewerkt in AFAS. De klant moet dit dan handmatig doorvoeren in AFAS.

Standaard is de uitgesloten functienaam Kantoor, maar dit kan via configuratie aangepast worden. Zie paragraaf Configuratie voor de verschillende configuratie mogelijkheden.

Gewijzigde / nieuwe medewerker vanuit AFAS inlezen in Transplan

In AFAS worden de gegevens van de verschillende medewerkers bijgehouden. M.b.v. deze service gaan wij periodiek (instelbaar via systeeminstelling AfasEmployeeSyncService.IntervalInMinutes) de gewijzigde medewerkers opvragen in AFAS. Met een timestamp (LastSynchronized uit tabel EmployeeConfigurations) wordt de API uitgevraagd.

Als een (gewijzigde) medewerker in Transplan al bestaat, dan wordt een update verstuurd naar stamdata. In stamdata wordt de betreffende medewerker bijgewerkt met de gewijzigde gegevens vanuit AFAS.

Als een medewerker nog niet bestaat in Transplan, dan wordt via stamdata een nieuwe medewerker toegevoegd in Transplan. Bij het toevoegen worden een aantal standaard waarden ingevuld. Dat zijn de volgende:

Omschrijving

Waarde

Configuratie

Planafdeling ID

1

DefaultDepartmentIdNewEmployee

Function ID

1

DefaultFunctionIdNewEmployer

Werkgeveer ID

1

DefaultEmployerIdNewEmployee

Bovenstaande zijn via configuratie aan te passen. Zie Configuratie.

Systeem instellingen

Voor deze service zijn de volgende systeeminstellingen geintroduceerd:

Setting

Standaard waarde

Omschrijving

AfasEmployeeSyncService.Enabled

True

Deze instelling bepaald of de synchronisatie van medewerkers tussen AFAS en Transplan aan staat.

AfasEmployeeSyncService.IntervalInMinutes

5

Hoe vaak wordt de synchronisatie tussen AFAS en Transplan uitgevoerd. De waarde is in minuten.

Configuratie

Om de OE eenheid bij te werken en de synchronisatie van medewerker tussen AFAS en Transplan op te zetten zijn er verschillende configuratie mogelijkheden.

De configuratie van deze service is vastgelegd in tabel EmployeeSyncConfigurations. De volgende configuratie is in te stellen:

Naam

Omschrijving

ApiEndpoint

Het AFAS endpoint om aan te roepen. Zie Keepass.

ApiToken

Het token om de requests naar de AFAS API uit te voeren. Zie Keepass voor het token.

EmployeeOrgUnitConnector

De connectornaam om de OE eenheid bij te werken. Deze is standaard Transplan_EmployeeUnits_.

FilterEmployeeIdExpression

Deze expressie wordt gebruikt om te filteren bij het ophalen van medewerker OE eenheid. Zie xxx voor een korte uitleg over dit filter.

Standaard:
filterfieldids=EmployeeId&filtervalues={0}&take={1}&skip={2}

FilterModifiedEmployeeExpression

Deze expressie wordt gebruikt als filter om de gewijzigde medewerkers uit AFAS op te halen. Zie xxx voor een korte uitleg over dit filter.

Standaard:
filterfieldids=Gewijzigd_op&filtervalues={0}&operatortypes=2&take={1}&skip={2}

ModifiedEmployeeConnector

De connectornaam om de gewijzigde medewerkers uit AFAS op te vragen.
Standaard is dat Transplan_Medewerker_stamgegevens

ExcludeFunctionName

Uitgesloten functienaam. Voor medewerkers met deze functie wordt de OE eenheid niet bijgewerkt. Standaard gevuld met Kantoor.

TakeItemsPerRequest

Hoeveel items per request worden opgevraagd. Standaard is dat 100 items per keer.

DefaultDepartmentIdNewEmployee

Standaard planafdeling ID voor nieuwe medewerkers. Standaard staat die op 1.

DefaultFunctionIdNewEmployee

Standaard functie ID voor nieuwe medewerkers. Standaard staat die op 1.

DefaultEmployerIdNewEmployee

Standaard werkgever ID voor nieuwe medewerkers. Standaard staat die op 1.

Filter ophalen medewerker t.b.v. OE eenheid

Om de OE eenheid bij te werken wordt in AFAS de medewerker opgehaald. Om een medewerker op te halen wordt gebruik gemaakt van een filter. Standaard wordt gefilterd op veld EmployeeId in AFAS. De waarde in dit veld in AFAS komt overeen met de Externe referentie van de medewerker in Transplan.

We hebben dit filter instelbaar gemaakt, zodat er mogelijk ook op andere velden gefilterd kan worden. Het is niet waarschijnlijk dat dit gebeurt, maar het kan wel.

Het filter is als volgt opgebouwd:
filterfieldids=EmployeeId&filtervalues={0}&take={1}&skip={2}

#

Omschrijving

filterfieldids

Deze moet de veldnaam bevatten waarop gefilterd moet worden in AFAS. Het veld moet (uiteraard) bekend zijn in AFAS. Standaard is dit EmployeeId.

filtervalues

De waarde om te filteren. In de service wordt de {0} ingevuld met de Externe referentie code van de medewerker uit Transplan.

take

Geeft aan hoeveel items per request opgevraagd moet worden.

skip

Geeft aan hoeveel records overgeslagen moeten worden. Als er meer dan bijv. 100 items opgevraagd worden, dan wordt bij de tweede keer de skip waarde ingevuld met 100 om de volgende 100 items op te halen.

  • No labels