From cbfeb8ef3800f3e083abc64fc02aea49d211cb48 Mon Sep 17 00:00:00 2001 From: Ralph Soika Date: Fri, 21 Jan 2022 09:50:37 +0100 Subject: [PATCH] first draft zahlungsavis --- .../CargosoftExportAdapter.java | 2 +- ...er.java => ZahlungsavisAppendAdapter.java} | 32 +++-- .../ZahlungsavisExportAdapter.java | 131 ++++++++++++++++++ .../zahlungsavis/zahlungsavis_template.xls | Bin 0 -> 56832 bytes workflow/rechnungseingang-de-1.2.17.bpmn | 7 +- workflow/zahlungsavis-1.0.0.bpmn | 12 +- 6 files changed, 171 insertions(+), 13 deletions(-) rename office-alexander-logistics-app/src/main/java/com/alexanderlogistics/{ZahlungsavisAdapter.java => ZahlungsavisAppendAdapter.java} (79%) create mode 100644 office-alexander-logistics-app/src/main/java/com/alexanderlogistics/ZahlungsavisExportAdapter.java create mode 100644 reports/zahlungsavis/zahlungsavis_template.xls diff --git a/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/CargosoftExportAdapter.java b/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/CargosoftExportAdapter.java index a5e780c..645ded0 100644 --- a/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/CargosoftExportAdapter.java +++ b/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/CargosoftExportAdapter.java @@ -25,7 +25,7 @@ import org.imixs.workflow.exceptions.PluginException; *

* The adapter can be configured through the model result item 'cargosoft' *

- * report = report definition to transfere the workitem into the cargosoft xml + * report = report definition to transfers the workitem into the cargosoft xml * structure * *

diff --git a/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/ZahlungsavisAdapter.java b/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/ZahlungsavisAppendAdapter.java
similarity index 79%
rename from office-alexander-logistics-app/src/main/java/com/alexanderlogistics/ZahlungsavisAdapter.java
rename to office-alexander-logistics-app/src/main/java/com/alexanderlogistics/ZahlungsavisAppendAdapter.java
index 8cc0f6e..839583f 100644
--- a/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/ZahlungsavisAdapter.java
+++ b/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/ZahlungsavisAppendAdapter.java
@@ -23,14 +23,16 @@ import org.imixs.workflow.exceptions.QueryException;
  * Wurde die Rechnugn bereits einem Zahlungsavis zugeordnet passiert nichts.
  * 
  * 
+ * 
  * @version 1.0
  * @author rsoika
  */
-public class ZahlungsavisAdapter implements SignalAdapter {
+public class ZahlungsavisAppendAdapter implements SignalAdapter {
 
-    private static Logger logger = Logger.getLogger(ZahlungsavisAdapter.class.getName());
+    private static Logger logger = Logger.getLogger(ZahlungsavisAppendAdapter.class.getName());
 
     public static final String ERROR_MISSING_DATA = "MISSING_DATA";
+    public static final String ERROR_CONFIG = "CONFIG_ERROR";
 
     public static final String ITEM_CDTR_NUMBER = "cdtr.number";
     public static final String ITEM_CDTR_NAME = "cdtr.name";
@@ -46,10 +48,22 @@ public class ZahlungsavisAdapter implements SignalAdapter {
      * @throws PluginException
      */
     @Override
-    public ItemCollection execute(ItemCollection invoice, ItemCollection event)
+    public ItemCollection execute(ItemCollection document, ItemCollection event)
             throws AdapterException, PluginException {
 
-        String cdtrNumber = invoice.getItemValueString(ITEM_CDTR_NUMBER);
+        appendInvoice(document);
+
+        return document;
+    }
+
+    /**
+     * Diese method hängt eine referenz der aktuellen Rechnung an den Zahlungsavis
+     * 
+     * @param document
+     * @throws PluginException
+     */
+    private void appendInvoice(ItemCollection document) throws PluginException {
+        String cdtrNumber = document.getItemValueString(ITEM_CDTR_NUMBER);
 
         if (cdtrNumber == null || cdtrNumber.isEmpty()) {
             throw new PluginException(PluginException.class.getName(), ERROR_MISSING_DATA,
@@ -63,15 +77,15 @@ public class ZahlungsavisAdapter implements SignalAdapter {
                 // create a new one
                 zahlungsAvis = new ItemCollection().workflowGroup("Zahlungsavis").task(1000).event(100);
                 // add cdtr.name
-                zahlungsAvis.setItemValue(ITEM_CDTR_NAME, invoice.getItemValue(ITEM_CDTR_NAME));
-                zahlungsAvis.setItemValue(ITEM_CDTR_NUMBER, invoice.getItemValue(ITEM_CDTR_NUMBER));
-                zahlungsAvis.setItemValue(ITEM_CDTR_NAME_CARGOSOFT, invoice.getItemValue(ITEM_CDTR_NAME_CARGOSOFT));
+                zahlungsAvis.setItemValue(ITEM_CDTR_NAME, document.getItemValue(ITEM_CDTR_NAME));
+                zahlungsAvis.setItemValue(ITEM_CDTR_NUMBER, document.getItemValue(ITEM_CDTR_NUMBER));
+                zahlungsAvis.setItemValue(ITEM_CDTR_NAME_CARGOSOFT, document.getItemValue(ITEM_CDTR_NAME_CARGOSOFT));
             } else {
                 // zahlungsavis speichern
                 zahlungsAvis.event(100);
             }
             // Invoice mit zahlungsavis verknüpften (falls noch nicht verknüpft)
-            zahlungsAvis.appendItemValueUnique("$workitemref", invoice.getUniqueID());
+            zahlungsAvis.appendItemValueUnique("$workitemref", document.getUniqueID());
             workflowService.processWorkItem(zahlungsAvis);
 
         } catch (QueryException | AccessDeniedException | ProcessingErrorException | ModelException e1) {
@@ -79,8 +93,6 @@ public class ZahlungsavisAdapter implements SignalAdapter {
                     "Es konnte kein Zahlungsavis zugewiesen werden: " + e1.getMessage());
 
         }
-
-        return invoice;
     }
 
     /**
diff --git a/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/ZahlungsavisExportAdapter.java b/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/ZahlungsavisExportAdapter.java
new file mode 100644
index 0000000..f3240e2
--- /dev/null
+++ b/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/ZahlungsavisExportAdapter.java
@@ -0,0 +1,131 @@
+package com.alexanderlogistics;
+
+import java.util.Collection;
+import java.util.logging.Logger;
+
+import javax.inject.Inject;
+
+import org.imixs.workflow.FileData;
+import org.imixs.workflow.ItemCollection;
+import org.imixs.workflow.SignalAdapter;
+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;
+
+/**
+ * Der ZahlungsavisAdapter importiert eine Excel Datei aus einem Textblock
+ * 
+ * 
+ * {@code
+        textblock-ref
+        filename
+   }
+ * 
+ *

+ * + * @version 1.0 + * @author rsoika + */ +public class ZahlungsavisExportAdapter implements SignalAdapter { + + private static Logger logger = Logger.getLogger(ZahlungsavisExportAdapter.class.getName()); + + public static final String ERROR_CONFIG = "CONFIG_ERROR"; + final String TYPE_TEXTBLOCK = "textblock"; + + @Inject + WorkflowService workflowService; + + @Inject + DocumentService documentService; + + /** + * This method finds or create the Zahlungsavis and adds a reference + * ($workitemref) to the current invoice. + * + * @throws PluginException + */ + @Override + public ItemCollection execute(ItemCollection document, ItemCollection event) + throws AdapterException, PluginException { + + // read the zahlungsavis options + ItemCollection evalItemCollection = workflowService.evalWorkflowResult(event, "zahlungsavis", document, false); + if (evalItemCollection == null) { + throw new PluginException(ZahlungsavisExportAdapter.class.getSimpleName(), ERROR_CONFIG, + "missing zahlungsavis configuration in model event - please check model configuration"); + } + String textblock = evalItemCollection.getItemValueString("textblock"); + String template = evalItemCollection.getItemValueString("template"); + + appendExcelTemplate(document, textblock, template); + + return document; + } + + /** + * 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) + throws PluginException { + + if ((template == null || template.isEmpty()) || (textblockRef == null || textblockRef.isEmpty())) { + throw new PluginException(ZahlungsavisExportAdapter.class.getSimpleName(), ERROR_CONFIG, + "invalid zahlungsavis configuration in model event - textblock/template reference not defined!"); + } + + // load the text block + FileData fileData = null; + ItemCollection textBlockItemCollection = loadTextBlock(textblockRef); + if (textBlockItemCollection != null) { + // fetch attachment + fileData = textBlockItemCollection.getFileData(template); + } + + // do we found the document? + if (fileData == null) { + throw new PluginException(ZahlungsavisExportAdapter.class.getSimpleName(), ERROR_CONFIG, + "invalid zahlungsavis configuration in model event - template=" + template + " not found!"); + } + + // append document + logger.info("...append new Zahlugnsavis Template: " + template); + document.addFileData(fileData); + + } + + /** + * This method returns a text-block ItemCollection for a specified name. + * + * @param name in attribute txtname + * + * + */ + public ItemCollection loadTextBlock(String name) { + ItemCollection textBlockItemCollection = null; + + // load text-block by name.... + String sQuery = "(type:\"" + TYPE_TEXTBLOCK + "\" AND txtname:\"" + name + "\")"; + Collection col; + try { + col = documentService.find(sQuery, 1, 0); + + if (col.size() > 0) { + textBlockItemCollection = col.iterator().next(); + } else { + logger.warning("Missing text-block : '" + name + "'"); + } + } catch (QueryException e) { + logger.warning("getTextBlock - invalid query: " + e.getMessage()); + } + + return textBlockItemCollection; + } + +} \ No newline at end of file diff --git a/reports/zahlungsavis/zahlungsavis_template.xls b/reports/zahlungsavis/zahlungsavis_template.xls new file mode 100644 index 0000000000000000000000000000000000000000..ee512eb21e70a2ac1c2455a4ab59cd54b2a8486a GIT binary patch literal 56832 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 b<-lV=a5%Hl9{5m)u^nY$oZ-*^7sr1C!_;_n literal 0 HcmV?d00001 diff --git a/workflow/rechnungseingang-de-1.2.17.bpmn b/workflow/rechnungseingang-de-1.2.17.bpmn index c65dae5..0fb182f 100644 --- a/workflow/rechnungseingang-de-1.2.17.bpmn +++ b/workflow/rechnungseingang-de-1.2.17.bpmn @@ -46,7 +46,7 @@ - + @@ -5626,6 +5626,11 @@ result.isValid=true; + + + + + SequenceFlow_119 diff --git a/workflow/zahlungsavis-1.0.0.bpmn b/workflow/zahlungsavis-1.0.0.bpmn index a7ce928..c7ce522 100644 --- a/workflow/zahlungsavis-1.0.0.bpmn +++ b/workflow/zahlungsavis-1.0.0.bpmn @@ -30,6 +30,7 @@ + - home]]> + Zahlugnsavis Template + zahlungsavis_template.xls]]> @@ -342,6 +344,14 @@ result.isValid=true; SequenceFlow_8 SequenceFlow_2 + + + DataOutput_1 + + + DataOutput_1 + +