Funkcionalita kontrola ILUO během přihlašování
ILUO matice se používá napříč různými průmyslovými odvětvými k určení úrovně dovednosti uživatele/operátora pracovat na daném pracovišti, kde I je nejnižší a O je nejvyšší úroveň dovednosti.
Webové rozhraní
Obr.č.1 - Nastavení ILUO uživatelů přes webové rozhraní
Obr.č.2 - Číselník ILUO jednotlivých uživatelů na skupinách pracovišť
Obr.č.3 - Nastavení ILUO uživatelů přes webové rozhraní
Databáze
Nová tabulka t_User_ILUO
Důležité sloupce - UserID, WorkPlaceGroupID, ILUO Zde se definuje relace užitele a skupiny pracovišť a jakou úroveň ILUO má uživatel na této skupině pracovišť.
Upravena procedura sg_User_CanLogin
nové parametry: - @CheckILUO - bitový příznak, zda se má kontrolovat ILUO - @ILUO out - varchar(1) s úrovní ILUO uživatele na skupině pracovišť
funkce:
Pokud se má kontrolovat ILUO (@CheckILUO=1) a uživatel nemá nadefinované jakékoli ILUO pro aktuální skupinu pracovišť => uživateli
není povoleno se přihlásit (@CanLogin = 0 a @ReasonForDenial=4).
Jinak procedura vrátí úroveň ILUO operátora aplikaci, která už pracuje podle své logiky (viz část Modul USER_WORK_GROUP)
Modul USER_WORK_GROUP
Parametry modulu: - CheckILUO - Je-li true - provádí se kontrola ILUO - HighestDisallowedILUO - Určuje nejvyšší úroveň ILUO, se kterou ještě operátor nemůže pracovat samostatně (musí se následně přihlásit někdo s vyšším ILUO) - když se nastaví úroveň např. L tak operátor s úrovní L nemůže pracovat sám a musí se přihlásit někdo s úrovní U nebo O
Popis funkce (když je zapnuta kontrola ILUO): Pracoviště je ve stavu "čekám na přihlášení operátora". Operátor načte svůj kód např. Prac9977 a zavolá se procedura sg_User_CanLogin - možné výsledky: - 1. CHYBA - operátor nemá definované ILUO na aktuální skupinu pracovišť - všechny informace o načteném operátory jsou zapomenuty - 2. WARNING - operátor má nízkou úroveň ILUO - 3. OK - operátor úspěšně přihlášen - logika pracoviště pokračuje standartně podle skriptu
Stav - Operátor má nizkou úroveň ILUO
Pracoviště se automaticky přepíná do režimu skupinového přihlášení (LoginType.Group) a uživateli je zobrazena hláška o nedostatečné úrovni ILUO.
Následuje informace o nutnosti načtení uživatele s vyšším ILUO. První uživatel, který splní podmínku úrovně ILUO je označen příznakem IsFirstHighILUO(pozn. tento příznak musí mít pouze jeden uživatel).
Zároveň při splnění této podmínky je zobrazena hláška dokoňcení Přihlašování možno dokončit načtením příkazu C0104. V tuto chvíli je možné přidávat další uživatele nebo ukončit přihlašování.
Načtením příkazového kódu C0104 dojde k ukončení přihlašování, založení nového záznamu v UserWorkGroup s MainUserem podle příznaku IsFirstHighILUO(kdo má IsFirstHighILUO==TRUE bude MainUser)
a k přepnutí režimu přihlašování na původní hodnotu podle nastavení parametru LoginType modulu. Dále logika pokračuje podle skriptu pracoviště.
Během práce na pracovišti se může jakýkoli uživatel odhlásit načtením svého uživatelského kódu. Po načtení je vyzván k potvrzení odhlášení celé skupiny.
Operátor může potvrdit odhlášení celé skupiny příkazovým kódem C0101 nebo načte kód C0102. Načtením příkazového kódu C0102 dojde ke zrušení aktuální UserWorkGroup a k automatickému založení
nové ovšem již bez operátora, který odhlašování vyvolal. Pokud je tímto operátorem zároveň MainUser aktuální skupiny, tak i přes načtení C0102 dojde k odhlášení celé skupiny a nedojde k následnému
automatickému založení skupiny nové.