Nepton voidaan määrittää tarjoamaan SOAP web services -verkkopalvelu Titania-palvelulle työtapahtumien noutoon. Tietojen hakua varten tarvitaan Neptonin verkkopalvelun tuki Titania-palveluun. Tätä voi tiedustella Titania-palvelun tarjoajalta.
Nepton SOAP web services tarkempi kuvaus on nähtävissä täältä
Tapahtumien vientimuoto
Titania ei käsittele työtapahtumia samalla tavalla kuin Nepton. Neptonissa tapahtumat ovat tietyllä tapahtumatyypillä ja niillä on alku- ja loppuaika. Titaniassa tapahtumat ovat joko sisään tai ulos leimauksia yhdellä ajalla.
Nepton tekee tätä varten muunnoksia. Esimerkiksi seuraavat Neptoniin kirjatut tapahtumat:
- 08:00 - 13:00 Työ
- 13:00 - 14:00 Koulutus
- 14:00 - 16:00 Työ
Muutetaan seuraavaan muotoon, jonkaTitania ymmärtää:
- 08:00 Sisään (ei syykoodia)
- 13:00 Ulos (koulutus)
- 14:00 Sisään (ei syykoodia)
- 16:00 Ulos (ei syykoodia)
Määrittäminen
Henkilöiden tunnusten määrittäminen
Titania käyttää henkilön tunnisteena joko henkilönumeroa tai henkilötunnusta, sekä joissain tapauksissa molempia.
Henkilön henkilönumero voidaan määrittää muokkaamalla henkilötietoja Työsuhde > Henkilön tiedot -näkymässä, Tunnisteet -osiossa.
Henkilöiden henkilötunnukset voidaan määrittää muokkaamalla henkilötietoja Työsuhde > Henkilön tiedot -näkymässä.
Tapahtumatyyppien koodien ja käyttäytymisen määrittäminen
Nämä voidaan määritellä Titanian asetuksista: Työaika -> Hallinta -> Työyhteisön asetukset -> Ulkoiset palvelut -> Titania.
Kaikille tapahtumatyypeille voi määrittää seuraavat tiedot:
- Tapahtumatyypin syykoodi - Titania käyttää tätä tunnistamaan, mistä tapahtumasta on kyse
- Käsittele tapahtumatyyppi - Onko tapahtumatyypillä kirjattu tapahtuman alku joko sisään vai ulos leimaus. Asetuksen alla kerrotaan, mikä on tapahtumatyypin oletuskäsittelytapa jos asetusta ei ole asetettu.
- Käsittele tapahtumatyyppi ylityönä - Onko tapahtuma ylityötä vai ei. Ylityöiden kirjauksesta enemmän alla olevissa esimerkeissä. Tämä asetus on asetettavissa vain työtä vastaaville tapahtumille, sitä ei esimerkiksi voi asettaa poissaoloille.
Tapahtumatyyppien määritys- ja käyttöesimerkkejä
Koulutus
Titaniassa koulutus on leimausten kannalta poissaoloa perustehtävän mukaisesta työstä. Koulutukseen mentäessä kesken työpäivän leimataan aina ulos (koulutus).
Neptonissa koulutus saadaan määritettyä seuraavalla tavalla:
Ylityömääräys
Titaniassa ylityömääräys on joko aamulla tai illalla tehtyä ylityötä, sekä voi olla myös molempia. Jos henkilö tekee aamulla ylityötä, hän aloittaa päivän sisään (ylityö) leimauksella. Erillistä leimausta ei tehdä kun ylityö päättyy ja normaali työ alkaa. Sama toimintaperiaate on myös illalla. Erillistä ylityön aloitusta ei leimata, vaan työt päättyvät ulos (ylityö) leimaukseen.
Neptonissa tämä saadaan aikaseksi perustamalla oma "Ylityö" tapahtumatyyppi ja antamalla sille seuraavat asetukset:
Aamun ylityö kirjattaisiin Neptoniin seuraavasti:
- 06:30 - 08:00 Ylityö
- 08:00 - 16:00 Työ
Jolloin titaniaan siirtyvät seuraavat leimaukset:
- 06:40 Sisään (YT)
- 16:00 Ulos (ei syykoodia)
Illan / iltapäivän ylityö kirjattaisiin Neptoniin seuraavasti:
- 08:00 - 16:00 Työ
- 16:00 - 18:00 Ylityö
Jolloin titaniaan siirtyvät seuraavat leimaukset:
- 08:00 Sisään (ei syykoodia)
- 18:00 Ulos (YT)
Kyselyn tiedot
Taso | Kentän nimi | Muoto | Esiintymiskerrat | Selite |
---|---|---|---|---|
Juuri, SOAP body:n alla |
ParametersForGetTitaniaWorkingTimeEvents | XML elementti | 1 | |
1 | CallerAuthentication | XML elementti | 1 | Lisää tietoa autentikoitumisesta täällä. |
1 | organisation | XML elementti | 0..1 | Organisaation tiedot. Ei käytössä. |
2 | code | merkkijono | 1 | Organisaation koodi |
2 | name | merkkijono | 0..1 | Organisaation nimi |
1 | period | XML elementti | 1 | Aikaväli, miltä tapahtumat haetaan. |
2 | beginDate | päivämäärä | 1 | Aikavälin alkupäivä, muodossa YYYYMMDD |
2 | endDate | päivämäärä | 1 | Aikavälin loppupäivä, muodossa YYYYMMDD |
1 | schedulingUnit | XML elementti | 1..n | Aikataulutusyksikkö |
2 | code | merkkijono | 1 | Aikataulutusyksikön koodi |
2 | name | merkkijono | 0..1 | Aikataulutusyksikön nimi |
2 | person | XML elementti | 0..n | Aikataulutusyksikön henkilö, jolle tapahtumia haetaan. |
3 | SSN | merkkijono | 1 | Henkilön henkilötunnus. Voi olla tyhjä jos henkilöä haetaan henkilönumeron perusteella. |
3 | employeeId | merkkijono | 0..1 | Henkilön henkilönumero. |
3 | name | merkkijono | 0..1 | Henkilön nimi, ei käytössä. |
Kyselyn esimerkki
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tyo="http://tyoaika.tyoteho.fi">
<soapenv:Header/>
<soapenv:Body>
<tyo:ParametersForGetTitaniaWorkingTimeEvents>
<CallerAuthentication /> <!-- Autentikoituminen vaaditaan, mutta on jätetty tässä esimerkissä pois -->
<period>
<beginDate>20200501</beginDate>
<endDate>20200531</endDate>
</period>
<schedulingUnit>
<code>E1100</code>
<name>Suunnittelupiste A</name>
<person>
<SSN/>
<employeeId>9001</employeeId>
<name>Yli Yhdeksän Tuhatta</name>
</person>
<person>
<SSN>999999-9999</SSN>
</person>
</schedulingUnit>
</tyo:ParametersForGetTitaniaWorkingTimeEvents>
</soapenv:Body>
</soapenv:Envelope>
Vastauksen tiedot
Taso | Kentän nimi | Muoto | Esiintymiskerrat | Selite |
---|---|---|---|---|
Juuri, SOAP body:n alla |
ReturnValueForGetTitaniaWorkingTimeEvents | XML elementti | 1 | |
1 | ResponseCode | numero | 1 |
Tietojen haun käsittelyn tuloksen koodi. Mahdolliset koodit löytyvät täältä. Huomioithan sen, että koodia 1019 käytetään vain tapauksissa milloin yhtä tai useampaa kyselyssä ollutta henkilöä ei löytynyt. |
1 | ResponseString | merkkijono | 1 | Koodin kuvaus / viesti. |
1 | schedulingUnit | XML elementti | 1..n | Aikataulutusyksikkö. Vastauksessa listataan kyselyssä annetut aikatauluyksiköt. |
2 | code | merkkijono | 1 | Kyselyssä lähetetty aikataulutusyksikön koodi |
2 | name | merkkijono | 0..1 | Kyselyssä lähetetty aikataulutusyksikön nimi |
2 | person | XML elementti | 0..n | Aikataulutusyksikön henkilö, jonka tapahtumat listataan. |
3 | ResponseCode | numero | 1 | Koodina joko 1000 (kaikki kunnossa) tai 1003 (henkilöä ei löytynyt) |
3 | ResponseString | merkkijono | 1 | Koodin kuvaus. |
3 | SSN | merkkijono | 1 | Kyselyssä lähetetty henkilön henkilötunnus. |
3 | employeeId | merkkijono | 0..1 | Kyselyssä lähetetty henkilön henkilönumero. |
3 | name | merkkijono | 0..1 | Kyselyssä lähetetty henkilön nimi. |
3 | stampedWorkingTimeEvents | XML elementti | 1 | Henkilön työaikaleimaukset |
4 | event | XML elementti | 0..n | Työaikaleimaus |
5 | date | päivämäärä | 1 | Työaikaleimauksen päivämäärä, muodossa YYYYMMDD |
5 | beginTime | aika | 0..1 | Työaikaleimauksen alkuaika, käytetään vain sisään-leimauksille. Ajan muoto on HHMM . Työaikaleimauksella on vain joko alku tai loppuaika. |
5 | beginReasonCode | merkkijono | 0..1 | Sisään-leimauksen syykoodi. |
5 | endTime | aika | 0..1 | Työaikaleimauksen loppuaika, käytetään vain ulos-leimauksille. Ajan muoto on HHMM . Työaikaleimauksella on vain joko alku tai loppuaika. |
5 | endReasonCode | merkkijono | 0..1 | Ulos-leimauksen syykoodi. |
Vastauksen esimerkki
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://tyoaika.tyoteho.fi">
<SOAP-ENV:Body>
<ns1:ReturnValueForGetTitaniaWorkingTimeEvents>
<ResponseCode>1000</ResponseCode>
<ResponseString>All clear. No errors.</ResponseString>
<schedulingUnit>
<code>E1100</code>
<name>Suunnittelupiste A</name>
<person>
<ResponseCode>1000</ResponseCode>
<ResponseString>All clear. No errors.</ResponseString>
<SSN/>
<employeeId>9001</employeeId>
<name>Yli Yhdeksän Tuhatta</name>
<stampedWorkingTimeEvents>
<event>
<date>20200505</date>
<beginTime>0800</beginTime>
</event>
<event>
<date>20200505</date>
<endTime>2000</endTime>
<endReasonCode>YT</endReasonCode>
</event>
</stampedWorkingTimeEvents>
</person>
<person>
<ResponseCode>1000</ResponseCode>
<ResponseString>All clear. No errors.</ResponseString>
<SSN>999999-9999</SSN>
<stampedWorkingTimeEvents>
<event>
<date>20200505</date>
<beginTime>0800</beginTime>
</event>
<event>
<date>20200505</date>
<endTime>1200</endTime>
<endReasonCode>KO</endReasonCode>
</event>
<event>
<date>20200505</date>
<endTime>1600</endTime>
</event>
</stampedWorkingTimeEvents>
</person>
</schedulingUnit>
</ns1:ReturnValueForGetTitaniaWorkingTimeEvents>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Kommentit
0 kommenttia
Kirjaudu sisään jättääksesi kommentin.