AISEC
Subjekt
Subjekt je daná osoba vyskytující se v registru.
Stavy subjektu
Subjekty mohou mít stav podle toho jak je úspěšná komunikace se serverem. A to mohou být následující:
Empty – žádný stav
NegativeError – nevyplněné Rodné číslo(dále jen RČ) nebo datum narození
Error – nastala obecná chyba
Positive – přijata odpověď
Negative – nedohledání subjektu
Done – všechny odpovědi jsou naimportováni
Import
Následuje import do systému a zpracování subjektu, ten taktéž závisí stavu subjektu.
Negative – vytvořená odpověď pro nedohledání subjektu. (Úkol pro při negativní odpovědi podle nastavení.) Změna stavu na Done.
NegativeError – vytvořená odpověď typu Error – Nevyplněné RČ nebo Datum narození (Úkol pro podle nastavení). Změna stavu na Done.
Error – vytvořená odpověď typu Error s popisem chyby (Úkol pro podle nastavení). Změna stavu na Done.
Done – subjekt je již importován.
Positive – příprava na Import.
Proces ve stavu Positive
Načtení odpovědi
Načte se odpověď z ROBu(registr obyvatel) pro lustrovaný subjekt. Když má subjekt stav Positive musí mít alespoň odpověď z ROBu, ale odpověď AISEO není nutná. Informace o příbuzných poskytuje pouze AISEO. Jestli nemáme odpověď z AISEO není možné zjistit informace o příbuzných. Pokud odpověď z AISEA dostaneme, zjístíme si odpovědi příbuzných. Nejdříve odpověď z ROBu. Pokud neexistuje pak nebude ani odpověď z AISEO.
Import Subjektu
- Kontrola, zda je klient stále v databázi. Jestli není, tak skončí chybou.
- Jestli neexistuje odpověď z ROBu končí chybou
- Jestli nemáme odpověď z AISEO pak nemáme ani informace o příbuzných. Přesto se budou importovat odpověďi ale pouze z ROBu. (viz. Import ROB). K výsledku lustrace se přidá informace, proč nemáme informace z AISEO/AISC. (Nedohledání, nastala chyba při stahovaní nebo je subjekt cizinec a AISC není povolen)
- Jestli máme odpověď z AISEO tak se naimportuji data z AISEO/AISC (viz. Import AISEO/AISC)
Import Manžela
- Informace o manželovi jsou pouze v AISEO, takže můžeme importovat pouze když máme odpověď z AISEA.
- Jestli neexistuje odpověď pro manžela z ROBu tak se vytvoří úkol „Nebylo možné lustrovat manžela, protože se nestáhl z ROBu“ a manžel nebude naimportován.
- Když lustrujeme subjekt vrátí nám pouze některé informace o manželovi (někdy je mezi těmito informacemi i AIFO, ale někdy ne nemusí být). Z těchto informací získáme AIFO na ROBu a stáhneme kompletní data manžela.
- Pokud druhá fáze z nějakého důvodu nestáhne data z AISEO/AISC pak se vytvoří úkol „subjekt byl prolustrován jen na ROBu“ a budou se importovat pouze informace z ROBu
- Nejdříve zjistíme, zda je manžel v databázi a když není tak ho vložíme. Dále aktualizujeme klientovi hodnoty kopTypType a kopDruhType. Tyto informace jsou v tabulce Vazba_KOP. Pokud nejsou zadány tak budou tyto hodnoty prázdné.
- Poté se provede Import ROB a AISEO, podle odpovědi, které jsme načetli.
- Výsledek lustrace pro subjekt
- Všechny Importy (Import Rob, Import AISEO, úkony, úkoly) jsou v transakci
- Commit, tedy potvrzení transakce, nastane až při zapsáni všech informací do databáze. Až poté se změní stav subjektu na Done.
- Import jednotlivých položek z Import ROB, Import AISEO má dvojí charakter (vygenerují se pouze úkoly nebo se ke každé importované položce vytvoří záznam a to buď „novy“, “změna“, atd.) Podle výsledků všech záznamů se zjistí celkový výsledek lustrace.
Výsledky se liší vzhledem na nastavení Importovat odpověď i pro manžela. Podle toho nastanou 3 možné situace:
- Nebude zapnuté importování manžela. Importuje se tedy pouze výsledek daného subjektu.
- Bude zapnuté Importovaní manžela, ale subjekt nemá žádného manžela. Importuje se pouze výsledek daného subjektu.
- Bude zapnuté Importovaní manžela a subjekt má manžela. Budou dva výsledky lustrace. Pro povinného a pro manžela.
Změna Fáze Ticketu
- Jestli je nějaký subjekt v Error pak se hromadná součinnost přepne do fáze 4-Error
- Jestli jsou všechny v done ticket se přepne do fáze 5-Ready
Import AISC
- Blokace
Jestli existují nějaké blokované údaje pak se vytvoří úkol „AISEO blokuje některé údaje o subjektu {Jméno Subjektu} dle § 60 zákonu 111/2009 sb. Tyto údaje jsou nyní nedostupné: {Blokované údaje}.“ Úkol je přiřazen dle nastavení na Úkol pro při blokaci údajů subjektu.
- Místo úmrtí
Jestli je v odpovědi uvedeno místo úmrtí a zároveň není uveden datum úmrtí vytváří se úkol. Úmrtí klienta se natahuje z ROBu, ale když není datum uveden tak je považován za živého. Proto se vytváří úkol pouze když je uvedeno místo úmrtí, ale není uveden datum úmrtí. Úkol má formát Povinny {Jméno subjektu} zemřel v {místo smrti} a je přiřazen dle nastavení Úkol pro při povinný zemřel. Vytváří se pouze když je klient povinny!
- Pohlaví
Pohlaví se určuje na základe RČ.
- Jestli nemá uvedené RČ v odpovědi tak se nic neimportuje.
- Jestli nemá uvedeno pohlaví nebo nastane změna, vytvoří se výsledek typu „nový záznam“ nebo „změna záznamu“
- Následně se aktualizuji hodnoty klienta Pohlaví, Upravil, Upraveno
- Právní způsobilost
Způsobilost se importuje pouze když je klient povinný a máme vyplněné údaje zbaveni způsobilosti a omezeni způsobilosti z AISEA
- Získáme původní omezení z databáze pro klienta a aktuální omezení z odpovědi AISEA. Poté se hodnoty porovnají. Úkol se nevytváří pouze když nastane změna z NULL -> NE. V opačném případe se vytvoří úkol pro Úkol pro při omezení právní způsobilosti. S textem Povinnému {jméno subjektu} bylo upraveno omezení právní způsobilosti na {hodnota způsobilosti}.
- Zbavené způsobilosti používá stejný princip vytvoření úkolu. Změna je jen v textu úkolu Povinnému {jméno subjektu} bylo upraveno zbavení právní způsobilost na {zbavení způsobilosti}.
- Rodinný stav
Importuje se pouze, když je uvedena hodnota RodinnyStav. Jestliže klient nemá vyplněn rodinný stav Importuje se „nový záznam“ a u klienta se aktualizují hodnoty RodinnyStav, RodinnyStavOd, Upravil, Upraveno. Pokud se RodinnyStav změnil, tak se vytvoří úkol pro Úkol pro při povinný změnil rodinný stav s textem Povinnému se změnil rodinný stav z {původní} na {aktuální}. Jestli se stavy shodují, ale klient nemá vyplněné RodinnyStavOd tak se vyplní a výsledek bude „nový záznam“. Taktéž se aktualizují hodnoty RodinnyStavOd, Upravil, Upraveno.
- Rodné číslo
Pokud nevrátí AISEO RČ klienta, addin se rozhodne co dělat podle nastavení Importovat subjekty bez RČ. Jestliže je nemá importovat, poté Import subjektu skončí chybou s textem Nelze importovat subjekt {jméno subjektu}, protože registr AISEO nevrátil jeho rodné číslo. V opačném případe se vytvoří informace, že se k subjektu nevrátilo RČ ale přesto bude importován.
- Pokud subjekt v databázi nemá žádné rodné číslo, tak ho doplníme. Výsledek bude „nový záznam“. Subjekt jsme mohli ztotožnit podle datumu narození na ROBu (klient nemusel mít vyplněné RČ)
- Ověříme získané RČ z odpovědi a pokud není platné, import subjektu skončí chybou s popisem.
- Pokud se neshoduje tak se podíváme, zda není RČ z databáze v původních RČ v odpovědi:
- Pokud není, import skončí chybou s textem Nelze importovat subjekt {jméno subjektu}, protože se neshoduje rodné číslo uvedené u subjektu s rodným číslem vráceným z registru AISEO. Rodné číslo subjektu je {RC z DB}, rodné číslo podle AISEO je {RC odpověď}.
- Jestli se RČ nachází v původních RČ získáme jeho platnost(pokud je uvedena). Pak bude výsledek „změna“ s textem U subjektu {jméno subjektu} došlo ke změně rodného čísla. Aktuální rodné číslo podle registru AISEO je {RC AISEO}. Rodné číslo u subjektu je {RC databáze}. Toto rodné číslo bylo platné do {datum platnosti}.
- Pokud není, import skončí chybou s textem Nelze importovat subjekt {jméno subjektu}, protože se neshoduje rodné číslo uvedené u subjektu s rodným číslem vráceným z registru AISEO. Rodné číslo subjektu je {RC z DB}, rodné číslo podle AISEO je {RC odpověď}.
- Rodné Příjmení
Importuje se pouze, když je uvedeno rodné příjmení.
- Jestli klient nemá v databázi uvedeno Rozený a jeho příjmení není shodné s odpovědí z AISEA pak se importuje rodné příjmení. Aktualizuje se sloupce Rozeny, Upravil, Upraveno. Výsledek je „nový záznam“.
- Když má uvedeno Rozený a tato hodnota není shodná kontroluje se shoda se sloupcem Příjmení. Pokud je shodná Upraví se Rozený=null, Upravil, Upraveno a výsledek bude „vymazaní záznamu“. Pokud není shodný upraví se Rozený, Upravil, Upraveno a výsledek bude „změna záznamu“
- Pokud má uvedeno Rozený a tato hodnota je stejná kontroluje se shoda se sloupcem Příjmení. Jestli je shoda upraví se Rozený=null, Upravil, Upraveno a výsledek bude „vymazaní záznamu“.
- Ukončené adresy
Ukončené adresy se boudou importovat dle nastavení „Importovat adresy z AISEO“ a když AISEO vrátí nějaké ukončené adresy.
- Původní doručovací adresy
Ukončené doručovací adresy se neimportují. Jen se ke klientovi ve sloupci poznámka přidá text ukončené adresy dle toho, jaké informace vrátil. A vytvoří se „nový záznam“. Pokud tahle adresa už v poznámce je tak se nepřidává nic ani se nevytvoří žádný záznam.
- Původní Trvalé adresa
Získá všechny ukončené adresy z tabulky KlientiAdresyUkoncene, které patří klientovi. Poté kontroluji jednotlivé adresy z AISEO odpovědi (adresa1). Jestli se nenachází v databázi pak ji Importuji a výsledek je „nový záznam“. Jestli se v databázi nachází tak si tuto adresu vezme(adresa2) a začne porovnávat:
- Jestli má adresa2 označené klaTrvalaAdresa nebo klaDorucovaciAdresa pak se adresa změnila a nastala „změna záznamu“
- Jestli nemá adresa2 označené klaTrvalaAdresa nebo klaDorucovaciAdresa kontroluje se změna na základe klaPopis. Poté nastane „změna záznamu“ nebo se nic nestane.
- Dále se kontroluje klaPlatnostOd a klaPlatnostDo. Poté nastane „změna záznamu“ nebo zase nic.
- V případe změny se u adresy aktualizuje klaUpravil, klaUpraveno. Rovněž taky klaZdrojZjistení= „ISZR AISEO“. Kdyby byl zdroj zjištění jiný tak se jen dopíše „; ISZR AISEO“.
- Vazba Kop Manžel
Vazba Kop se importuje u Povinného nebo manžela. Jestlize se AIFO u subjektu se nerovná AIFU z odpovědi tak se nic neimportuje (jde o příbuzného). Když se manžel dohledal v odpovědi pro povinného z AISEA, ale nedohledal se na ROBu tak se k výsledku přidá poznámka: Manžel nemohl být importovaný, protože se dohledal jen jako manžel, na Robu se však nenašel a import se ukonči. Při změně vazby Kop se generuji úkoly pro Úkol pro při změně vazby kop vytvořit úkol a neměnit vazby
- Vezmeme si všechny záznamy z Vazba_KOP, kde kopDruh= “Povinny“‘ s kopIDPripad= CaseID subjektu. (nazveme tuto kolekci „Vazba_KOP_Pripad“)
- Jestli subjekt i manžel jsou povinný tak se vazba nezakládá a import se ukončí
- Ze záznamu z Vazba_KOP si vytáhneme povinnyPovinnyId, povinnyManzelId, manzelExmanzelId. Lustrovaný subjekt může být manžel nebo povinny, dle toho se rozlišuje způsob získaní ID. Tyto ID můžou být i null hodnoty. Poté je několik možností zpracovaní:
Povinny je bud sám anebo se rozvedl, ovdověl
Hodnoty: povinnyPovinnyId not null, povinnyManzelId =null, manzelExmanzelId =null
Vybereme si všechny záznamy z kolekce Vazba_KOP_Pripad, kterou jsme předtím vytáhli z databáze, kde jsou hodnoty kopIDNadrizeny= povinnyPovinnyId a kopTyp=“MANZEL“. Nazveme tuto kolekci Vazba_KOP_Pripad_Manzel.
Pokud se jedná o Vdovce
Dle nastavení Při změně vazby kop vytvořit úkol a neměnit vazby, se buď vytvoří úkol a k výsledku se přidá poznámka „AISEO vrátilo u povinného příznak VDOV-EC/A. Byla ukončena platnost Vazby Kop. Zkontrolujte prosím manžel-a/ku“ nebo se upraví záznamy ve Vazba_KOP. Aktualizuje se kopUpravil, kopUpraveno a kopPlatnostDo. Poté se vytvoří úkol Úprava platnosti vazby kop NULL -> aktuální datum. Rovněž se vytvoří úkol „AISEO vrátilo u povinného příznak VDOV-EC/A. Byla ukončena platnost Vazby Kop. Zkontrolujte prosím manžel-a/ku“ pro Úkol pro při povinný zemřel.
Rozvedl se
Nová se importuje dle nastavení Při změně vazby kop vytvořit úkol a neměnit vazby. Buď se vytvoří úkol „Požadovaná úprava vazby kop MANZEL -> EXMANZEL“ nebo se budou aktualizovat vazby. Aktualizuje se kopUpravil, kopUpraveno, kopPlatnostDo a kopTyp=“EXMANZEL“.
Nemá žádné vazby
Jestli není žádná vazba pak se subjekt sám a nic se neimportuje.
Vrátil se povinný a manžel
Hodnoty: povinnyPovinnyId not null, povinnyManzelId not null, manzelExmanzelId =null
Vytáhneme si všechny exmanžely z kolekce Vazba_KOP_Pripad_Manzel tzn. kopIDKlient is not povinnyManzelId a aktualizujeme vazby (kopUpravil, kopUpraveno a kopPlatnostDo, kopTyp=“EXMANZEL“). Obdobně dle nastavení buď změníme vazby nebo se vytvoří úkol Požadovaná úprava vazby kop MANZEL -> EXMANZEL.
- Dále se zkontroluje, zda je manžel z odpovědi ve vazbách. Jestli není pak se založí nová vazba s hodnotami kopIDNadrizeny= povinnyPovinnyId, kopDruh=“POVINNY“, kopZadal, kopZadano, kopPlatnostDo= datum z odpovědi nebo datum vložení vazby a vloží se do výsledku „nový záznam“
- Jestli je ve vazbách a kopTyp not „MANZEL“, pak vazba existuje ale není to manžel. Nastane změna vazby z „?“ na „MANZEL“. Pak je stejný postup při změně vazba určení nastavením. Úkol Požadovaná úprava vazby kop {?} -> MANZEL.
- Pokud je „MANZEL“ ale má ukončenou platnost (kopPlatnostDo), tak se také upraví vazba. Dle nastavení úkol Požadovaná úprava platnosti vazby kop do z {kopPlatnostDo} -> NULL
Vrátil se jen povinný manžel
Muže nastat, pokud je to lustrovaný subjekt. Je to důsledek toho, že povinný buď zemřel nebo se rozvedl.
Hodnoty: povinnyPovinnyId null, povinnyManzelId not null, manzelExmanzelId =null
Vytáhneme si všechny záznamy z Vazba_KOP_Pripad, kde (kopIDNadrizeny is null a kopTyp=“MANZEL“) nebo (kopIDNadrizeny = povinnyManzelId a kopTyp=“MANZEL“)
Poté aktualizujeme všechny vazby. Jsou tyto možnosti:
- AISEO vrátilo, že je subjekt Vdovec. Pak obdobně dle nastaveni se změní vazba nebo úkol AISEO vrátilo u manžela příznak VDOV-EC/A. Požadovaná úprava platnosti vazby kop z NULL -> {0}, Při aktualizaci vazby upravuje kopUpravil, kopUpraveno, KopPlatnostDo
- Jestli nevrátilo, že je vdovec pak se rozvedli. Zase úprava dle nastaveni. Při aktualizaci se upravuje kopUpravil, kopUpraveno, kopPlatnostDo, kopTyp=“EXMANZEL“. Úkol typu Požadovaná úprava vazby kop MANZEL -> EXMANZEL
Vrátil se povinný manžel a nový manžel
Muže nastat, jestli je manžel jako lustrovaný subjekt.
Hodnoty: povinnyPovinnyId is null, povinnyManzelId not null, manzelExmanzelId not null
Vytáhneme si všechny záznamy z Vazba_KOP_Pripad, kde (kopIDNadrizeny is null a kopTyp=“MANZEL“) nebo (kopIDNadrizeny = povinnyManzelId a kopTyp=“MANZEL“). Z této kolekce ještě vybereme všechny manželé tzn. (kopIDklient is not manzelExmanzelId) and (kopIDNadrizeny is not manzelExmanzelId.) Poté aktualizujeme vazby z MANZEL-> EXMANZEL. Nebo se vytvoří úkol „Požadovaná úprava vazby kop MANZEL -> EXMANZEL“. Dále mohou nastat 2 situace:
- Alespoň jedna z vazeb je manžel, který se vrátil
Jeli tato vazba typu EXMANZEL, pak se změní vazba zase dle nastavení. Úkol bude „Požadovaná úprava vazby kop EXMANZEL -> MANZEL“. Při úpravě se nastaví kopPlatnostDo na null a kopPlatnostDo na datum uvedený v odpovědi nebo datum importu. Pokud vazba sedí pak se aktualizuje pouze v případě, jestli má uvedený datum kopPlatnostDo. Úkol Skončená platnost vazby kop. Požadovaná úprava platnosti vazby kop do z {0} -> NULL
- Postižený manžel není ve vazbách
Jestli není pak se založí nová vazba s hodnotami kopIDNadrizeny= povinnyManzelId, kopDruh=“POVINNY“, kopZadal, kopZadano, kopPlatnostDo= buď datum z odpovědi nebo datum vložení vazby a vloží se do výsledku „nový záznam“
Spuštění addinu
Samotné ISZR obsahují Registr obyvatel (ROB) a dále kompozitní službu AISEC. Do obou částí se musí vyřídit přístup do testovacího prostředí a až následně do produkčního prostředí.
Postup registrace je stejný jako u addinu AISEO. Změní se pouze v nabídce AISEC namísto AISEO.