Webová služba RoleActivity verze 4.0.0 (Obecné webové služby) - popis rozhraní služby
Marbes Consulting s.r.o.
EOS4
Vygenerováno z verze 4.21.0.19.0.
Podmínky omezující zveřejnění
Autorem tohoto dokumentu je společnost MARBES CONSULTING s.r.o. Dokument obsahuje informace důvěrného charakteru a ve smyslu definice autorského práva (viz § 2, odst. 1 Zákona č. 121/2000 Sb., zákon o právu autorském) je duševním vlastnictvím autora a předmětem práva autorského. Dokument smí být použit výhradně za účelem, za kterým byl poskytnut a nesmí být bez předchozího souhlasu autora citován, kopírován, vytěžován1 nebo předán třetí fyzické či právnické osobě.
© 2009 MARBES CONSULTING s.r.o.
1 Vytěžováním se podle zákona č. 121/2000 Sb. rozumí trvalý nebo dočasný přepis celého obsahu nebo jeho podstatné části na jiný podklad, a to jakýmikoli prostředky nebo jakýmkoli způsobem.
Rozhraní pro práci s agendami a jejich přiřazením.
Vysvětlení pojmů
- Prvek organizační struktury - organizačí jednotka, organizační role, skupinová role nebo zařazení osoby do
organizační nebo skupinové role
- Role - organizační role a skupinová role
- Agenda - obecné označení prvku stromu agend, může reprezentovat agendu, činnost, roli v agendě nebo jiný
uživatelský typ, který bude definován ve stromu agend, základní typy lze zjistit z atributu typeCode u agendy
- Osoba - reprezentuje skutečnou evidovanou osobu, osoba může mít více zařazení, ale na ty není brán zřetel
- Osoba v zařazení - reprezentuje konkrétní osobu zařazenou do konkrétní role (organizační nebo skupinové)
- Primární zařazení - jedná se o zařazení osoby do role, které má nejvyšší hodnotu obsazení. Osoba nemusí mít
primární zařazení pokud není nikam zařazená, nebo má více zařazení se stejnou hodnotou obsazení.
- Strom organizačních rolí - strom nadřízenosti a podřízenosti organizačních rolí
- Aplikace - aplikace evidovaná v EOS, součástí aplikace je seznam atributů
- Atribut - patří k aplikaci a definuje typy oprávnění, např. jednotlivé úrovně řízení aplikace jako je přístup
k webovým službám, typy dokumentů pro přístup, zda se jedná o adminstrátora atp.
- Hodnota oprávnění - konkrétní přiřazená hodnota oprávnění pro daný atribut, např. true pro atribut administrátor,
výčet konkrétních přiřazených typů dokumentů pro atribut typů dokumentů atp.
- Response filter - jedná se o objekt, který uvádí, jaká data se mají ve výstupních objektech vracet, např. pokud
externí systém "zajímají" pouze základní údaje, nemusí EOS vracet další rozšiřující data, např. seznam kontaktů
k osobě, když nás zajímá pouze seznam osob atp. Pokud není uveden, vrací se pouze základní data k objektu.
- Session id - jedná se i identifikátor připojení k serveru a v tuto chvíli není povinný. Tento identifikátor lze získat
webovou službou pro otevárání session. V novějších verzích bude vhodné session využít pro případ, kdy bude vyžadováno čtení dat
s určitými vlastnostmi, např. dat z historie atp.
Stránkování
Pokud metoda vrací seznam objektů, může být výsledný vracený seznam stránkovaný. Informaci o stránkování obsahuje
atribut paging, ve kterém se nachází i informace, zda server uchovává další data (existuje další stránka). Vychozí velikost
jedné stránky je 500 záznamů. Objekt paging obsahuje identifikátor seznamu dat (lid) a ten je nutné předat do metody,
která načte další stránku (typický název metody je getNextXxx).
Důležité upozornění
Při načítání stránkovaného seznamu nemusí vždy odpovídat počet vrácených záznamů parametru totalCount, který je uveden
v objektu paging. Toto se projeví pouze v případě, že jsou během stránkovaného načítání některé vracené objekty z EOS
odstraněny.
Filtrování
Některé metody podporují filtrování dat, např. načtení seznamu aplikací. Filtr se předává formou řetězce,
ve kterém je zapsána podmínka. Podmínku lze použít POUZE na základní atributy vracených objektů. Podmínku nelze tedy
použít na další vnořené hodnoty, např. kontakty osoby. Pro tento účel existují samostatné metody.
Možnosti filtrování
Podmínky u filtrů je možné sestavovat pouze stylem ATRIBUT OPERÁTOR HODNOTA, nelze tedy např. porovnávat dva atributy
navzájem. Řetězcová hodnota se VŽDY uvádí v apostrofech (jinak bude chybně chápána jako název atributu a bude vyhozena
chyba), pokud hodnota obsahuje apostrof, musí být znak zapsán jako dva apostrofy ''. U operátorů like a ilike je možné
použít znak %, který nahrazuje žádný nebo libovolný počet znaků. Znak % lze používat pouze na začátku
a konci hodnoty. Pokud je potřeba zapsat hodnotu null, je zapsána bez uvozovek. Datum je nutné zapsat ve formátu:
dd.MM.yyyy HH:mm:ss.SSS
nebo zkráceně bez času dd.MM.yyyy
. Pro boolean hodnoty se uvádí
hodnota 'true' nebo 1 pro true a 'false' nebo 0 pro false, textové reprezentace musí být uvedeny v apostrofech.
Podmínky jsou omezeny na počet porovnávaných hodnot. U výrazu jmeno = 'petr' and id in ('1', '2', '3')
je počet podmínek 4. Maximální bezpečný počet je 1000, ale EOS toto nijak nekontroluje. Při použití vyššího počtu může,
ale nemusí dotaz projít. Toto je z důvodu, že EOS do některých dotazů přidává vlastní podmínky a tudíž se může stát,
že bude překročen limit DB serveru na velikost podmínky.
Operátory
- = - operátor nelze použít na hodnotu null
- is null - test null hodnoty
- is not null - test na ne-null hodnotu
- <> - operátor nelze použít na hodnotu null
- <
- >
- <=
- >=
- like - u operátoru lze použít znak %, ale pouze na začátku a na konci
- ilike - u operátoru lze použít znak %, ale pouze na začátku a na konci
Operandy
Příklad filtru
Příklad zapsání filtru na osoby, jejichž uživatelské jméno je "kolomaznik" a titul začíná na 'i':
username = "kolomaznik" and degreeBefore ilike 'i%'
Byl předán nevalidní vstupní argument do metody webové služby.
Neočekávaná výjimka při volání webových služeb.
Objekt nebyl nalezen.
Nedostatečná oprávnění pro provedení požadované akce.
Nastavení položek agend na zařazení osob do rolí. Metoda odstraní aktuální položky agend na zařazení osob
do rolí a přiřadí jim jen položky předané v parametru. Tato metoda vyžaduje přihlášení.
Předpis
Parametry
Parametr |
Typ |
Povinný |
Popis |
sid |
String |
Ne |
session id |
personInRolesActivities |
EosPersonInRolesActivities |
Ano |
položky agend na zařazení osob do rolí |
Výjimky
Přiřazení položky agendy na osobu. Tato metoda vyžaduje přihlášení.
Předpis
void assignRoleActivityToPerson (String sid, String roleActivityId, String personId)
Parametry
Parametr |
Typ |
Povinný |
Popis |
sid |
String |
Ne |
session id |
roleActivityId |
String |
Ano |
id položky agendy |
personId |
String |
Ano |
id osoby |
Výjimky
Přiřazení položky agendy na zařazení osoby do role. Tato metoda vyžaduje přihlášení.
Předpis
void assignRoleActivityToPersonInRole (String sid, String roleActivityId, String personId, String roleId,
EosRoleIdType roleIdType)
Parametry
Parametr |
Typ |
Povinný |
Popis |
sid |
String |
Ne |
session id |
roleActivityId |
String |
Ano |
id položky agendy |
personId |
String |
Ano |
id osoby |
roleId |
String |
Ano |
id entity organizační struktury, do které je osoba zařazena, musí se jednat o id role |
roleIdType |
EosRoleIdType |
Ano |
typ entity, na které odkazuje roleId |
Výjimky
Přiřazení položky agendy na roli v organizační struktuře. Tato metoda vyžaduje přihlášení.
Předpis
void assignRoleActivityToRole (String sid, String roleActivityId, String roleId,
EosRoleIdType roleIdType)
Parametry
Parametr |
Typ |
Povinný |
Popis |
sid |
String |
Ne |
session id |
roleActivityId |
String |
Ano |
id položky agendy |
roleId |
String |
Ano |
id entity organizační struktury, musí se jednat o id role |
roleIdType |
EosRoleIdType |
Ano |
typ entity, na které odkazuje roleId |
Výjimky
Ověření, zda má daná osoba nebo osoba v zařazení oprávnění pro konkrétní agendovou roli v agendě.
Kobinace vstupních id (personId, roleId a roleIdType):
- personId, roleId, roleIdType - načtení dat pro osobu v konkrétním zařazení
- roleId, roleIdType - načtení dat pro roli v EOS
- personId - načtení dat pro osobu ve všech zařazeních
Předpis
Parametry
Parametr |
Typ |
Povinný |
Popis |
sid |
String |
Ne |
session id |
personId |
String |
Ne |
id osoby |
roleId |
String |
Ne |
id entity organizační struktury, musí se jednat o id role |
roleIdType |
EosRoleIdType |
Ne |
typ entity, na které odkazuje roleId |
admCodeRpp |
String |
Ano |
kód agendy rpp |
roleCodeRpp |
String |
Ano |
kód role rpp |
respFilter |
EosRoleActivityRespFilter |
Ne |
neuvádí se |
Výstup
boolean - true, pokud má osoba oprávnění na danou agendovou roli
Výjimky
Odebrání položky agendy z osoby. Tato metoda vyžaduje přihlášení.
Předpis
boolean detachRoleActivityFromPerson (String sid, String roleActivityId, String personId)
Parametry
Parametr |
Typ |
Povinný |
Popis |
sid |
String |
Ne |
session id |
roleActivityId |
String |
Ano |
id položky agendy |
personId |
String |
Ano |
id osoby |
Výstup
boolean - true, pokud byla agenda odebrána, agenda nemusí být odebrána např. pokud není na entitě přímo přiřazena a
je zděděna
Výjimky
Odebrání položky agendy ze zařazení osoby do role v organizační struktuře. Tato metoda vyžaduje přihlášení.
Předpis
boolean detachRoleActivityFromPersonInRole (String sid, String roleActivityId, String personId, String roleId,
EosRoleIdType roleIdType)
Parametry
Parametr |
Typ |
Povinný |
Popis |
sid |
String |
Ne |
session id |
roleActivityId |
String |
Ano |
id položky agendy |
personId |
String |
Ano |
id osoby |
roleId |
String |
Ano |
id entity organizační struktury, musí se jednat o id role |
roleIdType |
EosRoleIdType |
Ano |
typ entity, na které odkazuje roleId |
Výstup
boolean - true, pokud byla agenda odebrána, agenda nemusí být odebrána např. pokud není na entitě přímo přiřazena a
je zděděna
Výjimky
Odebrání položky agendy z role v organizační struktuře. Tato metoda vyžaduje přihlášení.
Předpis
boolean detachRoleActivityFromRole (String sid, String roleActivityId, String roleId,
EosRoleIdType roleIdType)
Parametry
Parametr |
Typ |
Povinný |
Popis |
sid |
String |
Ne |
session id |
roleActivityId |
String |
Ano |
id položky agendy |
roleId |
String |
Ano |
id entity organizační struktury, musí se jednat o id role |
roleIdType |
EosRoleIdType |
Ano |
typ entity, na které odkazuje roleId |
Výstup
boolean - true, pokud byla agenda odebrána, agenda nemusí být odebrána např. pokud není na entitě přímo přiřazena a
je zděděna
Výjimky
Hledání agend podle předaného filtru. Pořadí vracených položek není nijak definováno.
Předpis
Parametry
Parametr |
Typ |
Povinný |
Popis |
sid |
String |
Ne |
session id |
filter |
String |
Ne |
filtr na agendy |
roleActivityId |
String |
Ne |
pokud je uvedeno, jedná se o položku, pod kterou bude hledáno |
respFilter |
EosRoleActivityRespFilter |
Ne |
response filtr na agendy |
Výstup
Výjimky
Hledání agend podle předaného seznamu id. Metoda je vhodná pro hromadné načítání položek. Alternativou je metoda
findRoleActivitiesByFilter s filtrem, ale ten má omezen počet položek. Tato metoda nemá počet vstupních id
omezen.
Předpis
Parametry
Výstup
EosRoleActivities - nalezené agendy, pokud podle některých id nebyly agendy nalezeny, nebudou ve výsledku obsaženy
Výjimky
Načítání agend rpp podle filtru.
Předpis
Parametry
Parametr |
Typ |
Povinný |
Popis |
sid |
String |
Ne |
session id |
filter |
String |
Ne |
filtr |
respFilter |
EosRoleActivityRespFilter |
Ne |
response filtr na agendy |
Výstup
Výjimky
Načítání agendových rolí rpp v rámci agendy rpp.
Předpis
Parametry
Parametr |
Typ |
Povinný |
Popis |
sid |
String |
Ne |
session id |
admCodeRpp |
String |
Ano |
kód agendy rpp |
filter |
String |
Ne |
filtr |
respFilter |
EosRoleActivityRespFilter |
Ne |
response filtr na agendy |
Výstup
Výjimky
Načtení položek agend a agendových rolí pro osobu nebo osobu v zařazení nebo roli v EOS.
Kobinace vstupních id:
- personId, roleId, roleIdType - načtení dat pro osobu v konkrétním zařazení
- roleId, roleIdType - načtení dat pro roli v EOS
- personId - načtení dat pro osobu ve všech zařazeních
Omezení na agendu: buď neuvedeno, nebo kód agendy rpp.
Předpis
Parametry
Parametr |
Typ |
Povinný |
Popis |
sid |
String |
Ne |
session id |
personId |
String |
Ne |
id osoby |
roleId |
String |
Ne |
id entity organizační struktury, musí se jednat o id role |
roleIdType |
EosRoleIdType |
Ne |
typ entity, na které odkazuje roleId |
admCodeRpp |
String |
Ne |
typ agendy rpp, pokud je uveden, omezují se výsledky pro danou agendu |
respFilter |
EosRoleActivityRespFilter |
Ne |
respose filtr |
Výstup
EosRoleActivities - seznam agendových rolí a agend, pokud je v EOS přiřazena agendová role, je vrácena včetně agendy, pokud
je v EOS přiřazena agenda, je vrácena včetně všech agendových rolí
Výjimky
Načtení další části stránkovaného seznamu agend.
Předpis
Parametry
Parametr |
Typ |
Povinný |
Popis |
sid |
String |
Ne |
session id |
lid |
String |
Ano |
list id |
Výstup
Výjimky
Načtení celého podstromu agend pro předanou agendu nebo načtení jen přímých potomků. Metoda je na výstupu
stránkovaná, ale při vracení dat respektuje pořadí položek tak, aby systém mohl postupně z načtených dat
sestavovat strom.
Metoda je vhodné pro čtění dat z pohledu stromového upořádání.
Předpis
Parametry
Parametr |
Typ |
Povinný |
Popis |
sid |
String |
Ne |
session id |
roleActivityId |
String |
Ano |
id agendy, pro kterou se načítá podstrom |
onlyDirect |
boolean |
Ano |
pokud je true, vracejí se jen přímí potomci předané agendy, pokud je false, vracejí se všichni
potomci celého podtromu |
respFilter |
EosRoleActivityRespFilter |
Ne |
response filtr na agendy |
Výstup
Výjimky
Načtení kořenových agend ve stromu agend.
Předpis
Parametry
Výstup
Výjimky
Objekt obsahující informace pro stránkování.
Jméno atributu |
Datový typ |
Povinné |
Popis |
lid |
String |
Ne |
List id nebo null, pokud stránkování není vyžadováno. |
start |
int |
Ne |
Index prvního záznamu, který byl aktuálně vrácen. |
totalCount |
int |
Ne |
Celkový počáteční záznamů. |
hasNext |
boolean |
Ne |
Příznak, zda jsou k dispozici ještě další záznamy. |
Seznam položek agend na zařazení osoby do role.
Jméno atributu |
Datový typ |
Povinné |
Popis |
roleActivityIds |
EosRoleActivityIds |
Ne |
Id položek agend. |
personId |
String |
Ne |
Id osoby. |
roleId |
String |
Ne |
Id role. |
roleIdType |
EosRoleIdType |
Ne |
Typ entity, na které odkazuje roleId. |
Seznam položek agend na zařazení osob do rolí.
Jméno atributu |
Datový typ |
Povinné |
Popis |
personInRoleActivities |
List<EosPersonInRoleActivities> |
Ne |
Seznam položek agend na zařazení osoby do role. |
Objekt obsahuje seznam agend.
Jméno atributu |
Datový typ |
Povinné |
Popis |
roleActivities |
List<EosRoleActivity> |
Ne |
Seznam agend/činností. |
paging |
EosPaging |
Ne |
Stránkování. |
Agenda.
Jméno atributu |
Datový typ |
Povinné |
Popis |
id |
String |
Ne |
Id agendy. |
parentId |
String |
Ne |
Id nadřazené agendy, pokud je kořenová, není uvedeno. |
name |
String |
Ne |
Název agendy. |
code |
String |
Ne |
Kód agendy. |
typeCode |
String |
Ne |
Kód typu agendy. Standardní kódy: - ADMINISTRATION - agenda
- ACTIVITY - činnost v agendě
- ROLE - agendová role v agendě (role z pohledu oprávnění)
|
coreRpp |
String |
Ne |
Kód RPP, pokud je položka navázána na RPP. |
type |
EosRoleActivityType |
Ne |
Typ agendy. |
description |
String |
Ne |
Popis agendy. |
validFrom |
Date |
Ne |
Datum, od kterého (včetně) je daná osoba obsazena do této role. |
validTo |
Date |
Ne |
Datum, do kterého (včetně) je daná osoba obsazena do této role. |
notSent |
Date |
Ne |
Datum, kdy poprvé agenda/agendová role nepřišla z RPP. Pokud opět přijde pole se vynuluje. |
valid |
Boolean |
Ne |
Datum, do kterého (včetně) je daná osoba obsazena do této role. |
rppItem |
Boolean |
Ne |
Příznak, zda se jedná o položku synchronizovanou z RPP. Položky s hodnoto false jsou vlastn položky EOS
definované zákazníkem a mohou se na RPP vázat přes coreRpp. |
Objekt obsahující seznam id agend.
Jméno atributu |
Datový typ |
Povinné |
Popis |
roleActivityIds |
List<String> |
Ne |
Seznam id organizační jednotek. |
Objekt definuje rozsah dat, které se budou u agend plnit.
Jméno atributu |
Datový typ |
Povinné |
Popis |
typeCode |
boolean |
Ne |
Má se plnit kód typu organizační entity? (typ organizační role/typ organizační jednotky atp.) |
typeEntity |
boolean |
Ne |
Má se plnit objekt typu organizační entity? (typ organizační role/typ organizační jednotky atp.) |
Jméno atributu |
Datový typ |
Povinné |
Popis |
name |
String |
Ne |
Název typu agendy. |
code |
String |
Ne |
Kód typu agendy. |
desc |
String |
Ne |
Popis typu agendy. |
Hodnota |
Popis |
OR |
Organizační role. |
GR |
Organizační skupinová role. |