Kapitola 4. Vstup

Obsah

1. Filtrování vstupních dávek
1.1. Dostupné cíle
1.2. Definice pravidel filtrování
1.3. Masky
1.4. Interní atributy
1.5. Příklady
2. Archivace (zalozni kopie vstupu)
3. Ulozeni davek v systemu

Data vstupuji ve formatu popsanem v dokumentu SpecifikaceRozhraniDistrSken nebo jako emaily dostupné pomocí protokolu IMAP. Dávky se ukládají do adresáře příslušné produktové oblasti ( atribut source v tagu <domain>).

1. Filtrování vstupních dávek

Filtrování vstupu funguje na základě pravidel, která popisují co se má stát se spisem, který zadaná pravidla splňuje. Pokud je pravidlo splněno, je spis poslán do určitého cíle, což je vstupní bod dalšího zpracování.

1.1. Dostupné cíle

V systému jsou tři možné cíle

  1. check

  2. archive

  3. error

1.1.1. Check

Cíl check je určen k manuální kontrole spisu. Do tohoto cíle se automaticky posílají spisy, kde aspoň jeden dokument nemá určen dokumentový typ.

1.1.2. Archive

Cíl archive je určen k automatické archivaci

1.1.3. Error

Cíl error je určen pro zpracování chybných dávek ( špatný formát parametrů apod.)

1.2. Definice pravidel filtrování

Pravidla pro filtrování jsou popsána v souboru rules.xml. Při zpracování se spis ( jeho atributy ) porovnává s jednotlivými pravidly v pořadí v jakém jsou zadány. Pokud je dané pravidlo splněno je spis poslán do cíle určeného tímto pravidlem. Pokud není splněno žádné pravidlo je použito pravidlo defaultRule. Každé pravidlo se skládá z několika podmínek. Spis dané pravidlo spňuje, pokud jsou splněny všechny zadané podmínky ( and ).

<?xml version="1.0" ?>

<Rules defaultRule="check"  cmServerFail="check">
 <Rule name="KontrolaCJ" target="error" match="any">
  <NotValid attribute="CJ" mask="99999999999999"/>
 </Rule>

 <Rule name="Smlouva" target="archive" match="all">
  <Equal attribute="Golem.Area" value="PRIMO"/>
  <Valid attribute="CJ" mask="99999999999999"/>
  <Valid attribute="CPS_CPU" mask="9999999999"/>
 </Rule>

 <CompositeRule name="Archivuj M0001" target="archive">
  <Rule match="all">
   <Valid attribute="CJ" mask="99999999999999"/>
   <Valid attribute="CPS_CPU" mask="9999999999"/>
  </Rule>
  <Rule match="any">
   <Equal attribute="Document.type" value="M001"/>
  </Rule>
 </CompositeRule>
 
</Rules>

1.2.1. Rules

Tabulka 4.1. Parametry Rules

Název atributu

Hodnota atributu

defaultRule

cíl, kam je poslán spis, pokud se neuplatní žádné pravidlo

cmServerFail

pokud je zvolen cíl archive, tak se ještě provádí kontrola podle cmserverě.xml, pokud kontrola selže je spis poslán do uvedeného cíle (neimplementováno)


1.2.2. Rule

Popis jednoho pravidla

Tabulka 4.2. Parametry Rule

Název atributu

Hodnota atributu

name

název pravidla (zadává se pouze pokud není součástí CompositeRule)

target

cíl, kam je poslán spis, pokud lze pravidlo aplikovat (zadává se pouze pokud není součástí CompositeRule)

match

hodnoty (all,any), pravidlo je splněno pouze pokud je splněno pro všechny dokumenty spisu (all) nebo pro aspoň jeden dokument spisu (any)


1.2.3. CompositeRule

Popis jednoho složeného pravidla

Tabulka 4.3. Parametry CompositeRule

Název atributu

Hodnota atributu

name

název pravidla

target

cíl, kam je poslán spis, pokud lze pravidlo aplikovat


1.2.4. Equal

Podmínka pravidla je splněna pokud atribut s daným jménem obsahuje danou hodnotu.

Tabulka 4.4. Parametry Equal

Název atributu

Hodnota atributu

name

název atributu

value

hodnota atributu


1.2.5. Valid

Podmínka pravidla je splněna pokud hodnota daného atributu vyhovuje dané masce nebo regulárnímu výrazu.

Tabulka 4.5. Parametry Valid

Název atributu

Hodnota atributu

name

název atributu

mask

maska

pattern

regulární výraz


1.2.6. NotValid

Podmínka pravidla je splněna pokud hodnota daného atributu nevyhovuje dané masce nebo regulárnímu výrazu, nebo pokud atribut neexistuje. Použita může být buď maska nebo regulární výraz.

Tabulka 4.6. Parametry NotValid

Název atributu

Hodnota atributu

name

název atributu

mask

maska

pattern

regulární výraz


1.3. Masky

Tabulka 4.7. Parametry Masky

Znak

Význam

!

všechny znaky až do konce velká písmena

#

všechny znaky až do konce A-Z 0-9

@

všechny znaky až do konce A-Z a-z

9

na dané pozici je číslice

*

libovolné znaky až do konce řetězce


1.4. Interní atributy

Kromě atributů vytěžených z mailu nebo na skenovací lince jsou pro účely filtrování dávek dostupné následující atributy.

Tabulka 4.8. Interní atributy

Atribut

Význam

Damis.domain

název domény, kterou spis vstoupil do Damisu

Damis.domainType

typ domény, kterou spis vstoupil do Damisu ( možné hodnoty scan,mail )


1.5. Příklady

1.5.1. Kontrola formátu čísla jednacího

 <Rule name="KontrolaCJ" target="error" match="any">
  <NotValid attribute="CJ" mask="99999999999999"/>
 </Rule>

Pravidlo je splněno pokud aspoň jeden dokument ( match="any" ) ze spisu nemá vyplněný atribut CJ ve formátu 99999999999999 ( čtrnáct číslic ). Při splnění pravidla je spis poslán do chybového adresáře ( target="error" )

1.5.2. Odeslání spisu se všemi vyplněnými atributy na přímou archivaci

 <Rule name="Smlouva" target="archive" match="all">
  <Valid attribute="CJ" mask="99999999999999"/>
  <Valid attribute="CPS_CPU" mask="9999999999"/>
 </Rule>

Pravidlo je splněno pokud mají všechny dokumenty vypněné atributy CJ a CPS_CPU ( match="all" ). Pokud je pravidlo splněno je spis poslán na přímou archivaci ( target="archive" )

1.5.3. Odeslání spisu konkrétního typu přímou archivaci

 <CompositeRule name="Archivuj M0001" target="archive">
  <Rule match="all">
   <Valid attribute="CJ" mask="99999999999999"/>
   <Valid attribute="CPS_CPU" mask="9999999999"/>
  </Rule>
  <Rule match="any">
   <Equal attribute="Document.type" value="M001"/>
  </Rule>
 </CompositeRule>

Pravidlo je splněno pokud mají všechny dokumenty vypněné atributy CJ a CPS_CPU ( match="all" v prvnim Rule ) a zároveň aspoň jeden dokument je dokumentového typu M0001 ( match="any" v druhém Rule ). Pokud je pravidlo splněno je spis poslán na přímou archivaci ( target="archive" )

1.5.4. CPS_CPU začínající 00

 <Rule name="Smlouva" target="archive" match="all">
  <Valid attribute="CJ" mask="99999999999999"/>
  <Valid attribute="CPS_CPU" pattern="00\d{8}"/>
 </Rule>

Pravidlo je splněno pokud mají všechny dokumenty vyplněno CJ ( 14 číslic ) a CPS_CPU začíná dvěma nulami a pokračuje osmi číslicemi.

1.5.5. CPS_CPU začínající 00 a spis přichází z domény "scan1"

 <Rule name="Smlouva" target="archive" match="all">
  <Valid attribute="Damis.domain" value="scan1"/>
  <Valid attribute="CJ" mask="99999999999999"/>
  <Valid attribute="CPS_CPU" pattern="00\d{8}"/>
 </Rule>

Pravidlo je splněno pokud spis přichází z domény "scan1" a všechny dokumenty mají vyplněno CJ ( 14 číslic ) a CPS_CPU začíná dvěma nulami a pokračuje osmi číslicemi.

1.5.6. CPS_CPU začínající 00 a spis přichází ze skenovací domény

 <Rule name="Smlouva" target="archive" match="all">
  <Valid attribute="Damis.domainType" value="scan"/>
  <Valid attribute="CJ" mask="99999999999999"/>
  <Valid attribute="CPS_CPU" pattern="00\d{8}"/>
 </Rule>

Pravidlo je splněno pokud spis přichází z libovolné skenovací domény a všechny dokumenty mají vyplněno CJ ( 14 číslic ) a CPS_CPU začíná dvěma nulami a pokračuje osmi číslicemi.

2. Archivace (zalozni kopie vstupu)

Naskenovana davka je ulozena k archivaci pote co si ji system precte ze vstupniho adresare. Uklada se do prislusne archivacniho adresare ( atribut archive v tagu <domain>).

3. Ulozeni davek v systemu

ze vstupniho adresare jsou jednotlive DocumentSety (dokumenty se stejnym cislem jednacim ) ulozeny v adresari ${damis}\batches