Fáze 2 – Export dotazů do bank

Property

  1. Pracovní adresář: adresářová cesta ke všem lustracím evolio serveru. K této cestě je automaticky přidán adresář „BANKY“.
  2. Počet částí cílové zásilky: Pokud není zadáno vrací se 10. Označuje počet subjektů v 1 XML souboru.
  3. TimeOut: Timeout datové vrstvy (komunikace s SQL serverem) v milisekundách
  4. Číslovat spisový přehled: Booleovská hodnota. Addin podle nastavené hodnoty čísluje úkony, které vytváří do spisu a hromadné součinnosti
  5. Archiv: adresářová cesta, kam se ukládají zpracované *.list soubory.
  6. Průvodní dopis (cesta k souboru): platná cesta k souboru, který nahradí jinak genericky addinem generovaný průvodní dopis
  7. Connection string: připojovací řetězec k SQL databázi

Účel addinu

Export žádostí o součinnost s bankami

Podrobný popis exportu žádostí

Na začátku fáze dvě kontroluje, jestli předchozí fáze (STEP) skončila dobře (SUCCESS) nebo jestli vůbec proběhl. Pokud fázi 2 addinu Banky žádná jiná fáze (step) nepředcházela, pak se předpokládá, že předchozí fáze skončila dobře (SUCCESS). Fáze pak zkontroluje, jestli je zadán Connection string. Pokud ne fázr končí chybou (PROBLEM) „Connection string je prázdný. Export nebude proveden„. Pak kontroluje jestli je pracovní adresář obohacený o adresář BANKY platný a jestli jsou přítomny další podadresáře (jednotlivé lustrace). Pokud nejsou obě dvě podmínky splněny, fáze končí chybou „Nic ke zpracování“.
Pak fáze prochází v pracovním adresáři (+BANKY) všechny součinosti, které jsou READY pro fázi 2. Z každé takové součinnosti se načte ticket a ověří se, jestli je ticket v pořádku (<>LOADERROR). Z každé hromadné součinnosti připravené pro fázi dvě se načtou soubory *.list. A provede se jejich zpracování do XML a archivace kopírováním. Pokud pro všechny soubory *.list v 1 součinnosti nevznikne žádný problém. Fáze 2 addinu BANKY nastaví součinnost do fáze 3.

Zpracování *.list souboru do XML (Tvorba XML dotazů pro banky)

Z *.listu se získá id a číslo hromadné součinnosti a z databáze číslo exekučního úřadu. Uloží se průvodní dopis do případu hromadné součinnosti v Evoliu.
Z celkového počtu subjektů v *.listu a počtu částí se vypočte počet kol, kdy na jedno kolo spadá 1 XML s 1 datovou zprávou.

Generování XML

Nejdřív se vytvoří hlavička. Zjistí se maximální pořadové číslo XML pro aktuální den (kolik XML už bylo ten den vygenerováno), ale to pouze v tom případě, že existuje tabulka aHSBankPoradiXML v databázi. Jinak se použije pořadí aktuálního kola. Po hlavičce se začnou generovat jednotlivé subjekty jejichž počet nepřekročí „Počet částí cílové zásilky“. Ke každému subjektu do XMl se genruje i informace o usnesení z uložené procedury GetUsneseniDoc. Pokud vrátí procedura číslo, pak se do XML uloží číslo vrácené procedurou a přípona dokumentu a dané číslo se uloží do kolekce dokumentů k exportu z Evolia do datové zprávy v hromadné součinnosti. Pokud návratová hodnota není číslem, ale neprázdným řetězcem, pak do XML uloží daný řetězec. Pokud usnesení pro subjekt chybí, pak se nezařadí do XML. Poté se vygeneruje název XML souboru. Ten a všechny exportovaná usnesení k subjektům se uloží do hromadné součinnosti a do kolekce příloh datové zprávy. Do kolekce se uloží i průvodní dopis. Do hromadné součinnosti se vytvoří nová datová zpráva připravena k odeslání. Připojí se k ní všechny přílohy včetně úkonu. Tohle se opakuje počet kol krát. Úkony mají pořadí, pokud uživatel požaduje číslování úkonů ve fázi 2. Na konci každého kola se uloží pořadí XML souboru do aHSBankPoradiXML, pokud tabulka v databázi existuje.

Verze 45

Než začnou zpracovávat jednotlivé subjekty do XML je Ticket uložen na disk do stavu process. Tudíž při neočekávané chybě se celá součinnost již znovu nezpracovává.{BR}
Do odchozí pošty se do čísla jednacího odesílatele ukládá číslo jednací z XML přílohy. Toto číslo jednací je použito ve vyhledávácím kriteriu pro existující poštu.
Tedy nedochází znovu k vytvoření pošty nové, pokud už tam taková je, čili nedojde k duplicitnímu odeslání "téže" zprávy.
Vyhledávácí kritérium
"select * from podatelna where podDruh = 'O' and podDruhDoruceni = 'D' and podPopis = 'XMLEXE SOUC' and OdesilatelCisloJednaci = '{0}'"

7.2013.1.2

U spisů s datem zahájení od 1.1.2013 se do tagu pro usnesení dává N místo usnesení



Fáze 3.

Property

  1. Pracovní adresář: adresářová cesta ke všem lustracím evolio serveru. K této cestě je automaticky přidán adresář „BANKY“.
  2. Connection string: připojovací řetězec k SQL databázi


Účel addinu

Stažení odpovědí z bank pro hromadné součinnosti, které jsou připraveny pro fázi 3.

Podrobný popis stažení odpovědí

Fáze zkontroluje, jestli je zadán Connection string. Pokud ne, fáze končí chybou (PROBLEM) „Connection string je prázdný. Export nebude proveden„. Pak kontroluje jestli je pracovní adresář obohacený o adresář BANKY. Pokud není podmínka splněna, fáze končí chybou „Adresář neexistuje“.

Nejdřív se načtou nezpracované odpovědi z bank pomocí tohoto SQL skriptu
SELECT        d.IDDokumenty, d.Part, p.podIdDatoveSchranky, p.podDruh, p.podDruhDoruceni, ka.klaHromadnaSoucinnostBanky
                           FROM  Dokumenty AS d INNER JOIN
                                 Vazba_DOP AS dop ON d.IDDokumenty = dop.dopIDDoc INNER JOIN
                                 Podatelna AS p INNER JOIN
                                 PodatelnaPolozky AS pp ON p.podID = pp.popIDPodatelna ON dop.dopIDKalendar = pp.popIDKalendar INNER JOIN
                                 KlientiAdresy AS ka ON p.podIdDatoveSchranky = ka.klaIdDatoveSchranky
                           WHERE (d.Part LIKE '%odp.xml') AND (p.podDruh = N'P') AND (p.podDruhDoruceni = N'D') AND (ka.klaHromadnaSoucinnostBanky = 1)
                                  AND d.IDDokumenty not in (Select IDDokumenty From aZpracovaneOdpovediBank)


Pak se přečte obsah každé odpovědi a zjistí se z ní číslo hromadné součinnosti, na kterou banka odpovídá.

Pak fáze 3 projde všechny součinnosti ve fázi 3 a porovnává jejich čísla součinností s čísly součinností v odpovědích. Při shodě se odpověď uloží do adresáře součinnosti a zvýší se fáze na 4.


Fáze 4



Property

  1. Pracovní adresář: adresářová cesta ke všem lustracím evolio serveru. K této cestě je automaticky přidán adresář „BANKY“.
  2. Archiv: adresářová cesta, kam se ukládají zpracované odpovědi.
  3. Connection string: připojovací řetězec k SQL databázi
  4. Komu ukol pri pozitivni součinnosti: uživatel Evolia, kterému budou udělovány úkoly při pozitivních součinnostech
  5. Komu ukol pri negativni součinnosti: uživatel Evolia, kterému budou udělovány úkoly při negativních součinnostech
  6. Komu ukol kdy neslo rozhodnout o vysledku soucinnosti: uživatel Evolia, kterému budou udělovány úkoly při nerozhodných součinnostech
  7. HTML náhled (*.XLST): cesta k translančnímu souboru, který XML převede na HTML 4.01


Účel addinu

Zpracování odpovědí z bank pro hromadné součinnosti, které jsou připraveny pro fázi 4.

Podrobný popis zpracování odpovědí

Provede se kontrola na přítomnost connection stringu a platnost pracovního adresáře (+BANKY). Pak se vyhledají součinnosti ve fázi 4 a provede se import odpovědí v dané součinnosti. Nejřív se provede kontrola, že XMl obsahuje element Vyzva a že není prázdný. Pak se provede kontrola na přítomnost elementu Odpovedel. Pokud není element přítomen faze vratí varování, ale import neukončí. Poté se získá číslo hromadné součinnosti a provede se nalezení dané součinnosti v Evoliu. Musí být práv jedna, jinak se import neprovede. XML se převede do HTML, pokud je přítomen XLST soubor a XML i HTML se přidá do úkonu, který se uloží do nalzené hromadné součinnosti. Fáze poté zpracovává jednotlivé subjekty.{BR}
Nejdříve se provede kontrola, jací uživatelé jsou přiřazeni do jednotlivých druhů úkolů. Chybějící jsou nahrazeny klíčovým slovem <nowiki>vyřizuje</nowiki>. Pak se prochází jednotlivé subjekty. U nich jsou zapsány i spisy, ke kterým mají patřit. Takže se najde spis a subjekt v evoliu. Zkontroluje, jestli subjekt patří do spisu. Když ne import odpovědi pro daný subjekt se neprovede a Evolio serveru se ohlásí chyba. Zkontroluje, jestli spis patří do součinnosti, na kterou se odpovídá. Když ne, Evolio serveru se ohlásí varování a import pokračuje dál. Z XML odpovědi se vyjme do nového XML souboru jen část, která souvisí s daný subjektem a provede se její zpracování. Účty a cenné papíry se importují do majetkových hodnot. Nově vzniklé XML se převede do HTML. HTML i XML se uloží do úkonu spisu. Řídícím členem, jestli je součinnost pozitivní nebo ne je element zprava.

Od verze 7.2012.1.45

Úspěšně zpracované XML soubory dostanou příponu .zpracováno.
Pokud byl výsledek lustrace (úkon) aktualizován, pak je kontrolována existence úkolu dle níže zmíněných kritérií. Pokud existuje takový úkol, pak není úkol vytvářen.

if (lustrationResult == LustrationResult.New || lustrationResult == LustrationResult.Changed)
   taskExists = this.TaskExists("Pozitivní součinnost", lustrationType, subject.CaseID, subject.ClientID, massCooperationNumber, subject.Subject, subject.Info, taskUser, ref taskID);

if (lustrationResult == LustrationResult.Error || lustrationResult == LustrationResult.Other)
   taskExists = this.TaskExists("Problém při zpracování součinnosti", lustrationType, subject.CaseID, subject.ClientID, massCooperationNumber, subject.Subject, subject.Info, taskUser, ref taskID);
 
string.Format(@"Select IDPlánovač
                                        from 
                                            Plánovač
                                        where
                                      IDSmlouvy = {0} AND
                                      ČÍSLO_KLIENTA = {1} AND
                                      Komu = '{2}' AND
                                      Kategorie = 'Kontroly' AND
                                      Předmět = '{3} {4}' AND
                                      Poznámka LIKE '{5} - {6}%'", new object[] { caseID, clientID, user, taskName, lustrationType, subjectName, massCooperationNumber });