From 69772283676f04b044bb44ceb3e695e7f4737fe4 Mon Sep 17 00:00:00 2001 From: Ralph Soika Date: Mon, 6 Feb 2023 16:56:36 +0100 Subject: [PATCH] impl op liste --- .../OPListExportAdapter.java | 335 ++++++++++++ .../OPListExportController.java | 81 +++ .../OPListExportScheduler.java | 140 +++++ .../layout/commandbox_admin_custom.xhtml | 1 + .../webapp/pages/admin/oplist_export.xhtml | 83 +++ templates/op-liste_template.xlsx | Bin 0 -> 41700 bytes workflow/opliste-de-1.0.0.bpmn | 514 ++++++++++++++++++ 7 files changed, 1154 insertions(+) create mode 100644 office-alexander-logistics-app/src/main/java/com/alexanderlogistics/OPListExportAdapter.java create mode 100644 office-alexander-logistics-app/src/main/java/com/alexanderlogistics/OPListExportController.java create mode 100644 office-alexander-logistics-app/src/main/java/com/alexanderlogistics/OPListExportScheduler.java create mode 100644 office-alexander-logistics-app/src/main/webapp/pages/admin/oplist_export.xhtml create mode 100644 templates/op-liste_template.xlsx create mode 100644 workflow/opliste-de-1.0.0.bpmn diff --git a/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/OPListExportAdapter.java b/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/OPListExportAdapter.java new file mode 100644 index 0000000..7dd40a1 --- /dev/null +++ b/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/OPListExportAdapter.java @@ -0,0 +1,335 @@ +package com.alexanderlogistics; + +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.logging.Logger; + +import javax.inject.Inject; + +import org.apache.poi.ss.usermodel.CellCopyPolicy; +import org.apache.poi.ss.util.CellReference; +import org.apache.poi.xssf.usermodel.XSSFRow; +import org.apache.poi.xssf.usermodel.XSSFSheet; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; +import org.imixs.archive.core.SnapshotService; +import org.imixs.workflow.FileData; +import org.imixs.workflow.ItemCollection; +import org.imixs.workflow.engine.DocumentService; +import org.imixs.workflow.engine.WorkflowService; +import org.imixs.workflow.exceptions.AdapterException; +import org.imixs.workflow.exceptions.PluginException; +import org.imixs.workflow.exceptions.QueryException; +import org.imixs.workflow.poi.POIFindReplaceAdapter; + +/** + * Der OPListExportAdapter importiert eine Excel Datei aus einem Textblock + * + *
+ * {@code
+        textblock-ref
+        filename
+        filename
+   }
+ * 
+ *

+ * Der Adapter erweitert den POIAdapter somit können felder aktualisiert werden + * (siehe POIFineReplaceAdapter). + * + *

+ * Der Adapter kopiert die Rechnungsdaten in neue Zeilen, welche ab Zeilnenummer + * 16 eingefügt werden. + *

+ * + * Abschliessend wird die Zelle 'TOTAL' noch aktualisiert. + * + * @version 1.0 + * @author rsoika + */ +public class OPListExportAdapter extends POIFindReplaceAdapter { + + private static Logger logger = Logger.getLogger(OPListExportAdapter.class.getName()); + + public static final String ERROR_CONFIG = "CONFIG_ERROR"; + final String TYPE_TEXTBLOCK = "textblock"; + + @Inject + WorkflowService workflowService; + + @Inject + DocumentService documentService; + + @Inject + SnapshotService snapshotService; + + /** + * This method finds or create the Zahlungsavis and adds a reference + * ($workitemref) to the current invoice. + * + * @throws PluginException + */ + @SuppressWarnings("unchecked") + @Override + public ItemCollection execute(ItemCollection document, ItemCollection event) + throws AdapterException, PluginException { + + // read the zahlungsavis options + ItemCollection evalItemCollection = workflowService.evalWorkflowResult(event, "opliste", document, false); + if (evalItemCollection == null) { + throw new PluginException(OPListExportAdapter.class.getSimpleName(), ERROR_CONFIG, + "missing op-list configuration in model event - please check model configuration"); + } + String textblock = evalItemCollection.getItemValueString("textblock"); + String template = evalItemCollection.getItemValueString("template"); + String targetName = evalItemCollection.getItemValueString("target-name"); + // adapt text.... + targetName = workflowService.adaptText(targetName, document); + + appendExcelTemplate(document, textblock, template, targetName); + + // Process POI instructions + // read the config + ItemCollection poiConfig = workflowService.evalWorkflowResult(event, "poi-update", document, false); + if (poiConfig == null || !poiConfig.hasItem("findreplace")) { + throw new PluginException(POIFindReplaceAdapter.class.getSimpleName(), CONFIG_ERROR, + "missing poi configuration"); + } + List replaceDevList = poiConfig.getItemValue("findreplace"); + String eval = poiConfig.getItemValueString("eval"); + try { + this.updateFileData(document.getFileData(targetName), document, replaceDevList, eval); + + // now we add separate lines for each invoice.... + insertInvoiceRows(document, targetName); + } catch (PluginException | IOException | QueryException e) { + throw new PluginException(OPListExportAdapter.class.getSimpleName(), ERROR_CONFIG, + "failed to update op-liste: " + e.getMessage()); + } + return document; + } + + /** + * This helper method inserts a row for each invoice of the current Zahlunsavis + * at row 16 into the excel template file + *

+ * The method copies the Row A16 as a reference row + *

+ * The named cell 'TOTAL' should contain the summary formula. It will be + * evaluated at the end. + * + * @throws PluginException + * @throws QueryException + */ + private void insertInvoiceRows(ItemCollection document, String fileName) throws PluginException, QueryException { + + double saldo = 0; + // load dummy rechnungen + String spaceID = document.getItemValueString("space.ref"); + + Map> invoiceMap = groupInvoicesBySpaceID(spaceID); + + FileData fileData = document.getFileData(fileName); + + // load XSSFWorkbook + try (InputStream imputStream = new ByteArrayInputStream(fileData.getContent())) { + XSSFWorkbook doc = new XSSFWorkbook(imputStream); + // NOTE: we only take the first sheet ! + XSSFSheet sheet = doc.getSheetAt(0); + CellReference cr = new CellReference("A12"); + XSSFRow referenceRow = sheet.getRow(cr.getRow()); + int referenceRowPos = 12; + int rowPos = 12; + // int lastRow = sheet.getLastRowNum(); + int lastRow = 9999; + logger.finest("Last rownum=" + lastRow); + + int totalRowCount = invoiceMap.size(); + for (List list : invoiceMap.values()) { + totalRowCount = totalRowCount + list.size(); + } + + sheet.shiftRows(rowPos, lastRow, totalRowCount, true, true); + for (Map.Entry> entry : invoiceMap.entrySet()) { + String dbtrNumber = entry.getKey(); + List invoices = entry.getValue(); + + // erzeuge eine Zwischenüberschrift für den Debitor.... + XSSFRow categoryRow = sheet.createRow(rowPos); + categoryRow.copyRowFrom(referenceRow, new CellCopyPolicy()); + // insert values + categoryRow.getCell(0).setCellValue(dbtrNumber); + String debitorName = invoices.get(0).getItemValueString("dbtr.name"); + categoryRow.getCell(1).setCellValue(debitorName); + + // calculate summ of all invoices + double catSum = 0; + for (ItemCollection invoice : invoices) { + catSum = catSum + invoice.getItemValueDouble("invoice.total"); + } + if (catSum < 0) { + // SOLL + categoryRow.getCell(6).setCellValue(catSum); + } else { + categoryRow.getCell(8).setCellValue(catSum); + } + + rowPos++; + // jetzt füge alle Rechnungen an. + for (ItemCollection invoice : invoices) { + logger.finest("......copy row..."); + + // now create a new line.. + XSSFRow row = sheet.createRow(rowPos); + row.copyRowFrom(referenceRow, new CellCopyPolicy()); + // insert values + row.getCell(2).setCellValue(invoice.getItemValueString("invoice.number")); + row.getCell(3).setCellValue(invoice.getItemValueString("invoice.text")); + row.getCell(4).setCellValue(invoice.getItemValueDate("invoice.date")); + row.getCell(5).setCellValue(invoice.getItemValueDate("invoice.duedate")); + double total = invoice.getItemValueDouble("invoice.total"); + if (total < 0) { + // SOLL + row.getCell(6).setCellValue(total); + row.getCell(7).setCellValue(invoice.getItemValueString("invoice.currency")); + } else { + // HABEN + row.getCell(8).setCellValue(total); + row.getCell(9).setCellValue(invoice.getItemValueString("invoice.currency")); + } + + saldo = saldo + total; + rowPos++; + } + } + // delete reference row 12 + sheet.shiftRows(referenceRowPos, lastRow + totalRowCount, -1, true, true); + + // finally update the total formula... + evalXSSFSheet(doc, sheet, "TOTAL"); + + ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); + // write back the file + + doc.write(byteArrayOutputStream); + doc.close(); + byte[] newContent = byteArrayOutputStream.toByteArray(); + FileData fileDataNew = new FileData(fileData.getName(), newContent, fileData.getContentType(), null); + // update the fileData + document.addFileData(fileDataNew); + document.setItemValue("space.saldo", saldo); + logger.finest("......new document added"); + + } catch (IOException e) { + throw new PluginException(OPListExportAdapter.class.getSimpleName(), ERROR_CONFIG, + "failed to update zahlungsavis: " + e.getMessage()); + } + } + + /** + * This method loads a text-block for a specified ref and appends the named + * fileData object of this document. + * + * @param document + * @throws PluginException + */ + private void appendExcelTemplate(ItemCollection document, String textblockRef, String template, String targetName) + throws PluginException { + + if ((template == null || template.isEmpty()) || (textblockRef == null || textblockRef.isEmpty())) { + throw new PluginException(OPListExportAdapter.class.getSimpleName(), ERROR_CONFIG, + "invalid op-list configuration in model event - textblock/template reference not defined!"); + } + + // load the text block + FileData fileData = loadTextBlockFileData(textblockRef, template); + + // do we found the document? + if (fileData == null) { + throw new PluginException(OPListExportAdapter.class.getSimpleName(), ERROR_CONFIG, + "invalid op-list configuration in model event - template=" + template + " not found!"); + } + fileData.setName(targetName); + // append document + logger.info("...append new op-list Template: " + targetName); + + document.addFileData(fileData); + + } + + /** + * This method returns a text-block ItemCollection for a specified name. + * + * @param name in attribute txtname + * + * + */ + public FileData loadTextBlockFileData(String name, String fileName) { + ItemCollection textBlockItemCollection = null; + + // load text-block by name.... + String sQuery = "(type:\"" + TYPE_TEXTBLOCK + "\" AND txtname:\"" + name + "\")"; + Collection col; + try { + // find the textblock... + col = documentService.find(sQuery, 1, 0); + if (col.size() > 0) { + textBlockItemCollection = col.iterator().next(); + // fetch the fileData... + return snapshotService.getWorkItemFile(textBlockItemCollection.getUniqueID(), fileName); + + } else { + logger.warning("Missing text-block : '" + name + "'"); + } + } catch (QueryException e) { + logger.warning("getTextBlock - invalid query: " + e.getMessage()); + } + + return null; + } + + /** + * Diese Methode groupiert eine Rechnugnsliste nach Debitorennummern + * + * @param spaceID + * @return + */ + private Map> groupInvoicesBySpaceID(String spaceID) { + + Map> result = new HashMap<>(); + + try { + List invoices = documentService.find( + "$modelversion:rechnungsausgang-de-1.0 AND type:workitem AND $uniqueidref:" + spaceID, 9999, 0); + + for (ItemCollection invoice : invoices) { + + String dbtrNumber = invoice.getItemValueString("dbtr.number"); + // haben wir shon ein listchen? + List invoiceList = result.get(dbtrNumber); + if (invoiceList == null) { + // erzeuge eine neue liste + invoiceList = new ArrayList(); + } + + invoiceList.add(invoice); + + // speicher wieder die neue liste + result.put(dbtrNumber, invoiceList); + + } + + } catch (QueryException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + + return result; + } + +} \ No newline at end of file diff --git a/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/OPListExportController.java b/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/OPListExportController.java new file mode 100644 index 0000000..ff053d1 --- /dev/null +++ b/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/OPListExportController.java @@ -0,0 +1,81 @@ +package com.alexanderlogistics; +/******************************************************************************* + * Imixs Workflow Technology + * Copyright (C) 2003, 2008 Imixs Software Solutions GmbH, + * http://www.imixs.com + * + * 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 2 + * 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 can receive a copy of the GNU General Public + * License at http://www.gnu.org/licenses/gpl.html + * + * Contributors: + * Imixs Software Solutions GmbH - initial API and implementation + * Ralph Soika + * + *******************************************************************************/ + +import java.util.logging.Logger; + +import javax.enterprise.context.RequestScoped; +import javax.inject.Named; + + +import org.imixs.workflow.engine.scheduler.SchedulerController; + +/** + * The DatevController is used to configure the DatevScheduler. This service is + * used to generate datev export workitems. + *

+ * The Controller creates a configuration entity "type=configuration; + * txtname=datev". + *

+ * The following config items are defined: + * + * The following config items are defined: + * + *

+ * _model_version = model version for the SEPA export
+ * _initial_task = inital task ID
+ * 
+ * + * + * @author rsoika + * + */ +@Named(value = "oplistExportController") +@RequestScoped +public class OPListExportController extends SchedulerController { + + public static final String OPLIST_EXPORT_CONFIGURATION = "OPLIST_EXPORT_CONFIGURATION"; + + private static final long serialVersionUID = 1L; + private static Logger logger = Logger.getLogger(OPListExportController.class.getName()); + + @Override + public String getName() { + return OPLIST_EXPORT_CONFIGURATION; + } + + /** + * Returns the sepa scheduler class name. This name depends on the _export_type. + * + * There are two export interfaces available - csv and XML + * + */ + @Override + public String getSchedulerClass() { + String schedulerClass = OPListExportScheduler.class.getName(); + logger.finest("...... scheduler: " + schedulerClass); + return schedulerClass; + } + +} diff --git a/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/OPListExportScheduler.java b/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/OPListExportScheduler.java new file mode 100644 index 0000000..5fcc169 --- /dev/null +++ b/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/OPListExportScheduler.java @@ -0,0 +1,140 @@ +/******************************************************************************* + * Imixs Workflow Technology + * Copyright (C) 2001, 2008 Imixs Software Solutions GmbH, + * http://www.imixs.com + * + * 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 2 + * 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 can receive a copy of the GNU General Public + * License at http://www.gnu.org/licenses/gpl.html + * + * Contributors: + * Imixs Software Solutions GmbH - initial API and implementation + * Ralph Soika + *******************************************************************************/ +package com.alexanderlogistics; + +import java.text.DateFormat; +import java.text.DecimalFormat; +import java.text.DecimalFormatSymbols; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.List; +import java.util.logging.Logger; + +import javax.ejb.EJB; + +import org.imixs.marty.team.TeamService; +import org.imixs.workflow.FileData; +import org.imixs.workflow.ItemCollection; +import org.imixs.workflow.engine.DocumentService; +import org.imixs.workflow.engine.ModelService; +import org.imixs.workflow.engine.ReportService; +import org.imixs.workflow.engine.WorkflowService; +import org.imixs.workflow.engine.scheduler.Scheduler; +import org.imixs.workflow.engine.scheduler.SchedulerException; +import org.imixs.workflow.engine.scheduler.SchedulerService; +import org.imixs.workflow.exceptions.AccessDeniedException; +import org.imixs.workflow.exceptions.ModelException; +import org.imixs.workflow.exceptions.PluginException; +import org.imixs.workflow.exceptions.ProcessingErrorException; +import org.imixs.workflow.exceptions.QueryException; + +/** + * The OPListExportScheduler erzeugt für jeden Berich ein neues Workitem mit + * einer Excel Datei mit allen offenen Rechnungen. + *

+ * The class implements the interface + * _org.imixs.workflow.engine.scheduler.Scheduler_ and can be used in + * combination with the Imxis-Workflow Scheduler Service. + * + * @see SchedulerService + * @author rsoika + * + */ +public class OPListExportScheduler implements Scheduler { + + public static final int MAX_COUNT = 999; + public static final String OPLIST_ERROR = "OPLIST_ERROR"; + + public static DateFormat dateFormat = new SimpleDateFormat("ddMMyyyy"); + public static DecimalFormat decimalFormat = new DecimalFormat("0.00", + new DecimalFormatSymbols(java.util.Locale.GERMANY)); + + @EJB + DocumentService documentService; + + @EJB + WorkflowService workflowService; + + @EJB + ModelService modelService; + + @EJB + TeamService teamService; + + @EJB + ReportService reportService; + + private static Logger logger = Logger.getLogger(OPListExportScheduler.class.getName()); + + /** + * This is the method which processes the timeout event depending on the running + * timer settings. + * + * + * + * @param timer + * @throws QueryException + */ + public ItemCollection run(ItemCollection configuration) throws SchedulerException { + List invoices = null; + StringBuffer buffer = new StringBuffer(); + int lines = 0; + + configuration.removeItem("_scheduler_logmessage"); + logMessage(configuration, "....export OP-Listen..."); + + // Hole dir alle Bereiche + + List spaces = teamService.getSpaces(); + // Jezt erzeugen wir für jeden Berich ein neues Workitem falls offene Rechnungen + for (ItemCollection space : spaces) { + + ItemCollection workitem = new ItemCollection(); + workitem.setItemValue("space.ref", space.getUniqueID()); + + try { + workflowService.processWorkItem( // + workitem.task(1000). // + event(100). // + model("opliste-de-1.0")); + } catch (AccessDeniedException | ProcessingErrorException | PluginException | ModelException e) { + e.printStackTrace(); + } + } + + // transfer file via FTP... + DateFormat formatter = new SimpleDateFormat("yyyyMMddHHmm"); + // MMM d, yyyy HH:mm a + FileData fileData = new FileData("OPD_" + formatter.format(new Date()) + ".txt", + String.valueOf(buffer).getBytes(), null, null); + + logMessage(configuration, "...completed: " + lines + " lines"); + return configuration; + } + + private void logMessage(ItemCollection configuration, String message) { + configuration.appendItemValue("_scheduler_logmessage", message); + logger.info(message); + } + +} diff --git a/office-alexander-logistics-app/src/main/webapp/layout/commandbox_admin_custom.xhtml b/office-alexander-logistics-app/src/main/webapp/layout/commandbox_admin_custom.xhtml index 15a47ee..9e3c874 100644 --- a/office-alexander-logistics-app/src/main/webapp/layout/commandbox_admin_custom.xhtml +++ b/office-alexander-logistics-app/src/main/webapp/layout/commandbox_admin_custom.xhtml @@ -9,6 +9,7 @@

  • Cargosoft Export
  • Analyse Rechnungseingang
  • Kreditoren/Debitoren
  • +
  • OP Listen Export
  • diff --git a/office-alexander-logistics-app/src/main/webapp/pages/admin/oplist_export.xhtml b/office-alexander-logistics-app/src/main/webapp/pages/admin/oplist_export.xhtml new file mode 100644 index 0000000..ccf45a9 --- /dev/null +++ b/office-alexander-logistics-app/src/main/webapp/pages/admin/oplist_export.xhtml @@ -0,0 +1,83 @@ + + + + + + + + + +
    +
    +

    OP-Listen Verwaltung

    + + + + +
    +
    +
    +

    + Die OP-Listen Verwaltung erzeugt regelmäßig + Workitems mit einem aktuellen Abbild der offenen Ausgangsrechnungen, sortiert nach Bereichen. +

    +
    + +
    +

    Scheduler

    + + + + +
    +
    + + + + +
    +
    +
    +
    + + + +
    diff --git a/templates/op-liste_template.xlsx b/templates/op-liste_template.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..033c0d84d51bdedc66f97aa21fabff8c0382c41c GIT binary patch literal 41700 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

    mmD?z8uP_t0@Px--}Zs# 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +<itemvalue>$workflowstatus</itemvalue> + +]]> + + + +]]> + + + + + + + + + + StartEvent_1 + Task_1 + EndEvent_3 + Task_2 + Task_4 + IntermediateCatchEvent_8 + IntermediateCatchEvent_3 + IntermediateCatchEvent_1 + IntermediateCatchEvent_2 + + + + SequenceFlow_4 + + + + + sequencenumber $created - space.name]]> + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $workflowgroup - $workflowstatus]]> + SequenceFlow_16 + SequenceFlow_1 + SequenceFlow_17 + + + SequenceFlow_19 + + + + + sequencenumber $created - space.name]]> + + + + + + + + + + + + true + + + + + + + + + + + + + + + + + + + + + $workflowgroup - $workflowstatus]]> + SequenceFlow_4 + SequenceFlow_3 + + + + + + + + + + +]]> + + + + + + + + + + + + + + + + + + + + + ]]> + + + + + + + + + + + + + + + + + + + + + + + + + + home +Mahnwesen +OP-Liste Template + op-liste_template.xlsx +op-liste_space.name_$lasteventdate.xlsx + + + C6 + sequencenumber + text + + + C8 + space.name + text + + + + I6 + $lasteventdate + date + +]]> + + + + + + + + + + + + false + + + + + + + + SequenceFlow_5 + SequenceFlow_16 + + + DataOutput_2 + + + DataOutput_2 + + + + + + + + sequencenumber $created - space.name]]> + + + true + + + + + + + + + + + + + + + + + + + + + $workflowgroup - $workflowstatus]]> + SequenceFlow_18 + SequenceFlow_19 + + + + + + + + SequenceFlow_17 + SequenceFlow_18 + + + + + + + + + + + SequenceFlow_1 + + + + + + + + + + + + + SequenceFlow_3 + SequenceFlow_5 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file