env-avis je knihovna Java pro čtení a ukládání dat do DBF pro výměnu dat s AVIS.
env-avis je AGPL.
Mezi evidenčním systémem sanace ekologických zátěží a účetnictvím vedeným v AVIS probíhá výměna dat. V rámci této výměny se do AVIS posílají soubory:
- SUP.DBF - číselník supervizorů
- CISPOD.DBF - ekologické smlouvy
- CISPOD3.DBF - realizační smlouvy
Z AVIS do evidenčího systému sanace ekologických zátěží se posílají aktuální data ekologických faktur.
- faktLN.dbf
Knihovna používá knihovnu JavaDBF.
Architektura knihovny je prostá. Knihovna obsahuje jedinou třídu cz.sysnet.env.Utils, která pracuje s modelem pomocí statických metod. Soubory DBF se ukládají v kódování Windoze 1250.
Datové objekty vyměňovaných dat jsou popsány v modelu jako 4 třídy, jejich názvy respektují historické pojmenování:
- cz.sysnet.env.model.Sup supervizor
- cz.sysnet.env.model.Cisdod ekologická smlouva
- cz.sysnet.env.model.Cisdod3 realizační smlouva
- cz.sysnet.env.model.Faktura ekologická faktura
Knihovna umožňuje uložit seznam objektů do souboru DBF, načist seznam objektů z DBF a zkonvertovat soubor DBF do standardního CSV v kódování UTF-8.
String dbfFilename = "FAKTURY.DBF";
String csvFilePath = cz.sysnet.env.Utils.dbfToCsv(dbfFilename);
Supervizor
List<Sup> supList = new ArrayList<Sup>();
.
. naplnit seznam
.
String dbfFilename = "SUP.DBF";
cz.sysnet.env.Utils.storeSupToDbf(supList, dbfFilename);
Ekologické smlouvy
List<Cisdod> cisdodList = new ArrayList<Cisdod>();
.
. naplnit seznam
.
String dbfFilename = "CISDOD.DBF";
cz.sysnet.env.Utils.storeCisdodToDbf(cisdodList, dbfFilename);
Realizační smlouva
List<Cisdod3> cisdod3List = new ArrayList<Cisdod3>();
.
. naplnit seznam
.
String dbfFilename = "CISDOD3.DBF";
cz.sysnet.env.Utils.storeCisdod3ToDbf(cisdod3List, dbfFilename);
Tento příklad načte do proměnné fakturaList 1000 datových objektů ze souboru, počínaje 51. objektem (řádkem).
List<Faktura> fakturaList = null;
int fromItem = 50;
int itemCount = 1000;
String dbfFilename = "fakturyLN.dbf";
fakturaList = cz.sysnet.env.Utils.loadFakturaList(dbfFilename, fromItem, itemCount);
git clone https://github.com/SYSNET-CZ/env-avis.git
cd env-avis
mvn clean package