/* * Copyright (C) 2014 Jan Pokorsky * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ package cz.cas.lib.proarc.webapp.client.widget.nsesss; import cz.cas.lib.proarc.webapp.shared.form.Field; import static cz.cas.lib.proarc.webapp.shared.form.Field.*; import cz.cas.lib.proarc.webapp.shared.form.FieldBuilder; import cz.cas.lib.proarc.webapp.shared.form.Form; import java.util.HashMap; /** * NSESSS forms for DES DESA model. * * @author Jan Pokorsky */ public class DesForms { public static Form spisForm() { Form f = new Form(); f.getFields().add(new FieldBuilder("Spis").setMaxOccurrences(1) .addField(new FieldBuilder("EvidencniUdaje").setMaxOccurrences(1) .addField(new FieldBuilder("Identifikace").setMaxOccurrences(1) .addField(createIdentifikatorField("Identifikator", "Identifikace spisu v evidenci")) .createField()) // Identifikace .addField(new FieldBuilder("Popis").setMaxOccurrences(1).setWidth("400") .addField(new FieldBuilder("Nazev").setTitle("Název spisu").setMaxOccurrences(1).setType(TEXT).setLength(100).setRequired(true).createField()) .addField(new FieldBuilder("Komentar").setTitle("Komentář").setMaxOccurrences(1).setType(TEXTAREA).setLength(255).createField()) .addField(new FieldBuilder("KlicovaSlova").setMaxOccurrences(1) .addField(new FieldBuilder("KlicoveSlovo").setTitle("Klíčová slova").setMaxOccurrences(10).setType(TEXT).setLength(100).createField()) .createField()) // KlicovaSlova .createField()) // Popis .addField(new FieldBuilder("Evidence").setMaxOccurrences(1) .addField(new FieldBuilder("EvidencniCislo").setTitle("Spisová značka").setMaxOccurrences(1).setType(TEXT).setLength(50).setRequired(true).createField()) .addField(new FieldBuilder("UrceneCasoveObdobi").setMaxOccurrences(1) .addField(new FieldBuilder("Rok").setTitle("Časové období evidence").setMaxOccurrences(1).setType(G_YEAR).setRequired(true).createField()) .createField()) // UrceneCasoveObdobi .addField(new FieldBuilder("NazevEvidenceDokumentu").setTitle("Název evidence").setMaxOccurrences(1).setType(TEXT).setLength(100).setRequired(true).createField()) .createField()) // Evidence .addField(new FieldBuilder("Puvod").setMaxOccurrences(1) .addField(new FieldBuilder("DatumVytvoreni").setMaxOccurrences(1) .addField(new FieldBuilder("value").setTitle("Datum vytvoření").setMaxOccurrences(1).setType(DATE).setRequired(true).createField()) .createField()) // DatumVytvoreni .createField()) // Puvod .addField(new FieldBuilder("Trideni").setMaxOccurrences(1).setTitle("Věcná skupina").setRequired(true) .addField(new FieldBuilder("JednoduchySpisovyZnak").setTitle("Kód").setMaxOccurrences(1).setType(SELECT).setLength(50).setRequired(true) .setOptionDataSource(new FieldBuilder("desa-des.rec-cl").setWidth("400") .addField(new FieldBuilder("fullyQcc").setTitle("Kód").createField()) .addField(new FieldBuilder("title").setTitle("Název").createField()) .createField(), // desa-des.rec-cl "classCode", new HashMap<String, String>() {{put("classCode", "JednoduchySpisovyZnak"); put("fullyQcc", "PlneUrcenySpisovyZnak");}}) .createField()) // JednoduchySpisovyZnak .addField(new FieldBuilder("PlneUrcenySpisovyZnak").setTitle("Plný kód").setMaxOccurrences(1).setType(TEXT).setLength(255).setRequired(true).createField()) .createField()) // Trideni .addField(new FieldBuilder("VyrizeniUzavreni").setTitle("Uzavření").setMaxOccurrences(1).setRequired(true) .addField(new FieldBuilder("Datum").setMaxOccurrences(1) .addField(new FieldBuilder("value").setTitle("Datum vyřízení").setMaxOccurrences(1).setType(DATE).setRequired(true).createField()) .createField()) // Datum .addField(new FieldBuilder("Zpusob").setTitle("Způsob vyřízení").setMaxOccurrences(1).setType(COMBO) .addMapValue("vyřízení dokumentem", "vyřízení dokumentem").addMapValue("postoupení", "postoupení").addMapValue("vzetí na vědomí", "vzetí na vědomí").addMapValue("jiný způsob", "jiný způsob") .setRequired(true) .createField()) // Zpusob .addField(new FieldBuilder("Oduvodneni").setTitle("Odůvodnění vyřízení").setMaxOccurrences(1).setType(TEXT).setLength(100).createField()) .addField(new FieldBuilder("Zpracovatel").setMaxOccurrences(1) .addField(createSubjectOsobyInterniField("Zpracovatelé")) // Subjekt .createField()) // Zpracovatel .createField()) // VyrizeniUzavreni .addField(new FieldBuilder("Vyrazovani").setTitle("Skartační režim").setMaxOccurrences(1).setRequired(true) .addField(new FieldBuilder("SkartacniRezim").setMaxOccurrences(1).setRequired(true) .addField(new FieldBuilder("Nazev").setTitle("Název").setMaxOccurrences(1).setType(SELECT).setWidth("400").setLength(100).setRequired(true) .setOptionDataSource(new FieldBuilder("desa-des.rd-cntrl") .addField(new FieldBuilder("acr").setTitle("Kód").createField()) .addField(new FieldBuilder("title").setTitle("Název").createField()) .createField(), "title", new HashMap<String, String>() {{ put("acr", "Identifikator/value"); put("title", "Nazev"); put("reas", "Oduvodneni"); put("action", "SkartacniZnak"); put("period", "SkartacniLhuta"); }}) .createField()) // Nazev .addField(new FieldBuilder("Identifikator").setMaxOccurrences(1) .addField(new FieldBuilder("value").setTitle("Identifikátor skartačního režimu").setMaxOccurrences(1).setType(TEXT).setReadOnly(true).setWidth("400").createField()) .createField()) // Identifikator .addField(new FieldBuilder("Oduvodneni").setTitle("Odůvodnění skartačního režimu").setMaxOccurrences(1).setType(TEXT).setReadOnly(true).setRequired(true).createField()) .addField(new FieldBuilder("SkartacniZnak").setTitle("Skartační znak").setMaxOccurrences(1).setType(SELECT).setReadOnly(true).setRequired(true) .addMapValue("A", "A - Archiv").addMapValue("S", "S - Stoupa").addMapValue("V", "V - Výběr") .createField()) // SkartacniZnak .addField(new FieldBuilder("SkartacniLhuta").setTitle("Skartační lhůta").setMaxOccurrences(1).setType(TEXT).setReadOnly(true).setRequired(true).setWidth("100").createField()) .addField(new FieldBuilder("SpousteciUdalost").setTitle("Spouštěcí událost").setMaxOccurrences(1).setType(TEXT).setLength(2000).setRequired(true).createField()) .createField()) // SkartacniRezim .createField()) // Vyrazovani .addField(new FieldBuilder("Manipulace").setMaxOccurrences(1).setRequired(true) .addField(new FieldBuilder("NezbytnyDokument").setTitle("Nezbytný dokument").setMaxOccurrences(1).setType(RADIOGROUP).setRequired(true) .addMapValue("ano", "Ano").addMapValue("ne", "Ne") .createField()) // NezbytnyDokument .addField(new FieldBuilder("AnalogovyDokument").setTitle("Analogová forma spisu").setMaxOccurrences(1).setType(RADIOGROUP).setRequired(true) .addMapValue("ano", "Ano").addMapValue("ne", "Ne") .createField()) // AnalogovyDokument .addField(new FieldBuilder("DatumOtevreni").setMaxOccurrences(1).setRequired(true) .addField(new FieldBuilder("value").setTitle("Datum otevření spisu").setMaxOccurrences(1).setType(DATE).setRequired(true).createField()) .createField()) // DatumOtevreni .addField(new FieldBuilder("DatumUzavreni").setMaxOccurrences(1) .addField(new FieldBuilder("value").setTitle("Datum uzavření spisu").setMaxOccurrences(1).setType(DATE).setRequired(true).createField()) .createField()) // DatumUzavreni .createField()) // Manipulace .createField()) // EvidencniUdaje // .addField(new FieldBuilder("Dokumenty").createField()) .createField()); // Spis return f; } public static Form intenalDocumentForm() { Form f = new Form(); f.getFields().add(new FieldBuilder("Dokument").setMaxOccurrences(1) .addField(new FieldBuilder("EvidencniUdaje").setMaxOccurrences(1) .addField(new FieldBuilder("Identifikace").setMaxOccurrences(1) .addField(createIdentifikatorField("Identifikator", "Identifikace dokumentu v evidenci")) .createField()) // Identifikace .addField(new FieldBuilder("Popis").setMaxOccurrences(1).setWidth("400") .addField(new FieldBuilder("Nazev").setTitle("Věc").setMaxOccurrences(1).setType(TEXT).setLength(100).setRequired(true).createField()) .addField(new FieldBuilder("Komentar").setTitle("Komentář").setMaxOccurrences(1).setType(TEXTAREA).setLength(255).createField()) .addField(new FieldBuilder("KlicovaSlova").setMaxOccurrences(1) .addField(new FieldBuilder("KlicoveSlovo").setTitle("Klíčová slova").setMaxOccurrences(10).setType(TEXT).setLength(100).createField()) .createField()) // KlicovaSlova .createField()) // Popis .addField(new FieldBuilder("Evidence").setMaxOccurrences(1) .addField(new FieldBuilder("EvidencniCislo").setTitle("Číslo jednací").setMaxOccurrences(1).setType(TEXT).setLength(50).setRequired(true).createField()) .addField(new FieldBuilder("UrceneCasoveObdobi").setMaxOccurrences(1) .addField(new FieldBuilder("Rok").setTitle("Časové období evidence").setMaxOccurrences(1).setType(G_YEAR).setRequired(true).createField()) .createField()) // UrceneCasoveObdobi .addField(new FieldBuilder("NazevEvidenceDokumentu").setTitle("Název evidence").setMaxOccurrences(1).setType(TEXT).setLength(100).setRequired(true).createField()) .createField()) // Evidence .addField(new FieldBuilder("Jazyky").setMaxOccurrences(1) .addField(new FieldBuilder("Jazyk").setTitle("Jazyk").setMaxOccurrences(1).setType(TEXT).setLength(3).createField()) .createField()) // Jazyky .addField(new FieldBuilder("Puvod").setMaxOccurrences(1) .addField(new FieldBuilder("VlastniDokument").setMaxOccurrences(1) .addField(new FieldBuilder("DatumVytvoreni").setMaxOccurrences(1) .addField(new FieldBuilder("value").setTitle("Datum vytvoření").setMaxOccurrences(1).setType(DATE).setRequired(true).createField()) .createField()) // DatumVytvoreni .addField(new FieldBuilder("Autor").setMaxOccurrences(1) .addField(createSubjectOsobyInterniField("Autoři")) .createField()) // Autor .createField()) // VlastniDokument .createField()) // Puvod .addField(new FieldBuilder("Trideni").setTitle("Věcná skupina").setMaxOccurrences(1).setRequired(true) // .addField(new FieldBuilder("Titul_SpisovyZnak").setTitle("Věcná skupina").setMaxOccurrences(1).setType(SELECT).setLength(50).setWidth("400").setRequired(true) // .setOptionDataSource(new FieldBuilder("desa-des.rec-cl") // .addField(new FieldBuilder("fullyQcc").setTitle("Kód").createField()) // .addField(new FieldBuilder("title").setTitle("Název").createField()) // .createField(), // desa-des.rec-cl // "title", new HashMap<String, String>() {{put("classCode", "JednoduchySpisovyZnak"); put("fullyQcc", "PlneUrcenySpisovyZnak");}}) // .createField()) // JednoduchySpisovyZnak // .addField(new FieldBuilder("JednoduchySpisovyZnak").setTitle("Spisový znak").setMaxOccurrences(1).setHidden(true).setType(TEXT).setLength(255).setRequired(true).createField()) // .addField(new FieldBuilder("PlneUrcenySpisovyZnak").setTitle("Plně určený spisový znak").setMaxOccurrences(1).setHidden(true).setType(TEXT).setLength(255).setRequired(true).createField()) .addField(new FieldBuilder("JednoduchySpisovyZnak").setTitle("Kód").setMaxOccurrences(1).setType(SELECT).setLength(50).setRequired(true) .setOptionDataSource(new FieldBuilder("desa-des.rec-cl").setWidth("400") .addField(new FieldBuilder("fullyQcc").setTitle("Kód").createField()) .addField(new FieldBuilder("title").setTitle("Název").createField()) .createField(), // desa-des.rec-cl // "fullyQcc", new HashMap<String, String>() {{put("fullyQcc", "JednoduchySpisovyZnak"); put("title", "PlneUrcenySpisovyZnak");}}) "classCode", new HashMap<String, String>() {{put("classCode", "JednoduchySpisovyZnak"); put("fullyQcc", "PlneUrcenySpisovyZnak");}}) .createField()) // JednoduchySpisovyZnak .addField(new FieldBuilder("PlneUrcenySpisovyZnak").setTitle("Plný kód").setMaxOccurrences(1).setType(TEXT).setLength(255).setRequired(true).createField()) .addField(new FieldBuilder("TypDokumentu").setMaxOccurrences(1).setRequired(true) .addField(new FieldBuilder("Nazev").setTitle("Název").setMaxOccurrences(1).setType(SELECT).setRequired(true).setWidth("400") .setOptionDataSource(new FieldBuilder("desa-des.rec-type").setWidth("500") .addField(new FieldBuilder("title").setTitle("Identifikátor").createField()) .addField(new FieldBuilder("descr").setTitle("Název").createField()) .createField() // desa-des.rec-type , "descr", new HashMap<String, String>() {{put("descr", "Nazev"); put("title", "Identifikator/value");}}) .createField()) .addField(new FieldBuilder("Identifikator").setMaxOccurrences(1) .addField(new FieldBuilder("value").setTitle("Typ dokumentu").setMaxOccurrences(1).setType(TEXT).setRequired(true).setLength(50).setWidth("400").setReadOnly(true).createField()) .createField()) // Identifikator .createField()) // TypDokumentu .createField()) // Trideni .addField(new FieldBuilder("Vyrizeni").setTitle("Vyřizuje").setMaxOccurrences(1).setRequired(true) .addField(new FieldBuilder("Datum").setMaxOccurrences(1) .addField(new FieldBuilder("value").setTitle("Datum vyřízení").setMaxOccurrences(1).setType(DATE).setRequired(true).createField()) .createField()) // Datum .addField(new FieldBuilder("Zpusob").setTitle("Způsob vyřízení").setMaxOccurrences(1).setType(COMBO) .addMapValue("vyřízení dokumentem", "vyřízení dokumentem").addMapValue("postoupení", "postoupení").addMapValue("vzetí na vědomí", "vzetí na vědomí").addMapValue("jiný způsob", "jiný způsob") .setRequired(true) .createField()) // Zpusob .addField(new FieldBuilder("Oduvodneni").setTitle("Odůvodnění vyřízení").setMaxOccurrences(1).setType(TEXT).setLength(100).createField()) .addField(new FieldBuilder("Zpracovatel").setMaxOccurrences(1) .addField(createSubjectOsobyInterniField("Zpracovatelé")) // Subjekt .createField()) // Zpracovatel .addField(new FieldBuilder("Prijemce").setMaxOccurrences(1) .addField(new FieldBuilder("Subjekt").setTitle("Příjemci").setMaxOccurrences(10).setType(CUSTOM_FORM).setRequired(true) .addField(new FieldBuilder("subjectType").setTitle("Typ příjemce").setMaxOccurrences(1).setType(RADIOGROUP) .addMapValue("PravnickaOsoba", "Právnická osoba").addMapValue("FyzickaOsoba", "Fyzická osoba") .createField()) .addField(createIdentifikatorField("IdentifikatorOrganizace", "IČO organizace", false)) .addField(new FieldBuilder("NazevOrganizace").setTitle("Název organizace").setMaxOccurrences(1).setType(TEXT).setLength(100).setRequired(true).createField()) .addField(createIdentifikatorField("IdentifikatorFyzickeOsoby", "Identifikace osoby odesílatele", false)) .addField(new FieldBuilder("NazevFyzickeOsoby").setTitle("Jméno a příjmení osoby").setMaxOccurrences(1).setType(TEXT).setLength(100).setRequired(true).createField()) .addField(new FieldBuilder("OrganizacniUtvar").setTitle("Organizační útvar").setMaxOccurrences(1).setType(TEXT).setLength(100).setRequired(true).createField()) .addField(new FieldBuilder("PracovniPozice").setTitle("Pracovní pozice").setMaxOccurrences(1).setType(TEXT).setLength(100).setRequired(true).createField()) .addField(new FieldBuilder("SidloOrganizace").setTitle("Adresa organizace").setMaxOccurrences(1).setType(TEXT).setLength(2000).createField()) .addField(new FieldBuilder("ElektronickyKontakt").setTitle("E-mail").setMaxOccurrences(1).setType(TEXT).setLength(100).setRequired(true).createField()) // choice 2 .addField(new FieldBuilder("PostovniAdresa").setTitle("Adresa").setMaxOccurrences(1).setType(TEXT).setLength(2000).setRequired(true).createField()) .createField()) // Subjekt .createField()) // Prijemce .createField()) // Vyrizeni .addField(new FieldBuilder("Vyrazovani").setTitle("Skartační režim").setMaxOccurrences(1).setRequired(true) .addField(new FieldBuilder("SkartacniRezim").setMaxOccurrences(1).setRequired(true) .addField(new FieldBuilder("Nazev").setTitle("Název").setMaxOccurrences(1).setType(SELECT).setWidth("400").setLength(100).setRequired(true) .setOptionDataSource(new FieldBuilder("desa-des.rd-cntrl") .addField(new FieldBuilder("acr").setTitle("Kód").createField()) .addField(new FieldBuilder("title").setTitle("Název").createField()) .createField(), "title", new HashMap<String, String>() {{ put("acr", "Identifikator/value"); put("title", "Nazev"); put("reas", "Oduvodneni"); put("action", "SkartacniZnak"); put("period", "SkartacniLhuta"); }}) .createField()) // Nazev .addField(new FieldBuilder("Identifikator").setMaxOccurrences(1) .addField(new FieldBuilder("value").setTitle("Identifikátor skartačního režimu").setMaxOccurrences(1).setType(TEXT).setReadOnly(true).setWidth("400").createField()) .createField()) // Identifikator .addField(new FieldBuilder("Oduvodneni").setTitle("Odůvodnění skartačního režimu").setMaxOccurrences(1).setType(TEXT).setReadOnly(true).setRequired(true).createField()) .addField(new FieldBuilder("SkartacniZnak").setTitle("Skartační znak").setMaxOccurrences(1).setType(SELECT).setReadOnly(true).setRequired(true) .addMapValue("A", "A - Archiv").addMapValue("S", "S - Stoupa").addMapValue("V", "V - Výběr") .createField()) // SkartacniZnak .addField(new FieldBuilder("SkartacniLhuta").setTitle("Skartační lhůta").setMaxOccurrences(1).setType(TEXT).setReadOnly(true).setRequired(true).setWidth("100").createField()) .addField(new FieldBuilder("SpousteciUdalost").setTitle("Spouštěcí událost").setMaxOccurrences(1).setType(TEXT).setLength(2000).setRequired(true).createField()) .createField()) // SkartacniRezim .createField()) // Vyrazovani .addField(new FieldBuilder("Manipulace").setMaxOccurrences(1).setWidth("200").setRequired(true) .addField(new FieldBuilder("NezbytnyDokument").setTitle("Nezbytný dokument").setMaxOccurrences(1).setType(RADIOGROUP).setRequired(true) .addMapValue("ano", "Ano").addMapValue("ne", "Ne") .createField()) // NezbytnyDokument .addField(new FieldBuilder("AnalogovyDokument").setTitle("Analogová forma dokumentu").setMaxOccurrences(1).setType(RADIOGROUP).setRequired(true) .addMapValue("ano", "Ano").addMapValue("ne", "Ne") .createField()) // AnalogovyDokument .createField()) // Manipulace .createField()) // EvidencniUdaje .createField()); // Dokument return f; } public static Form externalDocumentForm() { Form f = new Form(); f.getFields().add(new FieldBuilder("Dokument").setMaxOccurrences(1) .addField(new FieldBuilder("EvidencniUdaje").setMaxOccurrences(1) .addField(new FieldBuilder("Identifikace").setMaxOccurrences(1) .addField(createIdentifikatorField("Identifikator", "Identifikace dokumentu v evidenci")) .createField()) // Identifikace .addField(new FieldBuilder("Popis").setMaxOccurrences(1).setWidth("400") .addField(new FieldBuilder("Nazev").setTitle("Věc").setMaxOccurrences(1).setType(TEXT).setLength(100).setRequired(true).createField()) .addField(new FieldBuilder("Komentar").setTitle("Komentář").setMaxOccurrences(1).setType(TEXTAREA).setLength(255).createField()) .addField(new FieldBuilder("KlicovaSlova").setMaxOccurrences(1) .addField(new FieldBuilder("KlicoveSlovo").setTitle("Klíčová slova").setMaxOccurrences(10).setType(TEXT).setLength(100).createField()) .createField()) // KlicovaSlova .createField()) // Popis .addField(new FieldBuilder("Evidence").setMaxOccurrences(1) .addField(new FieldBuilder("EvidencniCislo").setTitle("Číslo jednací").setMaxOccurrences(1).setType(TEXT).setLength(50).setRequired(true).createField()) .addField(new FieldBuilder("UrceneCasoveObdobi").setMaxOccurrences(1) .addField(new FieldBuilder("Rok").setTitle("Časové období evidence").setMaxOccurrences(1).setType(G_YEAR).setRequired(true).createField()) .createField()) // UrceneCasoveObdobi .addField(new FieldBuilder("NazevEvidenceDokumentu").setTitle("Název evidence").setMaxOccurrences(1).setType(TEXT).setLength(100).setRequired(true).createField()) .createField()) // Evidence .addField(new FieldBuilder("Jazyky").setMaxOccurrences(1) .addField(new FieldBuilder("Jazyk").setTitle("Jazyk").setMaxOccurrences(1).setType(TEXT).setLength(3).createField()) .createField()) // Jazyky .addField(new FieldBuilder("Puvod").setMaxOccurrences(1) .addField(new FieldBuilder("DorucenyDokument").setMaxOccurrences(1) .addField(new FieldBuilder("DatumDoruceni").setMaxOccurrences(1) .addField(new FieldBuilder("value").setTitle("Datum doručení").setMaxOccurrences(1).setType(DATE).setRequired(true).createField()) .createField()) // DatumVytvoreni // Odesilatel/tOsobaExterni/Subjekt:tSubjektExterni/ .addField(new FieldBuilder("Odesilatel").setMaxOccurrences(1) .addField(new FieldBuilder("Subjekt").setTitle("Odesílatel").setMaxOccurrences(1).setType(CUSTOM_FORM).setRequired(true) .addField(new FieldBuilder("subjectType").setTitle("Typ příjemce").setMaxOccurrences(1).setType(RADIOGROUP) .addMapValue("PravnickaOsoba", "Právnická osoba").addMapValue("FyzickaOsoba", "Fyzická osoba") .createField()) .addField(createIdentifikatorField("IdentifikatorOrganizace", "IČO organizace")) .addField(new FieldBuilder("NazevOrganizace").setTitle("Název organizace").setMaxOccurrences(1).setType(TEXT).setLength(100).createField()) .addField(new FieldBuilder("SidloOrganizace").setTitle("Adresa organizace").setMaxOccurrences(1).setType(TEXT).setLength(2000).setRequired(true).createField()) .addField(createIdentifikatorField("IdentifikatorFyzickeOsoby", "Ev. číslo osoby", false)) .addField(new FieldBuilder("NazevFyzickeOsoby").setTitle("Jméno a příjmení osoby").setMaxOccurrences(1).setType(TEXT).setLength(100).createField()) .addField(new FieldBuilder("OrganizacniUtvar").setTitle("Organizační útvar").setMaxOccurrences(1).setType(TEXT).setLength(100).createField()) .addField(new FieldBuilder("PracovniPozice").setTitle("Pracovní pozice").setMaxOccurrences(1).setType(TEXT).setLength(100).createField()) .addField(new FieldBuilder("ElektronickyKontakt").setTitle("Email").setMaxOccurrences(1).setType(TEXT).setLength(100).createField()) // choice 2 .addField(new FieldBuilder("PostovniAdresa").setTitle("Adresa").setMaxOccurrences(1).setType(TEXT).setLength(2000).setRequired(true).createField()) .createField()) .createField()) // Odesilatel .createField()) // VlastniDokument .createField()) // Puvod .addField(new FieldBuilder("Trideni").setTitle("Věcná skupina").setMaxOccurrences(1).setRequired(true) .addField(new FieldBuilder("JednoduchySpisovyZnak").setTitle("Kód").setMaxOccurrences(1).setType(SELECT).setLength(50).setRequired(true) .setOptionDataSource(new FieldBuilder("desa-des.rec-cl").setWidth("400") .addField(new FieldBuilder("fullyQcc").setTitle("Kód").createField()) .addField(new FieldBuilder("title").setTitle("Název").createField()) .createField(), // desa-des.rec-cl // "fullyQcc", new HashMap<String, String>() {{put("fullyQcc", "JednoduchySpisovyZnak"); put("title", "PlneUrcenySpisovyZnak");}}) "classCode", new HashMap<String, String>() {{put("classCode", "JednoduchySpisovyZnak"); put("fullyQcc", "PlneUrcenySpisovyZnak");}}) .createField()) // JednoduchySpisovyZnak .addField(new FieldBuilder("PlneUrcenySpisovyZnak").setTitle("Plný kód").setMaxOccurrences(1).setType(TEXT).setLength(255).setRequired(true).createField()) .addField(new FieldBuilder("TypDokumentu").setMaxOccurrences(1).setRequired(true) .addField(new FieldBuilder("Nazev").setTitle("Název").setMaxOccurrences(1).setType(SELECT).setRequired(true).setWidth("400") .setOptionDataSource(new FieldBuilder("desa-des.rec-type").setWidth("500") .addField(new FieldBuilder("title").setTitle("Identifikátor").createField()) .addField(new FieldBuilder("descr").setTitle("Název").createField()) .createField() // desa-des.rec-type , "descr", new HashMap<String, String>() {{put("descr", "Nazev"); put("title", "Identifikator/value");}}) .createField()) .addField(new FieldBuilder("Identifikator").setMaxOccurrences(1) .addField(new FieldBuilder("value").setTitle("Typ dokumentu").setMaxOccurrences(1).setType(TEXT).setRequired(true).setLength(50).setWidth("400").setReadOnly(true).createField()) .createField()) // Identifikator .createField()) // TypDokumentu .createField()) // Trideni .addField(new FieldBuilder("Vyrizeni").setTitle("Vyřizuje").setMaxOccurrences(1).setRequired(true) .addField(new FieldBuilder("Datum").setMaxOccurrences(1) .addField(new FieldBuilder("value").setTitle("Datum vyřízení").setMaxOccurrences(1).setType(DATE).setRequired(true).createField()) .createField()) // Datum .addField(new FieldBuilder("Zpusob").setTitle("Způsob vyřízení").setMaxOccurrences(1).setType(COMBO) .addMapValue("vyřízení dokumentem", "vyřízení dokumentem").addMapValue("postoupení", "postoupení").addMapValue("vzetí na vědomí", "vzetí na vědomí").addMapValue("jiný způsob", "jiný způsob") .setRequired(true) .createField()) // Zpusob .addField(new FieldBuilder("Oduvodneni").setTitle("Odůvodnění vyřízení").setMaxOccurrences(1).setType(TEXT).setLength(100).createField()) .addField(new FieldBuilder("Zpracovatel").setMaxOccurrences(1) .addField(createSubjectOsobyInterniField("Zpracovatelé")) // Subjekt .createField()) // Zpracovatel .createField()) // Vyrizeni .addField(new FieldBuilder("Vyrazovani").setTitle("Skartační režim").setMaxOccurrences(1).setRequired(true) .addField(new FieldBuilder("SkartacniRezim").setMaxOccurrences(1).setRequired(true) .addField(new FieldBuilder("Nazev").setTitle("Název").setMaxOccurrences(1).setType(SELECT).setWidth("400").setLength(100).setRequired(true) .setOptionDataSource(new FieldBuilder("desa-des.rd-cntrl") .addField(new FieldBuilder("acr").setTitle("Kód").createField()) .addField(new FieldBuilder("title").setTitle("Název").createField()) .createField(), "title", new HashMap<String, String>() {{ put("acr", "Identifikator/value"); put("title", "Nazev"); put("reas", "Oduvodneni"); put("action", "SkartacniZnak"); put("period", "SkartacniLhuta"); }}) .createField()) // Nazev .addField(new FieldBuilder("Identifikator").setMaxOccurrences(1) .addField(new FieldBuilder("value").setTitle("Identifikátor skartačního režimu").setMaxOccurrences(1).setType(TEXT).setReadOnly(true).setWidth("400").createField()) .createField()) // Identifikator .addField(new FieldBuilder("Oduvodneni").setTitle("Odůvodnění skartačního režimu").setMaxOccurrences(1).setType(TEXT).setReadOnly(true).setRequired(true).createField()) .addField(new FieldBuilder("SkartacniZnak").setTitle("Skartační znak").setMaxOccurrences(1).setType(SELECT).setReadOnly(true).setRequired(true) .addMapValue("A", "A - Archiv").addMapValue("S", "S - Stoupa").addMapValue("V", "V - Výběr") .createField()) // SkartacniZnak .addField(new FieldBuilder("SkartacniLhuta").setTitle("Skartační lhůta").setMaxOccurrences(1).setType(TEXT).setReadOnly(true).setRequired(true).setWidth("100").createField()) .addField(new FieldBuilder("SpousteciUdalost").setTitle("Spouštěcí událost").setMaxOccurrences(1).setType(TEXT).setLength(2000).setRequired(true).createField()) .createField()) // SkartacniRezim .createField()) // Vyrazovani .addField(new FieldBuilder("Manipulace").setMaxOccurrences(1).setWidth("200").setRequired(true) .addField(new FieldBuilder("NezbytnyDokument").setTitle("Nezbytný dokument").setMaxOccurrences(1).setType(RADIOGROUP).setRequired(true) .addMapValue("ano", "Ano").addMapValue("ne", "Ne") .createField()) // NezbytnyDokument .addField(new FieldBuilder("AnalogovyDokument").setTitle("Analogová forma dokumentu").setMaxOccurrences(1).setType(RADIOGROUP).setRequired(true) .addMapValue("ano", "Ano").addMapValue("ne", "Ne") .createField()) // AnalogovyDokument .createField()) // Manipulace .createField()) // EvidencniUdaje .createField()); // Dokument return f; } private static Field createIdentifikatorField(String elmName, String title) { return createIdentifikatorField(elmName, title, true); } private static Field createIdentifikatorField(String elmName, String title, Boolean required) { return new FieldBuilder(elmName).setMaxOccurrences(1) .addField(new FieldBuilder("value").setTitle(title).setMaxOccurrences(1).setType(TEXT).setRequired(required).setLength(50).setWidth("400").createField()) .createField(); } private static Field createSubjectOsobyInterniField(String title) { return new FieldBuilder("Subjekt").setTitle(title).setMaxOccurrences(10).setRequired(true) .addField(createIdentifikatorField("IdentifikatorOrganizace", "IČO organizace")) .addField(new FieldBuilder("NazevOrganizace").setTitle("Název organizace").setMaxOccurrences(1).setType(TEXT).setLength(100).setRequired(true).createField()) .addField(createIdentifikatorField("IdentifikatorFyzickeOsoby", "Ev. číslo osoby")) .addField(new FieldBuilder("NazevFyzickeOsoby").setTitle("Jméno a příjmení osoby").setMaxOccurrences(1).setType(TEXT).setLength(100).setRequired(true).createField()) .addField(new FieldBuilder("OrganizacniUtvar").setTitle("Organizační útvar").setMaxOccurrences(1).setType(TEXT).setLength(100).setRequired(true).createField()) .addField(new FieldBuilder("PracovniPozice").setTitle("Pracovní pozice").setMaxOccurrences(1).setType(TEXT).setLength(100).setRequired(true).createField()) .addField(new FieldBuilder("SidloOrganizace").setTitle("Adresa organizace").setMaxOccurrences(1).setType(TEXT).setLength(2000).setRequired(true).createField()) .createField(); } }