Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.awt.ModalEventFilter.ApplicationModalEventFilter;
- import java.text.NumberFormat;
- import java.util.List;
- import java.util.logging.Logger;
- import java.util.regex.Matcher;
- import java.util.regex.Pattern;
- import javax.activation.DataHandler;
- import javax.mail.util.ByteArrayDataSource;
- import org.bonitasoft.engine.bpm.document.Document;
- import org.bonitasoft.engine.bpm.document.DocumentNotFoundException;
- import com.bonitasoft.engine.api.ProcessAPI;
- import com.google.common.base.Optional;
- import com.tieto.zumis.utils.data.text.ZumisMoneyFormatter;
- import lt.inntec.b2bintegrations.kppais.ws.types.Kp2KontaktInfoOtUser;
- import lt.inntec.b2bintegrations.kppais.ws.types.Kp2ParSutDuomenysOtUser;
- import lt.inntec.b2bintegrations.kppais.ws.types.Kp2TektinuByluSarOtUser;
- import lt.inntec.b2bintegrations.kppais.ws.types.Kp2TurimuBylSarasasOtUser;
- import lt.inntec.b2bintegrations.kppaisDok.builder.AsmuoBuilder;
- import lt.inntec.b2bintegrations.kppaisDok.builder.FinansavimoSaltinisBuilder;
- import lt.inntec.b2bintegrations.kppaisDok.builder.IlgalaikisTurtasBuilder;
- import lt.inntec.b2bintegrations.kppaisDok.builder.IslaidaBuilder;
- import lt.inntec.b2bintegrations.kppaisDok.builder.IslaiduEiluteBuilder;
- import lt.inntec.b2bintegrations.kppaisDok.builder.Kp2PrDuomWsBuilder;
- import lt.inntec.b2bintegrations.kppaisDok.builder.PagrindimasBuilder;
- import lt.inntec.b2bintegrations.kppaisDok.builder.PiaDuomBuilder;
- import lt.inntec.b2bintegrations.kppaisDok.builder.PapildomaInformacijaBuilder;
- import lt.inntec.b2bintegrations.kppaisDok.builder.AsmuoBuilder.DalyvavimoProjekteTipas;
- import lt.inntec.b2bintegrations.kppaisDok.builder.PapildomaInformacijaBuilder.PapildomosInfoKategorija;
- import lt.inntec.b2bintegrations.kppaisDok.builder.PriedasBuilder;
- import lt.inntec.b2bintegrations.kppaisDok.builder.PriesagaBuilder;
- import lt.inntec.b2bintegrations.kppaisDok.builder.PrieziurosRodiklisBuilder;
- import lt.inntec.b2bintegrations.kppaisDok.builder.ProdukcijaBuilder;
- import lt.inntec.b2bintegrations.kppaisDok.builder.ProdukcijaBuilder.PienoKvotosIsigijimoSaltinis;
- import lt.inntec.b2bintegrations.kppaisDok.builder.ProdukcijaBuilder.ProdukcijosTipas;
- import lt.inntec.b2bintegrations.kppaisDok.builder.ProjektoIgyvendinimoAtaskaitaBuilder.AtaskaitosTipas;
- import lt.inntec.b2bintegrations.kppaisDok.builder.ZemevalduInfoBuilder;
- import lt.inntec.b2bintegrations.kppaisDok.ws.DokPriesagaWs;
- import lt.inntec.b2bintegrations.kppaisDok.ws.Kp2ErrParmListOt;
- import lt.inntec.b2bintegrations.kppaisDok.ws.Kp2ErrorOt;
- import lt.inntec.b2bintegrations.kppaisDok.ws.Kp2InvIlgMaterTurtoEilOt;
- import lt.inntec.b2bintegrations.kppaisDok.ws.Kp2InvZemevInfoEilOt;
- import lt.inntec.b2bintegrations.pris.ws.PrsDpgOtUser;
- import static lt.inntec.b2bintegrations.kppaisDok.builder.ZemevalduInfoBuilder.ZemevaldosNuosavybesTipas.NUOMOJAMA
- import static lt.inntec.b2bintegrations.kppaisDok.builder.ZemevalduInfoBuilder.ZemevaldosNuosavybesTipas.NUOSAVA
- import static lt.inntec.b2bintegrations.kppaisDok.builder.ZemevalduInfoBuilder.ZemevaldosRodiklioMetai.ATASKAITINIAI
- import static lt.inntec.b2bintegrations.kppaisDok.builder.ZemevalduInfoBuilder.ZemevaldosRodiklioMetai.PARAISKOS_PATEIKIMO
- import java.util.logging.Logger; // FIXME
- public static final Double getTotalExpensesWithVat_I64(List<Map> expensesMultipleGroup){
- Double total = Double.valueOf(0);
- for (Map oneExpenseGroup: expensesMultipleGroup){
- Double enteredExpensesWithoutVats = ZumisWidgetHelper.getFieldsGroupSumAsDouble(oneExpenseGroup.get("expenses_data"), "sum_wo_vat");
- Double enteredExpensesVats = ZumisWidgetHelper.getFieldsGroupSumAsDouble(oneExpenseGroup.get("expenses_data"), "sum_vat");
- Double enteredExpensesWithoutVatsSafe = enteredExpensesWithoutVats? enteredExpensesWithoutVats: Double.valueOf(0);
- Double enteredExpensesVatsSafe = enteredExpensesVats? enteredExpensesVats: Double.valueOf(0);
- total += enteredExpensesWithoutVatsSafe;
- total += enteredExpensesVatsSafe;
- }
- return total;
- }
- public static final Double getTotalExpensesSum(List<Map> expensesMultipleGroup, final String sumFieldKey){
- Double total = Double.valueOf(0);
- for (Map oneExpenseGroup: expensesMultipleGroup){
- Double enteredExpensesWithoutVats = ZumisWidgetHelper.getFieldsGroupSumAsDouble(oneExpenseGroup.get("expenses_data"), sumFieldKey);
- if (enteredExpensesWithoutVats != null && enteredExpensesWithoutVats.doubleValue() >= Double.valueOf(0.0)) {
- total += enteredExpensesWithoutVats.doubleValue();
- }
- }
- return total;
- }
- public static final Double getTotalFinancing_I64(Map financialSourcesGroup){
- Double total = Double.valueOf(0);
- NumberFormat formatter = NumberFormat.getInstance(new Locale("lt"));
- String supportFundsAsString = financialSourcesGroup.get("support_funds_group")?.get("support_funds");
- String applicantFundsAsString = financialSourcesGroup.get("applicant_funds_group")?.get("applicant_funds");
- String creditFundsAsString = financialSourcesGroup.get("credit_funds_group")?.get("credit_funds");
- Double supportFunds = ZumisWidgetHelper.parseStringToDouble(supportFundsAsString, formatter);
- Double applicantFunds = ZumisWidgetHelper.parseStringToDouble(applicantFundsAsString, formatter);
- Double creditFunds = ZumisWidgetHelper.parseStringToDouble(creditFundsAsString, formatter);
- total += supportFunds ? supportFunds : Double.valueOf(0);
- total += applicantFunds ? applicantFunds : Double.valueOf(0);
- total += creditFunds ? creditFunds : Double.valueOf(0);
- return total;
- }
- /**
- * Calculates project end date by project stages list
- * @param stages
- * @return
- */
- public static Date calcProjectEndDate(final List<Map<String, Object>> stages) {
- if (stages != null && !stages.isEmpty()) {
- Map<String, Object> lastStage = stages.get(stages.size() - 1);
- if (lastStage != null && !lastStage.isEmpty()) {
- Object d = lastStage.get("stage_date");
- if (d != null && d instanceof Date) {
- return (Date) d;
- }
- }
- }
- return null;
- }
- /**
- * @deprecated - use KPPAISHelper_PR.addMonitoringIndicators(Kp2PrDuomWsBuilder, List, String, String, Map)
- */
- @Deprecated
- public static void addMonitoringData(final Kp2PrDuomWsBuilder builder, final Map monitoringIndicatorsData, final Map<String, Date> monitoringIndicatorDates) {
- if (monitoringIndicatorsData != null && !monitoringIndicatorsData.isEmpty()) {
- for (final String key : monitoringIndicatorsData.keySet()) {
- Object value = monitoringIndicatorsData.get(key);
- if (value != null && value instanceof Map) {
- Map<String, Object> mainMap = (Map<String, Object>) value;
- if (!mainMap.isEmpty()) {
- for (final String subKey : mainMap.keySet()) {
- Object subValue = mainMap.get(subKey);
- if (subValue != null && subValue instanceof List) {
- List<Object> pprMainList = (List<Object>) subValue;
- if (!pprMainList.isEmpty()) {
- for (final Object row : pprMainList) {
- if (row instanceof Map) {
- final Map<String, Object> rowMap = (Map<String, Object>) row;
- PrieziurosRodiklisBuilder prb = new PrieziurosRodiklisBuilder();
- boolean added = false;
- String code = null;
- for (final String rowKey : rowMap.keySet()) {
- final Object rowValue = rowMap.get(rowKey);
- if (rowKey != null && rowValue != null) {
- if (rowKey.startsWith("PPR_positive_sales_delta")) {
- prb.teigiamasPokytus("T".equals(rowValue));
- added = true;
- } else if (rowKey.startsWith("PPR_measure_unit")) {
- final String val = rowValue.toString().trim();
- prb.matavimoVienetas(val.equalsIgnoreCase("null") ? null : val);
- added = true;
- } else if (rowKey.startsWith("PPR_label_code")) {
- prb.kodas(rowValue.toString().trim());
- code = rowValue.toString().trim();
- added = true;
- } else if (rowKey.startsWith("PPR_sales_income")) {
- prb.reiksmePries(ZumisWidgetHelper.objectToDouble(rowValue));
- added = true;
- }
- }
- }
- if (added) {
- prb.galiojaNuo(monitoringIndicatorDates.get(code));
- builder.prieziurosRodiklis(prb.build());
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- public static void addFinancialSources(Kp2PrDuomWsBuilder builder, final Map financialSourcesData, final Map<String, Date> financialSourceDates) {
- if (financialSourcesData != null && !financialSourcesData.isEmpty()) {
- NumberFormat formatter = NumberFormat.getInstance(new Locale("lt"));
- for (final String key : financialSourcesData.keySet()) {
- final Object value = financialSourcesData.get(key);
- if (value != null && value instanceof Map) {
- Map<String, Object> fundsMap = (Map) value;
- if (!fundsMap.isEmpty()) {
- boolean sumExists = false;
- boolean codeExists = false;
- String code = null;
- FinansavimoSaltinisBuilder fsb = new FinansavimoSaltinisBuilder();
- StringBuilder link = new StringBuilder();
- for (final String rowKey : fundsMap.keySet()) {
- Object rowValue = fundsMap.get(rowKey);
- if (rowValue != null) {
- if (rowKey.endsWith("_funds")) {
- String v = rowValue.toString().replaceAll("\\s+", "").replace(".", ",");
- if (!v.isEmpty() && v.matches("[0-9]+,?[0-9]*")) {
- fsb.suma(formatter.parse(v).doubleValue());
- sumExists = true;
- }
- } else if (rowKey.endsWith("_funds_link")) {
- link.append(link.length() > 0 ? "; " : "").append(rowValue.toString());
- //added = true;
- } else if (rowKey.endsWith("_funds_code")) {
- fsb.kodas(rowValue.toString().trim());
- code = rowValue.toString().trim();
- codeExists = true;
- } else if (rowKey.endsWith("_funds_sub_code")) {
- if (rowValue instanceof List) {
- for (final String scode : (List<String>) rowValue) {
- link.append(link.length() > 0 ? "; " : "").append(scode);
- }
- } else if (rowValue instanceof String) {
- link.append(link.length() > 0 ? "; " : "").append((String) rowValue);
- }
- //added = true;
- } else if (rowKey.endsWith("_funds_from")) {
- final String v = rowValue?.toString()?.trim();
- link.append(link.length() > 0 ? "; " : "").append(v);
- }
- }
- }
- if (sumExists && codeExists) {
- fsb.galiojaNuo(financialSourceDates.get(code));
- fsb.nuoroda(link.toString().trim().substring(0, Math.min(link.toString().trim().length(), 250)));
- builder.finansavimoSaltinis(fsb.build());
- }
- }
- }
- }
- }
- }
- /**
- *
- * @param builder
- * @param projectInovations
- * @deprecated - use KPPAISHelper_PR.addProjectInovations(Kp2PrDuomWsBuilder, List, String, String)
- */
- @Deprecated
- public static void addProjectInovations(Kp2PrDuomWsBuilder builder, final List<Map<String, Object>> projectInovations) {
- if (projectInovations != null && !projectInovations.isEmpty()) {
- for (final Map<String, Object> row : projectInovations) {
- PapildomaInformacijaBuilder pib = new PapildomaInformacijaBuilder();
- pib.papildomosInfoKategorija(PapildomosInfoKategorija.INOVATYVUMAS);
- pib.pazymetas(true);
- boolean activeAndHasId = false;
- for (final String key : row.keySet()) {
- final Object value = row.get(key);
- if (value != null) {
- if (key.endsWith("_active")) {
- if (value instanceof Boolean) {
- if (!Boolean.TRUE.equals((Boolean) value)) {
- activeAndHasId = false;
- continue;
- }
- } else if (!Boolean.TRUE.equals(Boolean.valueOf(value.toString()))) {
- activeAndHasId = false;
- continue;
- }
- activeAndHasId = true;
- } else if (key.endsWith("_code") && value.toString().matches("[0-9]+")) {
- pib.papildomosInfoId(Long.parseLong(value.toString(), 10));
- activeAndHasId = true;
- } else if (key.endsWith("_argument")) {
- pib.patikslinimas(value.toString());
- }
- }
- }
- if (activeAndHasId) {
- builder.papildomaInformacija(pib.build());
- }
- }
- }
- }
- public static void addMilkProductData(Kp2PrDuomWsBuilder builder, final Map<String, Object> milkData) {
- if (milkData != null && !milkData.isEmpty()) {
- final Object list = milkData.get("PG_main");
- if (list != null && list instanceof List) {
- Map<String, String> map = new HashMap<String, String>();
- map.put(ProdukcijosTipas.P.code, ProdukcijosTipas.P.code);
- addProducts(builder, (List<Map<String, Object>>) list, map, true);
- }
- final boolean increase = "T".equalsIgnoreCase(milkData.get("PG_question_about_milk_quantity"));
- final Object incGroup = milkData.get("PG_increasing_milk_quantity_group");
- if (increase && incGroup != null && incGroup instanceof Map) {
- Map<String, Object> quotaMap = (Map<String, Object>) incGroup;
- final Object sources = quotaMap.get("PG_milk_quota_source");
- final String sourceCustom = String.valueOf(quotaMap.get("PG_other_milk_quota_source"));
- if (sources != null && sources instanceof List) {
- PienoKvotosIsigijimoSaltinis saltinis = null;
- List<String> sourcesList = (List<String>) sources;
- if (sourcesList.contains(PienoKvotosIsigijimoSaltinis.PERKAMA.code)) {
- if (sourcesList.contains(PienoKvotosIsigijimoSaltinis.KITI.code)) {
- saltinis = PienoKvotosIsigijimoSaltinis.PERKAMA_IR_KITI;
- } else {
- saltinis = PienoKvotosIsigijimoSaltinis.PERKAMA;
- }
- } else if (sourceCustom.contains(PienoKvotosIsigijimoSaltinis.KITI.code)) {
- saltinis = PienoKvotosIsigijimoSaltinis.KITI;
- }
- if (saltinis != null) {
- builder.produkcija(new ProdukcijaBuilder()
- .kvotosIsigijimoSaltinis(saltinis)
- .patikslinimas(String.valueOf(sourceCustom))
- .produkcijosTipas(ProdukcijosTipas.P)
- .produkcijosRusiesTipas(ProdukcijosTipas.P.code)
- .planuojaDidintiPienoGamyba(increase)
- .produkcijosRusis("PK")
- .build(false, false));
- }
- }
- }
- }
- }
- public static void addProducts(Kp2PrDuomWsBuilder builder, final List<Map<String, Object>> data, final Map<String, String> codeToTypeMap, final boolean autoCalc) {
- if (data != null && !data.isEmpty()) {
- for (final Map<String, Object> row : data) {
- ProdukcijaBuilder pb = new ProdukcijaBuilder();
- String code = null;
- for (final String key : row.keySet()) {
- Object value = row.get(key);
- if (value != null) {
- if (key.endsWith("_income_from_sales")) {
- pb.pardavimoPajamos(ZumisWidgetHelper.objectToDouble(value));
- } else if (key.endsWith("_area")) {
- pb.plotas(ZumisWidgetHelper.objectToDouble(value));
- } else if (key.endsWith("_sold_amount") || key.endsWith("_sold_milk")) {
- pb.parduota(ZumisWidgetHelper.objectToDouble(value));
- } else if (key.endsWith("_product")) {
- String pr = value.toString().trim();
- if ("Pienas".equals(pr)) {
- pb.produkcijosRusis("P");
- code = "P";
- } else {
- pb.produkcijosRusis(pr);
- code = pr;
- }
- } else if (key.endsWith("_fertility")) {
- pb.derlingumas(ZumisWidgetHelper.objectToDouble(value));
- } else if (key.endsWith("_produced_count")) {
- pb.pagaminta(ZumisWidgetHelper.objectToDouble(value));
- } else if (key.endsWith("_avrg_price")) {
- pb.vidutineKaina(ZumisWidgetHelper.objectToDouble(value));
- } else if (key.endsWith("_milk_quota")) {
- pb.pienoKvota(ZumisWidgetHelper.objectToDouble(value));
- } else if (key.endsWith("_cow_count")) {
- pb.karviuSkaicius(ZumisWidgetHelper.objectToDouble(value));
- } else if (key.endsWith("_avrg_milk_quantity")) {
- pb.vidutinisPrimilzis(ZumisWidgetHelper.objectToDouble(value));
- }
- }
- }
- if (code != null) {
- pb
- .produkcijosTipas(codeToTypeMap?.get(code))
- .produkcijosRusiesTipas(codeToTypeMap?.get(code))
- .planuojaDidintiPienoGamyba(false);
- builder.produkcija(pb.build(autoCalc, false));
- }
- }
- }
- }
- public static void addAssets(Kp2PrDuomWsBuilder builder, final List<Map<String, Object>> map, final String prefix) {
- if (map != null && !map.isEmpty()) {
- for (final Map<String, Object> row : map) {
- IlgalaikisTurtasBuilder itb = new IlgalaikisTurtasBuilder();
- final String type = row.get(prefix + "_entering_type") == null ? "" : row.get(prefix + "_entering_type").toString();
- if (type.startsWith("Pasirenkama")) {
- String suggestor = (String) row.get(prefix + "_suggestor");
- if (suggestor != null && !suggestor.trim().isEmpty()) {
- suggestor = suggestor.trim();
- int index1 = suggestor.indexOf(",");
- int index2 = suggestor.lastIndexOf(",");
- if (index1 > 0) {
- itb.unikalusObjektoNumeris(suggestor.substring(0, index1).trim());
- }
- if (index2 > 0) {
- final String year = suggestor.substring(index2 + 1);
- if (year.trim().matches("^[0-9]{4}\\s?.*")) {
- itb.pagaminimoMetai(Integer.valueOf(year.trim().substring(0, 4), 10));
- }
- }
- itb.turtoObjektas(suggestor.substring(index1 + 1, suggestor.trim().length()).trim());
- }
- } else {
- itb.unikalusObjektoNumeris(row.get(prefix + "_no") != null ? row.get(prefix + "_no").toString().trim() : null);
- itb.turtoObjektas(row.get(prefix + "_name") != null ? row.get(prefix + "_name").toString().trim() : null);
- String year = row.get(prefix + "_year") == null ? "" : (String) row.get(prefix + "_year");
- if (year.trim().matches("^[0-9]{4}\$")) {
- itb.pagaminimoMetai(Integer.parseInt(year, 10));
- }
- }
- Kp2InvIlgMaterTurtoEilOt turtas = itb.build();
- if (turtas.getImtUnikObjNr() != null) {
- builder.ilgalaikisTurtas(turtas);
- }
- }
- }
- }
- public static void addDocuments(Kp2PrDuomWsBuilder builder, final List<Map<String, Object>> documents, final String suffix, final ProcessAPI api, final long procInstanceId) {
- if (documents != null && !documents.isEmpty()) {
- for (final Map<String, Object> document : documents) {
- String code = (String) document.get("document_type_code" + suffix);
- String pages = (String) document.get("document_pages" + suffix);
- String notes = (String) document.get("document_notes" + suffix);
- Object files = document.get("document_files" + suffix);
- if (code != null && !code.trim().isEmpty() && files != null && files instanceof List && !((List) files).isEmpty()) {
- boolean hasFiles = false;
- PriedasBuilder pb = new PriedasBuilder()
- .dokKodas(code.trim())
- .lapuSkaicus(pages != null && pages.matches("^[0-9]+\$") ? Long.parseLong(pages, 10) : 1)
- .pastabos(notes);
- for (final Map<String, Object> file : (List<Map<String, Object>>) files) {
- String docHash = (String) file.get("document_file" + suffix);
- if (docHash != null && !docHash.trim().isEmpty()) {
- DokPriesagaWs priesaga = getFile(docHash, api, procInstanceId);
- if (priesaga != null) {
- hasFiles = true;
- pb.priesaga(priesaga);
- }
- }
- }
- if (hasFiles) {
- builder.dokumentas(pb.build());
- }
- }
- }
- }
- }
- public static void addApplicantOwners(final Kp2PrDuomWsBuilder builder, final Map<Long, Double> applicationOwners) {
- if (builder == null) {
- throw new IllegalArgumentException("KPPAISHelper.addApplicantOwners(): Kp2PrDuomWsBuilder parameter must be provided");
- }
- if (applicationOwners != null && !applicationOwners.isEmpty()) {
- for (final Long prisId : applicationOwners.keySet()) {
- builder.addPareiskejoValdymoDalyvis(prisId, applicationOwners.get(prisId));
- }
- }
- }
- public static void addApplicantCompanies(final Kp2PrDuomWsBuilder builder, final Map<Long, Double> applicationCompanies) {
- if (builder == null) {
- throw new IllegalArgumentException("KPPAISHelper.addApplicantCompanies(): Kp2PrDuomWsBuilder parameter must be provided");
- }
- if (applicationCompanies != null && !applicationCompanies.isEmpty()) {
- for (final Long prisId : applicationCompanies.keySet()) {
- builder.addPareiskejoValdomasSubjektas(prisId, applicationCompanies.get(prisId));
- }
- }
- }
- public static void addDocuments(PiaDuomBuilder builder, final List<Map<String, Object>> documents, final String suffix, final ProcessAPI api, final long procInstanceId) {
- if (builder == null) {
- throw new IllegalArgumentException("KPPAISHelper.addDocuments(): PiaDuomBuilder parameter must be provided");
- }
- if (documents != null && !documents.isEmpty()) {
- for (final Map<String, Object> document : documents) {
- String code = (String) document.get("document_type_code" + suffix);
- String pages = (String) document.get("document_pages" + suffix);
- String notes = (String) document.get("document_notes" + suffix);
- Object files = document.get("document_files" + suffix);
- if (code != null && !code.trim().isEmpty() && files != null && files instanceof List && !((List) files).isEmpty()) {
- boolean hasFiles = false;
- PriedasBuilder pb = new PriedasBuilder()
- .dokKodas(code.trim())
- .lapuSkaicus(pages != null && pages.matches("^[0-9]+\$") ? Long.parseLong(pages, 10) : 1)
- .pastabos(notes);
- for (final Map<String, Object> file : (List<Map<String, Object>>) files) {
- String docHash = (String) file.get("document_file" + suffix);
- if (docHash != null && !docHash.trim().isEmpty()) {
- DokPriesagaWs priesaga = getFile(docHash, api, procInstanceId);
- if (priesaga != null) {
- hasFiles = true;
- pb.priesaga(priesaga);
- }
- }
- }
- if (hasFiles) {
- builder.dokumentas(pb.build());
- }
- }
- }
- }
- }
- public static DokPriesagaWs getFile(final String hash, final ProcessAPI processApi, final long procInstanceId) {
- PriesagaBuilder b = new PriesagaBuilder();
- Document d = null;
- byte[] content = null;
- try {
- d = processApi.getLastDocument(procInstanceId, hash);
- content = processApi.getDocumentContent(d.getContentStorageId());
- } catch (DocumentNotFoundException e) {
- //
- return null;
- }
- b
- .pavadinimas(d.getContentFileName())
- .tipas(d.getContentMimeType())
- .failas(new DataHandler(new ByteArrayDataSource(content, d.getContentMimeType())));
- return b.build();
- }
- public static final void addLandTenuresInfo(final Kp2PrDuomWsBuilder builder, Map zemesValduWidgetOutput, final Map<String, Date> validFromDatesByLandTenuresCodes){
- if (builder == null) {
- throw new IllegalArgumentException("KPPAISHelper.addLandTenuresInfo(): Kp2PrDuomWsBuilder parameter must be provided");
- }
- List<Kp2InvZemevInfoEilOt> beansToAdd = PRIS_1VMS_ATIDAVIMAS_createZemesValduInfoBeanFrom(zemesValduWidgetOutput, validFromDatesByLandTenuresCodes);
- for (final Kp2InvZemevInfoEilOt beanToAdd : beansToAdd) {
- builder.zemevalduInfo(beanToAdd);
- }
- }
- /**
- * Adds additional information entry for application (PR)
- *
- * @param builder - application data builder (cannot be <code>NULL</code>)
- * @param category - additional information category (cannot be <code>NULL</code>)
- * @param ids - list of information ID (may be <code>NULL</code> or empty)
- * @deprecated - use KPPAISHelper_PR.addAdditionlInformation(Kp2PrDuomWsBuilder, PapildomosInfoKategorija, List, Map)
- */
- @Deprecated
- public static final void addAdditionalInformation(final Kp2PrDuomWsBuilder builder, final PapildomosInfoKategorija category, final List<String> ids) {
- if (builder == null) {
- throw new IllegalArgumentException("KPPAISHelper.addAdditionalInformation(): Kp2PrDuomWsBuilder parameter must be provided");
- }
- if (category == null) {
- throw new IllegalArgumentException("KPPAISHelper.addAdditionalInformation(): PapildomosInfoKategorija parameter must be provided");
- }
- if (ids != null && !ids.isEmpty()) {
- for (final String id : ids) {
- if (id != null && id.matches("^[1-9][0-9]*\$")) {
- builder.papildomaInformacija(
- new PapildomaInformacijaBuilder()
- .papildomosInfoId(Long.parseLong(id, 10))
- .papildomosInfoKategorija(category)
- .pazymetas(true)
- .build());
- }
- }
- }
- }
- /**
- * Adds project person entry for application (PR)
- *
- * @param builder - application data builder (cannot be <code>NULL</code>)
- * @param personType - project person type (cannot be <code>NULL</code>)
- * @param firstName - person first name
- * @param lastName - person last name
- * @param phone - person phone number
- * @param fax - person fax number
- * @param email - person email address
- * @deprecated - use KPPAISHelper_PR.addProjectPerson(Kp2PrDuomWsBuilder, DalyvavimoProjekteTipas, Map, String, String)
- */
- @Deprecated
- public static final void addProjectPerson(final Kp2PrDuomWsBuilder builder, final DalyvavimoProjekteTipas personType, final String firstName, final String lastName, final String phone, final String fax, final String email) {
- if (builder == null) {
- throw new IllegalArgumentException("KPPAISHelper.addProjectPerson(): Kp2PrDuomWsBuilder parameter must be provided");
- }
- if (personType == null) {
- throw new IllegalArgumentException("KPPAISHelper.addProjectPerson(): DalyvavimoProjekteTipas parameter must be provided");
- }
- if ((firstName != null && !firstName.trim().isEmpty()) || (lastName != null && !lastName.trim().isEmpty()) || (phone != null && !phone.trim().isEmpty()) || (fax != null && !fax.trim().isEmpty()) || (email != null && !email.trim().isEmpty())) {
- builder.asmuo(new AsmuoBuilder()
- .vardas(firstName)
- .pavarde(lastName)
- .telefonoNr(phone)
- .faksoNr(fax)
- .elektroninisPastas(email)
- .dalyvavimoProjekteTipas(personType)
- .build());
- }
- }
- /**
- * Išlaidos
- *
- * @param builder - application data builder (cannot be <code>NULL</code>)
- * @param expenses - expenses data (may be <code>NULL</code>)
- * @deprecated - use KPPAISHelper_PR.addExpenses(Kp2PrDuomWsBuilder, List)
- */
- @Deprecated
- public static final void addExpenses(final Kp2PrDuomWsBuilder builder, final List<Map<String, Object>> expenses) {
- if (builder == null) {
- throw new IllegalArgumentException("KPPAISHelper.addExpenses(): Kp2PrDuomWsBuilder parameter must be provided");
- }
- if (expenses != null && !expenses.isEmpty()) {
- for (final Map<String, Object> sectorRow : expenses) {
- final List<Map<String, Object>> expensesData = (List<Map<String, Object>>) sectorRow.get("expenses_data");
- for (final Map<String, Object> row : expensesData) {
- builder.addIslaida(new IslaidaBuilder()
- .veiklosSritis("1VMS-3") // hardcoded for 1VMS
- .irsKodas((String) row.get("expense_name"))
- .galiojaNuo((Date) row.get("expense_date"))
- .islaiduPatikslinimas((String) row.get("expense_detail"))
- .islaiduPagrindimas((String) row.get("expense_desc"))
- .pirkimoVykdymoBudas((String) row.get("expense_method"))
- .prasomaParamosSuma(ZumisWidgetHelper.objectToDouble(row.get("sum_request")))
- .pvmSuma(ZumisWidgetHelper.objectToDouble(row.get("sum_vat")))
- .islaiduEilute(new IslaiduEiluteBuilder()
- .sumaBePvm(ZumisWidgetHelper.objectToDouble(row.get("sum_wo_vat")))
- .pvmSuma(ZumisWidgetHelper.objectToDouble(row.get("sum_vat")))
- .prasomaSuma(ZumisWidgetHelper.objectToDouble(row.get("sum_request")))
- .build(true))
- .build()
- );
- }
- }
- }
- }
- /**
- * Pagrindimai
- *
- * @param builder - application data builder (cannot be <code>NULL</code>)
- * @param expenses - expenses data (may be <code>NULL</code>)
- * @deprecated - use KPPAISHelper_PR.addSubstantiation(Kp2PrDuomWsBuilder, List)
- */
- @Deprecated
- public static final void addSubstantiation(final Kp2PrDuomWsBuilder builder, final List<Map<String, Object>> expenses) {
- if (builder == null) {
- throw new IllegalArgumentException("KPPAISHelper.addSubstantiation(): Kp2PrDuomWsBuilder parameter must be provided");
- }
- if (expenses != null && !expenses.isEmpty()) {
- for (final Map<String, Object> sectorRow : expenses) {
- final List<Map<String, Object>> expensesData = (List<Map<String, Object>>) sectorRow.get("expenses_data");
- for (final Map<String, Object> row : expensesData) {
- builder.addPagrindimas(new PagrindimasBuilder()
- .vsrKodas("1VMS-3") // hardcoded for 1VMS
- .irsKodas((String) row.get("expense_name"))
- .galiojaNuo((Date) row.get("expense_date"))
- .islaiduPatikslinimas((String) row.get("expense_detail"))
- .pagrindimas((String) row.get("expense_desc"))
- .build()
- );
- }
- }
- }
- }
- /**
- * Filters beneficiary participation entries by statuses and roles
- *
- * @param participations - all participations list
- * @param statuses - filtered statuses list (may be <code>NULL</code>)
- * @param roles - filtered roles list (may be <code>NULL</code>)
- * @return filtered participations list (never <code>NULL</code>)
- */
- public static final List<PrsDpgOtUser> getParticipationEntries(final List<PrsDpgOtUser> participations, final List<String> statuses, final List<String> roles) {
- List<PrsDpgOtUser> list = new ArrayList<PrsDpgOtUser>();
- if (participations != null && !participations.isEmpty()) {
- for (final PrsDpgOtUser dpg : participations) {
- if (statuses == null || statuses.contains(dpg.getDpgBusena())) {
- if (roles == null || roles.contains(dpg.getDrlPavadinimas())) {
- list.add(dpg);
- }
- }
- }
- }
- return list;
- }
- /**
- * Dynamic project title for form 2NM
- * @param index - project index
- * @deprecated move this method to KPPAISHelper_2NM
- */
- @Deprecated
- public static final String getProjectTitle2NM(final int index) {
- return "Miško veisimo projektas Nr. <span class=\"project-index\">" + index + "</span><span class=\"expand-button\" style=\"padding:0px 10px;margin:0px 10px;\"></span>";
- }
- public static final String getChangeTitle4VP(final int index) {
- return "Vietos plėtros strategijos keitimas Nr. <span class=\"project-index\">" + index + "</span><span class=\"expand-button\" style=\"padding:0px 10px;margin:0px 10px;\"></span>";
- }
- /**
- * Calculate percents of particular tree group
- * @param dataList - list of data rows
- * @param conifiers - (spygliuociai)
- */
- public static final String getTreeGroupPercents(final List<Map<String, Object>> dataList, final boolean conifiers) {
- double groupCount = 0;
- double totalCount = 0;
- if (dataList != null) {
- for (final Map<String, Object> row : dataList) {
- Double d = ZumisWidgetHelper.objectToDouble(row.get("trees_amount"));
- if (d != null) {
- boolean conifier = !"Taip".equals(row.get("tree_deciduous"));
- totalCount += d;
- if (conifier == conifiers) {
- groupCount += d;
- }
- }
- }
- }
- if (totalCount == 0) {
- return ZumisMoneyFormatter.format(0);
- }
- return ZumisMoneyFormatter.format((groupCount / totalCount) * 100.0);
- }
- private static final List<Kp2InvZemevInfoEilOt> PRIS_1VMS_ATIDAVIMAS_createZemesValduInfoBeanFrom(final Map zemesValduWidgetOutput, final Map<String, Date> validFromDatesByLandTenuresCodes) {
- List<Kp2InvZemevInfoEilOt> output = new ArrayList<Kp2InvZemevInfoEilOt>();
- initLandTenuresViewedAsTree(zemesValduWidgetOutput, output, validFromDatesByLandTenuresCodes);
- initOptionalLandTenures(zemesValduWidgetOutput, output, validFromDatesByLandTenuresCodes);
- initRequiredLandTenures(zemesValduWidgetOutput, output, validFromDatesByLandTenuresCodes);
- return output;
- }
- private static void initLandTenuresViewedAsTree(Map landTenuresData, List<Kp2InvZemevInfoEilOt> output, final Map<String, Date> validFromDatesByLandTenuresCodes) {
- landTenuresData.get("ZVI_list_item_with_subgroup").each() {
- final String parentCode = it.get("ZVI_list_item_code")?.trim();
- final Double parentAtaskaitiniaiNuosava = ZumisWidgetHelper.objectToDouble(it.get("ZVI_crnt_year_owned_property_sub_sum"));
- final Double parentAtaskaitiniaiNuomojama = ZumisWidgetHelper.objectToDouble(it.get("ZVI_crnt_year_reneted_property_sub_sum"));
- final Double parentNuosava = ZumisWidgetHelper.objectToDouble(it.get("ZVI_application_year_owned_property_sub_sum"));
- final Double parentNuomojama = ZumisWidgetHelper.objectToDouble(it.get("ZVI_application_year_rented_property_sub_sum"));
- if ((parentAtaskaitiniaiNuosava != null || parentAtaskaitiniaiNuomojama != null || parentNuosava != null || parentNuomojama != null) && parentCode != null && !parentCode.trim().isEmpty()) {
- ZemevalduInfoBuilder zemevalduInfoBuilder = new ZemevalduInfoBuilder();
- zemevalduInfoBuilder
- .zemevaldosKodas(parentCode)
- .zemevaldaGaliojaNuo(getValidFromDateByCodeFrom(parentCode, validFromDatesByLandTenuresCodes))
- .zemevaldosPlotas(parentAtaskaitiniaiNuosava, ATASKAITINIAI, NUOSAVA)
- .zemevaldosPlotas(parentAtaskaitiniaiNuomojama, ATASKAITINIAI, NUOMOJAMA)
- .visasZemevaldosPlotas(Optional.<Double>of((parentAtaskaitiniaiNuosava == null ? Double.valueOf(0.0) : parentAtaskaitiniaiNuosava) + (parentAtaskaitiniaiNuomojama == null ? Double.valueOf(0.0) : parentAtaskaitiniaiNuomojama)), ATASKAITINIAI)
- .zemevaldosPlotas(parentNuosava, PARAISKOS_PATEIKIMO, NUOSAVA)
- .zemevaldosPlotas(parentNuomojama, PARAISKOS_PATEIKIMO, NUOMOJAMA)
- .visasZemevaldosPlotas(Optional.<Double>of((parentNuosava == null ? Double.valueOf(0.0) : parentNuosava) + (parentNuomojama == null ? Double.valueOf(0.0) : parentNuomojama)), PARAISKOS_PATEIKIMO);
- output.add(zemevalduInfoBuilder.build());
- }
- it.get("ZVI_list_item_subitems_required").each() {
- ZemevalduInfoBuilder zemevalduInfoBuilder = new ZemevalduInfoBuilder();
- final String landTenureCode = it.get("ZVI_sublist_item_code_required");
- final Double ataskaitiniaiNuosava = ZumisWidgetHelper.objectToDouble(it.get("ZVI_crnt_year_owned_property_sub_required"));
- final Double ataskaitiniaiNuomojama = ZumisWidgetHelper.objectToDouble(it.get("ZVI_crnt_year_reneted_property_sub_required"));
- final Double nuosava = ZumisWidgetHelper.objectToDouble(it.get("ZVI_application_year_owned_property_sub_required"));
- final Double nuomojama = ZumisWidgetHelper.objectToDouble(it.get("ZVI_application_year_rented_property_sub_required"));
- if ((ataskaitiniaiNuomojama != null || ataskaitiniaiNuosava != null || nuomojama != null || nuosava != null) && landTenureCode != null && !landTenureCode.trim().isEmpty()) {
- zemevalduInfoBuilder
- .zemevaldosKodas(landTenureCode)
- .zemevaldaGaliojaNuo(getValidFromDateByCodeFrom(landTenureCode, validFromDatesByLandTenuresCodes))
- .zemevaldosPlotas(ataskaitiniaiNuosava, ATASKAITINIAI, NUOSAVA)
- .zemevaldosPlotas(ataskaitiniaiNuomojama, ATASKAITINIAI, NUOMOJAMA)
- .visasZemevaldosPlotas(Optional.<Double>of((ataskaitiniaiNuosava == null ? Double.valueOf(0.0) : ataskaitiniaiNuosava) + (ataskaitiniaiNuomojama == null ? Double.valueOf(0.0) : ataskaitiniaiNuomojama)), ATASKAITINIAI)
- .zemevaldosPlotas(nuosava, PARAISKOS_PATEIKIMO, NUOSAVA)
- .zemevaldosPlotas(nuomojama, PARAISKOS_PATEIKIMO, NUOMOJAMA)
- .visasZemevaldosPlotas(Optional.<Double>of((nuosava == null ? Double.valueOf(0.0) : nuosava) + (nuomojama == null ? Double.valueOf(0.0) : nuomojama)), PARAISKOS_PATEIKIMO);
- output.add(zemevalduInfoBuilder.build());
- }
- };
- it.get("ZVI_list_item_subitems_optional").each() {
- ZemevalduInfoBuilder zemevalduInfoBuilder = new ZemevalduInfoBuilder();
- final String landTenureCode = it.get("ZVI_sublist_item_code_optional");
- final Double ataskaitiniaiNuosava = ZumisWidgetHelper.objectToDouble(it.get("ZVI_crnt_year_owned_property_sub_optional"));
- final Double ataskaitiniaiNuomojama = ZumisWidgetHelper.objectToDouble(it.get("ZVI_crnt_year_reneted_property_sub_optional"));
- final Double nuosava = ZumisWidgetHelper.objectToDouble(it.get("ZVI_application_year_owned_property_sub_optional"));
- final Double nuomojama = ZumisWidgetHelper.objectToDouble(it.get("ZVI_application_year_rented_property_sub_optional"));
- if ((ataskaitiniaiNuomojama != null || ataskaitiniaiNuosava != null || nuomojama != null || nuosava != null) && landTenureCode != null && !landTenureCode.trim().isEmpty()) {
- zemevalduInfoBuilder
- .zemevaldosKodas(landTenureCode)
- .zemevaldaGaliojaNuo(getValidFromDateByCodeFrom(landTenureCode, validFromDatesByLandTenuresCodes))
- .zemevaldosPlotas(ataskaitiniaiNuosava, ATASKAITINIAI, NUOSAVA)
- .zemevaldosPlotas(ataskaitiniaiNuomojama, ATASKAITINIAI, NUOMOJAMA)
- .visasZemevaldosPlotas(Optional.<Double>of((ataskaitiniaiNuosava == null ? Double.valueOf(0.0) : ataskaitiniaiNuosava) + (ataskaitiniaiNuomojama == null ? Double.valueOf(0.0) : ataskaitiniaiNuomojama)), ATASKAITINIAI)
- .zemevaldosPlotas(nuosava, PARAISKOS_PATEIKIMO, NUOSAVA)
- .zemevaldosPlotas(nuomojama, PARAISKOS_PATEIKIMO, NUOMOJAMA)
- .visasZemevaldosPlotas(Optional.<Double>of((nuosava == null ? Double.valueOf(0.0) : nuosava) + (nuomojama == null ? Double.valueOf(0.0) : nuomojama)), PARAISKOS_PATEIKIMO);
- output.add(zemevalduInfoBuilder.build());
- }
- };
- };
- }
- private static void initOptionalLandTenures(Map landTenuresData, List<Kp2InvZemevInfoEilOt> output, final Map<String, Date> validFromDatesByLandTenuresCodes) {
- landTenuresData.get("ZVI_list_item_optional").each() {
- ZemevalduInfoBuilder zemevalduInfoBuilder = new ZemevalduInfoBuilder();
- final String landTenureCode = it.get("ZVI_list_simple_item_code_opt");
- final Double ataskaitiniaiNuosava = ZumisWidgetHelper.objectToDouble(it.get("ZVI_crnt_year_owned_property_nosub_opt"));
- final Double ataskaitiniaiNuomojama = ZumisWidgetHelper.objectToDouble(it.get("ZVI_crnt_year_reneted_property_nosub_opt"));
- final Double nuosava = ZumisWidgetHelper.objectToDouble(it.get("ZVI_application_year_owned_property_nosub_opt"));
- final Double nuomojama = ZumisWidgetHelper.objectToDouble(it.get("ZVI_application_year_rented_property_nosub_opt"));
- if ((ataskaitiniaiNuomojama != null || ataskaitiniaiNuosava != null || nuomojama != null || nuosava != null) && landTenureCode != null && !landTenureCode.trim().isEmpty()) {
- zemevalduInfoBuilder
- .zemevaldosKodas(landTenureCode)
- .zemevaldaGaliojaNuo(getValidFromDateByCodeFrom(landTenureCode, validFromDatesByLandTenuresCodes))
- .zemevaldosPlotas(ataskaitiniaiNuosava, ATASKAITINIAI, NUOSAVA)
- .zemevaldosPlotas(ataskaitiniaiNuomojama, ATASKAITINIAI, NUOMOJAMA)
- .visasZemevaldosPlotas(Optional.<Double>of((ataskaitiniaiNuosava == null ? Double.valueOf(0.0) : ataskaitiniaiNuosava) + (ataskaitiniaiNuomojama == null ? Double.valueOf(0.0) : ataskaitiniaiNuomojama)), ATASKAITINIAI)
- .zemevaldosPlotas(nuosava, PARAISKOS_PATEIKIMO, NUOSAVA)
- .zemevaldosPlotas(nuomojama, PARAISKOS_PATEIKIMO, NUOMOJAMA)
- .visasZemevaldosPlotas(Optional.<Double>of((nuosava == null ? Double.valueOf(0.0) : nuosava) + (nuomojama == null ? Double.valueOf(0.0) : nuomojama)), PARAISKOS_PATEIKIMO);
- output.add(zemevalduInfoBuilder.build());
- }
- };
- }
- private static void initRequiredLandTenures(Map landTenuresData, List<Kp2InvZemevInfoEilOt> output, final Map<String, Date> validFromDatesByLandTenuresCodes) {
- landTenuresData.get("ZVI_list_item_required").each() {
- ZemevalduInfoBuilder zemevalduInfoBuilder = new ZemevalduInfoBuilder();
- final String landTenureCode = it.get("ZVI_list_simple_item_code_rq");
- final Double ataskaitiniaiNuosava = ZumisWidgetHelper.objectToDouble(it.get("ZVI_crnt_year_owned_property_nosub_rq"));
- final Double ataskaitiniaiNuomojama = ZumisWidgetHelper.objectToDouble(it.get("ZVI_crnt_year_reneted_property_nosub_rq"));
- final Double nuosava = ZumisWidgetHelper.objectToDouble(it.get("ZVI_application_year_owned_property_nosub_rq"));
- final Double nuomojama = ZumisWidgetHelper.objectToDouble(it.get("ZVI_application_year_rented_property_nosub_rq"));
- if ((ataskaitiniaiNuomojama != null || ataskaitiniaiNuosava != null || nuomojama != null || nuosava != null) && landTenureCode != null && !landTenureCode.trim().isEmpty()) {
- zemevalduInfoBuilder
- .zemevaldosKodas(landTenureCode)
- .zemevaldaGaliojaNuo(getValidFromDateByCodeFrom(landTenureCode, validFromDatesByLandTenuresCodes))
- .zemevaldosPlotas(ataskaitiniaiNuosava, ATASKAITINIAI, NUOSAVA)
- .zemevaldosPlotas(ataskaitiniaiNuomojama, ATASKAITINIAI, NUOMOJAMA)
- .visasZemevaldosPlotas(Optional.<Double>of((ataskaitiniaiNuosava == null ? Double.valueOf(0.0) : ataskaitiniaiNuosava) + (ataskaitiniaiNuomojama == null ? Double.valueOf(0.0) : ataskaitiniaiNuomojama)), ATASKAITINIAI)
- .zemevaldosPlotas(nuosava, PARAISKOS_PATEIKIMO, NUOSAVA)
- .zemevaldosPlotas(nuomojama, PARAISKOS_PATEIKIMO, NUOMOJAMA)
- .visasZemevaldosPlotas(Optional.<Double>of((nuosava == null ? Double.valueOf(0.0) : nuosava) + (nuomojama == null ? Double.valueOf(0.0) : nuomojama)), PARAISKOS_PATEIKIMO);
- output.add(zemevalduInfoBuilder.build());
- }
- };
- }
- private static final Date getValidFromDateByCodeFrom(final String landTenureCode, final Map<String, Date> validFromDatesByLandTenuresCodes) {
- return validFromDatesByLandTenuresCodes.get(landTenureCode);
- }
- /**
- * Iš bylos numerio ištraukia projekto numerį.
- */
- public static final String extractProjektoNumeris(String pblNumeris) {
- if (pblNumeris == null) {
- return "";
- }
- if (!pblNumeris.contains("-")) {
- return "";
- }
- return pblNumeris.substring(0, pblNumeris.lastIndexOf("-"));
- }
- /**
- * Patikrina ar byla buvo pateikta nuo 2009-09-04 (imtinai).
- * @return <code>NULL</code> - jei bylos objektas nenurodytas arba nėra bylos gavimo datos. <code>TRUE</code> - jei byla pateikta 2009-09-04 ar vėliau. <code>FALSE</code> - jei byla pateikta iki 2009-09-03 imtinai.
- */
- public static final Boolean applicationSubmittedFrom20090904(final Kp2TurimuBylSarasasOtUser application) {
- if (application == null || application.getDokGavimoData() == null) {
- return null;
- }
- final Calendar sc = application.getDokGavimoData().toGregorianCalendar();
- sc.clear(Calendar.HOUR);
- sc.clear(Calendar.MINUTE);
- sc.clear(Calendar.SECOND);
- sc.clear(Calendar.MILLISECOND);
- final Calendar tc = GregorianCalendar.getInstance();
- tc.set(2009, Calendar.SEPTEMBER, 4, 0, 0, 0);
- tc.set(Calendar.MILLISECOND, 0);
- return !sc.before(tc);
- }
- /**
- * Extracst email from agreement contact info
- * @param agreement - agreement object (may be <code>NULL</code>)
- * @param defaultValue - default value to be returned if nothing found (may be <code>NULL</code>)
- * @return email value
- */
- public static final String getEmailFromAgreement(final Kp2ParSutDuomenysOtUser agreement, final String defaultValue) {
- return getContactFromAgreement(agreement, "E", defaultValue);
- }
- /**
- * Extracst phone from agreement contact info
- * @param agreement - agreement object (may be <code>NULL</code>)
- * @param defaultValue - default value to be returned if nothing found (may be <code>NULL</code>)
- * @return phone value
- */
- public static final String getPhoneFromAgreement(final Kp2ParSutDuomenysOtUser agreement, final String defaultValue) {
- return getContactFromAgreement(agreement, "T", defaultValue);
- }
- /**
- * Extracst fax from agreement contact info
- * @param agreement - agreement object (may be <code>NULL</code>)
- * @param defaultValue - default value to be returned if nothing found (may be <code>NULL</code>)
- * @return fax value
- */
- public static final String getFaxFromAgreement(final Kp2ParSutDuomenysOtUser agreement, final String defaultValue) {
- return getContactFromAgreement(agreement, "F", defaultValue);
- }
- /**
- * Extracst any contact from agreement contact info, which value is a single string
- * @param agreement - agreement object (may be <code>NULL</code>)
- * @param contactType - contact type code (may be <code>NULL</code>)
- * @param defaultValue - default value to be returned if nothing found (may be <code>NULL</code>)
- * @return contact value
- */
- public static final String getContactFromAgreement(final Kp2ParSutDuomenysOtUser agreement, final String contactType, final String defaultValue) {
- final List<Kp2KontaktInfoOtUser> list = agreement?.getKontaktineInformacija()?.getArray();
- if (list != null && !list.isEmpty() && contactType != null && !contactType.isEmpty()) {
- for (final Kp2KontaktInfoOtUser contact : list) {
- if (contactType.equals(contact.getAktTipas())) {
- return contact.getAktReiksme();
- }
- }
- }
- return defaultValue;
- }
- /**
- * Translates all provided error messages with specified translations (if any)
- * @param errors - errors list (may be <code>NULL</code> or empty)
- * @param translations - available translations, where <code>key</code> - error code, <code>value</code> - translated error message. (may be <code>NULL</code> or empty)
- * @return errors list with translated messages
- */
- public static final List<Kp2ErrorOt> getTranslatedErrors(final List<Kp2ErrorOt> errors, final Map<String, String> translations) {
- final Logger logger = Logger.getLogger("com.tieto.zumis.bpm.groovy");
- final List<Kp2ErrorOt> list = new ArrayList<Kp2ErrorOt>();
- int totalCount = errors == null ? 0 : errors.size();
- int criticalCount = 0;
- int errorCount = 0;
- int warningCount = 0;
- logger.fine("KPPAISHelper.getTranslatedErrors(): " + totalCount + " to be translated. Translations available: " + (translations == null ? 0 : translations.size()));
- if (errors != null && !errors.isEmpty()) {
- final Pattern pattern = Pattern.compile("\\{(\\d+)\\}");
- for (final Kp2ErrorOt error : errors) {
- if ("".equals(error.getErrSeverity()) || "C".equals(error.getErrSeverity())) {
- criticalCount++;
- } else if ("E".equals(error.getErrSeverity())) {
- errorCount++;
- } else if ("W".equals(error.getErrSeverity())) {
- warningCount++;
- }
- if (translations != null && translations.containsKey(error.getErrCode())) {
- String translated = translations.get(error.getErrCode());
- if (error.getErrParam() != null && !error.getErrParam().getKp2ErrParmListOt().isEmpty()) {
- final List<Kp2ErrParmListOt> params = error.getErrParam().getKp2ErrParmListOt();
- final Matcher m = pattern.matcher(translated);
- while (m.find()) {
- final int index = Integer.parseInt(m.group(1), 10);
- if (index >= 0 && index < params.size()) {
- translated = translated.replaceAll("\\{" + index + "\\}", params.get(index));
- }
- }
- }
- // replace
- error.setErrText(translated);
- }
- list.add(error);
- }
- }
- logger.fine("KPPAISHelper.getTranslatedErrors(): Total errors: " + totalCount + " (critical=" + criticalCount + ", error=" + errorCount + ", warning=" + warningCount + "). Translated: " + list.size());
- return list;
- }
- /**
- * Generates HTML component with error messages
- * @param errors - errors list (may be <code>NULL</code>)
- * @param showWarnings - include warning messages or not (TRUE - include; FALSE - skip)
- * @return HTML component with errors messages
- */
- public static final String getKppaisErrorsHtml(final List<Kp2ErrorOt> errors, final boolean showWarnings) {
- StringBuilder message = new StringBuilder("<div class=\"errors_container\">");
- List<Kp2ErrorOt> warnings = new LinkedList<Kp2ErrorOt>();
- if (hasKppaisErrors(errors)) {
- message.append("<ul class=\"error_messages\"><div class=\"messages_title\">Kritinės klaidos</div>");
- for (final Kp2ErrorOt error : errors) {
- if ("C".equals(error.getErrSeverity()) || "E".equals(error.getErrSeverity()) || "".equals(error.getErrSeverity())) {
- message.append("<li class=\"message_content\">(").append(error.getErrCode()).append(") ").append(error.getErrText()).append("</li>");
- } else if ("W".equals(error.getErrSeverity())) {
- warnings.add(error);
- }
- }
- message.append("</ul>");
- }
- if (showWarnings && !warnings.isEmpty()) {
- message.append("<ul class=\"warning_messages\"><div class=\"messages_title\">Pastabos</div>");
- for (final Kp2ErrorOt warning : warnings) {
- message.append("<li class=\"message_content\">(").append(warning.getErrCode()).append(") ").append(warning.getErrText()).append("</li>");
- }
- message.append("</ul>");
- }
- message.append("</div>");
- return message.toString();
- }
- /**
- * Checks if specified list of callback messages has errors of severuty C (critical) or E (error)
- *
- * @param errors - errors list (may be <code>NULL</code>)
- * @return TRUE if there is at least one error message of severity C or E. FALSE - otherwise
- */
- public static final boolean hasKppaisErrors(final List<Kp2ErrorOt> errors) {
- if (errors != null && !errors.isEmpty()) {
- for (final Kp2ErrorOt error : errors) {
- if ("E".equals(error.getErrSeverity()) || "C".equals(error.getErrSeverity()) || "".equals(error.getErrSeverity())) {
- return true;
- }
- }
- }
- return false;
- }
- /**
- * Current application status name regarding current status in KPPAIS and ZUMIS
- *
- * @param kppaisStatusName - KPPAIS status name
- * @param zumisStatusCode - ZUMIS status code
- * @return application status name
- */
- public static final String getApplicationStatus(final String kppaisStatusName, final String zumisStatusCode) {
- if ("CANCELED".equals(zumisStatusCode)) {
- return "Atšaukta";
- }
- return kppaisStatusName;
- }
- /**
- * Checks pending applications for the earliest unsubmitted one by the specified report type which belongs to the specified parent application.
- * @param apps - pending applications list (may be <code>NULL</code>)
- * @param parentAppCode - parent application code/number (may be <code>NULL</code>, but result will be unpredictable)
- * @param reportType - report type code (mat be <code>NULL</code>, but result will be unpredictable)
- * @return earliest unsubmitted application date or <code>NULL</code> if not found
- */
- public static final Date getEarliestReportSubmittionDate(final List<Kp2TektinuByluSarOtUser> apps, final String parentAppCode, final String reportType) {
- Date earliestDate = null;
- Logger.getLogger("com.tieto.zumis.bpm.groovy").info(" *** Getting the earliest report submittion date. Apps: " + apps?.size() + ", Parent app code: " + parentAppCode + ", Report type: " + reportType);
- if (apps != null && !apps.isEmpty()) {
- for (final Kp2TektinuByluSarOtUser app : apps) {
- if (app.getFaktPateikData() == null && app.getBylPagrindoNumeris().equals(parentAppCode) && app.getDtpVeiklosKodas().equals(reportType)) {
- if (earliestDate == null || (app.getPlanPateikData() != null && earliestDate.after(app.getPlanPateikData().toGregorianCalendar().getTime()))) {
- earliestDate = app.getPlanPateikData()?.toGregorianCalendar()?.getTime();
- }
- }
- }
- }
- return earliestDate;
- }
- /**
- * Searches for the current project status code
- *
- * @param applicationCode - application code/number (cannot be <code>NULL</code>)
- * @param apps - owned applications list (may be <code>NULL</code>)
- * @return current project status code or <code>NULL</code> if nothing was found
- */
- public static final String getProjectStatus(final String applicationCode, final List<Kp2TurimuBylSarasasOtUser> apps) {
- final Logger logger = Logger.getLogger("com.tieto.zumis.bpm.groovy");
- if (apps != null && !apps.isEmpty()) {
- for (final Kp2TurimuBylSarasasOtUser app : apps) {
- if (applicationCode.equals(app.getBylNumeris())) {
- logger.info("KPPAISHelper.getProjectStatus(" + applicationCode + "): found status code [" + app.getPblProjektoBusena() + "]");
- return app.getPblProjektoBusena();
- }
- }
- }
- logger.info("KPPAISHelper.getProjectCode(" + applicationCode + "): status not found in the owned applications list of size " + (apps == null ? "null" : apps.size()));
- return null;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement