diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..757424a --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,16 @@ +// If one would like to add/remove/modify user preferences without modifying the content of the +// workspace settings file, then one would need to modify the `settings.json` under here: +// - Windows: %APPDATA%\Code\User\settings.json +// - Linux: $HOME/.config/Code/User/settings.json +// - Mac: $HOME/Library/Application Support/Code/User/settings.json +{ + "editor.formatOnSave": true, + "editor.codeActionsOnSave": { + "source.organizeImports": true + }, + "java.checkstyle.version": "8.44", + "java.checkstyle.autocheck": true, + "java.checkstyle.configuration": "https://raw.githubusercontent.com/imixs/imixs-workflow/master/imixs-checkstyle-8.44.xml", + "java.configuration.updateBuildConfiguration": "automatic" + } + \ No newline at end of file diff --git a/hotdeploy.sh b/hotdeploy.sh new file mode 100755 index 0000000..f11b218 --- /dev/null +++ b/hotdeploy.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +############################################################ +# Setup hotdeploy +# +############################################################ + +cd office-alexander-logistics-app +mvn manik-hotdeploy:hotdeploy + +cd .. \ No newline at end of file diff --git a/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/InvoiceOutgoingPlugin.java b/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/InvoiceOutgoingPlugin.java index 9ca5d8d..78ecc5b 100644 --- a/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/InvoiceOutgoingPlugin.java +++ b/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/InvoiceOutgoingPlugin.java @@ -9,6 +9,7 @@ import org.imixs.workflow.exceptions.PluginException; /** * Das InvoiceOutgoingPlugin aktualisiert die Debitor E-Mail Adresse * + * Auch das feld _img wird in Abhängigkeit vom item 'invoice.protest' gesetzt * * @author rsoika * @version 1.0 @@ -33,6 +34,12 @@ public class InvoiceOutgoingPlugin extends AbstractPlugin { workitem.setItemValue("dbtr.mail", debitor.getItemValueString("cdtr.mail")); } + String img=""; + if (workitem.getItemValueBoolean("invoice.protest")) { + img = img + ""; + + } + workitem.setItemValue("_img", img); return workitem; } diff --git a/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/OPListController.java b/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/OPListController.java index 230224f..0a12a9c 100644 --- a/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/OPListController.java +++ b/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/OPListController.java @@ -43,11 +43,14 @@ public class OPListController implements Serializable { private static final long serialVersionUID = 1L; public static final int TASK_ERSTELLUNG = 1000; - + private static Logger logger = Logger.getLogger(OPListController.class.getName()); private String lastDbtrNumber = null; + private String currencyFilter = "-"; + private String lastCurrencyFilter = null; + private List invoiceList = null; @Inject @@ -65,7 +68,8 @@ public class OPListController implements Serializable { /** * Diese Methode wird für Zahlungseingänge und Mahnläufe verwendet. *

- * Die Methode liefert die Rechnungen zur gegebenen dbtrNumber. Die Methode nutzt + * Die Methode liefert die Rechnungen zur gegebenen dbtrNumber. Die Methode + * nutzt * einen lokalen cache um die Zugriffe zu beschleunigen. *

* Befindet sich ein Zahlungseingang in Erstellung (Task=1000) werden alle @@ -88,6 +92,9 @@ public class OPListController implements Serializable { */ @SuppressWarnings("unchecked") public List getInvoices(String _dbtrNumber) { + if (_dbtrNumber == null) { + return new ArrayList(); + } // Compute all open invoices if TASK_ERSTELLUNG.... if (workflowController.getWorkitem().getTaskID() == TASK_ERSTELLUNG) { @@ -99,12 +106,16 @@ public class OPListController implements Serializable { } // if last dbtr number is equal then return the current list.... - if (invoiceList != null && lastDbtrNumber != null && lastDbtrNumber.equals(_dbtrNumber)) { + if (invoiceList != null && // + lastDbtrNumber != null && lastDbtrNumber.equals(_dbtrNumber) && // + lastCurrencyFilter != null && lastCurrencyFilter.equals(currencyFilter) // + ) { return invoiceList; } // load new invoice list.... lastDbtrNumber = _dbtrNumber; + lastCurrencyFilter = currencyFilter; invoiceList = new ArrayList(); logger.info("....loading open Invoices for " + _dbtrNumber); @@ -115,12 +126,24 @@ public class OPListController implements Serializable { if (_dbtrNumber.startsWith("D")) { _dbtrNumber = _dbtrNumber.substring(1); } - // (type:workitem OR type:workitemarchive) - String query = "(type:workitem) AND ($modelversion:rechnungsausgang-*) AND (dbtr.number:" + _dbtrNumber - + ")"; try { - invoiceList = documentService.find(query, 999, 0, "invoice.number", false); + String query = "(type:workitem) AND ($modelversion:rechnungsausgang-*) AND (dbtr.number:" + _dbtrNumber + + ")"; + List invoiceListTemp = documentService.find(query, 999, 0, "invoice.number", false); + + // Jetzt nur noch die Rechnungen nehmen die zum ausgewählten Währungsfilter + // passen + invoiceList = new ArrayList(); + for (ItemCollection _invoice : invoiceListTemp) { + if (currencyFilter == null || currencyFilter.isEmpty() || currencyFilter.equals("-")) { + invoiceList.add(_invoice); + } else { + if (currencyFilter.equals(_invoice.getItemValueString("invoice.currency"))) { + invoiceList.add(_invoice); + } + } + } } catch (QueryException e) { logger.severe("Failed to get op liste:" + e.getMessage()); } @@ -152,11 +175,11 @@ public class OPListController implements Serializable { * Eine Ausnahme ist hier nur wenn jemand auf Speichern oder mahnen drückt * (Event = 10|20). Dann ändern wir die Liste nicht! * - * Hinweis: in der Liste befinden sich keine Inkasso Rechnungen, da man diese + * Hinweis: in der Liste befinden sich keine Inkasso Rechnungen, da man diese * nicht anwählen kann. */ if (workflowController.getWorkitem().getModelVersion().startsWith("mahnlauf")) { - + // wir selektieren hier immer alle fälligen Rechnungen vor falls wir aus // einer Rechnung mit dem Event 100 (Mahnlauf erstellen) kommen, oder // wenn der Mahnlauf von außen gerate eben neu erzeugt wurde @@ -189,9 +212,10 @@ public class OPListController implements Serializable { // finally we set the 'selection' item depending on the $workitemList // and the payment amount form the 'payment.details' - if (invoiceList!=null) { + if (invoiceList != null) { List selection = workflowController.getWorkitem().getItemValue("$workitemref"); - List paymentList = zahlungseingangService.loadPaymentDetails(workflowController.getWorkitem()); + List paymentList = zahlungseingangService + .loadPaymentDetails(workflowController.getWorkitem()); for (ItemCollection invoice : invoiceList) { if (selection.contains(invoice.getUniqueID())) { invoice.setItemValue("selected", true); @@ -205,11 +229,10 @@ public class OPListController implements Serializable { } } } else { - // empty list + // empty list invoiceList = new ArrayList(); } - return invoiceList; } @@ -310,7 +333,7 @@ public class OPListController implements Serializable { double result = 0; for (ItemCollection invoice : invoiceList) { if (currency.equals(invoice.getItemValueString("invoice.currency"))) { - result = result + invoice.getItemValueDouble("invoice.total"); + result = result + invoice.getItemValueDouble("invoice.total"); } } // rond with 2 digits @@ -387,4 +410,11 @@ public class OPListController implements Serializable { return date.compareTo(LocalDate.now()) <= 0; } + public String getCurrencyFilter() { + return currencyFilter; + } + + public void setCurrencyFilter(String currencyFilter) { + this.currencyFilter = currencyFilter; + } } diff --git a/office-alexander-logistics-app/src/main/webapp/pages/workitems/forms/alexander/section_opliste_mahnlauf.xhtml b/office-alexander-logistics-app/src/main/webapp/pages/workitems/forms/alexander/section_opliste_mahnlauf.xhtml index 7517651..b4fbe68 100644 --- a/office-alexander-logistics-app/src/main/webapp/pages/workitems/forms/alexander/section_opliste_mahnlauf.xhtml +++ b/office-alexander-logistics-app/src/main/webapp/pages/workitems/forms/alexander/section_opliste_mahnlauf.xhtml @@ -16,6 +16,14 @@ + + + + + + + + @@ -36,7 +44,11 @@ + + + + +
#{message['form.invoicenumber']} #{invoice.item['invoice.number']} - diff --git a/workflow/rechnungsausgang-de-1.0.5.bpmn b/workflow/rechnungsausgang-de-1.0.5.bpmn new file mode 100644 index 0000000..b52fc4b --- /dev/null +++ b/workflow/rechnungsausgang-de-1.0.5.bpmn @@ -0,0 +1,3875 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +<itemvalue>$workflowstatus</itemvalue> + +]]> + + + In case you have already made the payment, please disregard this notice. If you require any information regarding your account, please do not hesitate to contact us.

+

Thank you for your cooperation.

+

 

+

Kind regards
Alexander Global Logistics GmbH

+ +]]>
+
+ + + + + + + + + + + + Task_2 + ExclusiveGateway_1 + StartEvent_1 + IntermediateCatchEvent_6 + EventBasedGateway_1 + IntermediateCatchEvent_13 + IntermediateThrowEvent_11 + IntermediateThrowEvent_8 + IntermediateCatchEvent_1 + IntermediateCatchEvent_5000-20 + Task_8 + Task_6 + Task_5 + IntermediateCatchEvent_23 + IntermediateCatchEvent_27 + EndEvent_1 + EndEvent_3 + EndEvent_2 + IntermediateCatchEvent_3 + ExclusiveGateway_5 + IntermediateCatchEvent_18 + IntermediateCatchEvent_17 + IntermediateCatchEvent_2 + IntermediateCatchEvent_5 + + + + IntermediateCatchEvent_22 + Task_7 + Task_1 + IntermediateThrowEvent_12 + Task_3 + IntermediateCatchEvent_4 + EventBasedGateway_3 + EventBasedGateway_4 + IntermediateThrowEvent_1 + IntermediateCatchEvent_29 + IntermediateCatchEvent_9 + IntermediateCatchEvent_21 + Task_4 + IntermediateCatchEvent_14 + ExclusiveGateway_3 + IntermediateThrowEvent_6 + IntermediateCatchEvent_20 + IntermediateCatchEvent_10 + ExclusiveGateway_4 + IntermediateCatchEvent_15 + IntermediateCatchEvent_19 + IntermediateCatchEvent_8 + IntermediateCatchEvent_25 + EventBasedGateway_5 + IntermediateCatchEvent_5005-10 + IntermediateCatchEvent_28 + IntermediateThrowEvent_10 + IntermediateCatchEvent_11 + IntermediateCatchEvent_24 + IntermediateCatchEvent_26 + IntermediateThrowEvent_9 + Task_5005 + IntermediateThrowEvent_7 + IntermediateThrowEvent_4 + IntermediateThrowEvent_5 + IntermediateCatchEvent_16 + + task_Y7VnSQ + event_hICMqQ + task_t0lAhQ + event_OzrjzA + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + home]]> + + + + + + + + + + + + false + + + + + + + + + + + + + + + + + + + SequenceFlow_22 + SequenceFlow_27 + + + + SequenceFlow_0 + SequenceFlow_21 + SequenceFlow_20 + SequenceFlow_33 + + + + + + + SequenceFlow_0 + + + + + + + + + + + + txtlastcomment]]> + + + + + + + + + _imginvoice.number dbtr.number dbtr.name (invoice.currency invoice.total) ]]> + + + true + + + + + + + + + + + + + $workflowgroup - $workflowstatus]]> + SequenceFlow_38 + SequenceFlow_36 + SequenceFlow_24 + sequenceFlow_IKuaHQ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ]]> + + + + + + + + + + + + false + + + + SequenceFlow_38 + + + + + + + + + + + txtlastcomment]]> + + + + + + + + + _imginvoice.number dbtr.number dbtr.name (invoice.currency invoice.total) ]]> + + + true + + + + + + + + + + + + + + + $workflowgroup - $workflowstatus]]> + SequenceFlow_33 + SequenceFlow_14 + SequenceFlow_15 + SequenceFlow_39 + SequenceFlow_37 + SequenceFlow_22 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ]]> + + + + + + + + + + + + false + + + + + SequenceFlow_20 + + + + + + + + + + + txtlastcomment]]> + + + + + + + + + _imginvoice.number dbtr.number dbtr.name (invoice.currency invoice.total) ]]> + + + true + + + + + + + + + + + + + + + $workflowgroup - $workflowstatus]]> + SequenceFlow_52 + SequenceFlow_11 + SequenceFlow_47 + + + SequenceFlow_47 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Mahnwesen]]> + + + + + + + + + + + + false + + + + SequenceFlow_21 + + + + + + + + + + + + + txtlastcomment]]> + + + + + + + + + _imginvoice.number dbtr.number dbtr.name (invoice.currency invoice.total) ]]> + + + true + + + + + + + + + + + + + + $workflowgroup - $workflowstatus]]> + SequenceFlow_27 + SequenceFlow_4 + SequenceFlow_18 + SequenceFlow_35 + SequenceFlow_34 + + + + + + + + txtlastcomment]]> + + + + + + + + + _imginvoice.number dbtr.number dbtr.name (invoice.currency invoice.total) ]]> + + + true + + + + + + + + + + + + + + + $workflowgroup - $workflowstatus]]> + SequenceFlow_59 + SequenceFlow_31 + SequenceFlow_1 + SequenceFlow_44 + SequenceFlow_69 + + + SequenceFlow_61 + + + + SequenceFlow_39 + SequenceFlow_17 + SequenceFlow_65 + SequenceFlow_13 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ]]> + + + + + + + + + + + + false + + + + SequenceFlow_52 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ]]> + + + + + + + + + + + + false + + + + SequenceFlow_59 + + + + + + + + txtlastcomment]]> + + + + + + + + + _imginvoice.number dbtr.number dbtr.name (invoice.currency invoice.total) ]]> + + + true + + + + + + + + + + + + + $workflowgroup - $workflowstatus]]> + SequenceFlow_3 + SequenceFlow_29 + SequenceFlow_68 + sequenceFlow_1KoKlw + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ]]> + + + + + + + + + + + + false + + + + SequenceFlow_3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + mahnlauf-de-1.0 +1000 +100 +/pages/workitems/workitem.jsf?id=dunning.ref +]]> + + + + + + + + + + + + false + + + + + + + + + + + + SequenceFlow_4 + + + DataOutput_1 + + + DataOutput_1 + + + + + SequenceFlow_18 + SequenceFlow_25 + SequenceFlow_64 + SequenceFlow_9 + + + + + + + + + + + + cdtr.name invoice.number]]> + + + + + + + + + cdtr.name +Rechnungsnummer: invoice.number +Betrag: invoice.total invoice.currency + + +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 +2. Dunning +]]> + + + + + + + + + + + + false + + + + + + + + SequenceFlow_67 + SequenceFlow_29 + + + + + + + + + + + + + + + + cdtr.name invoice.number]]> + + + + + + + + + cdtr.name +Rechnungsnummer: invoice.number +Betrag: invoice.total invoice.currency + + +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 +Last Dunning]]> + + + + + + + + + + + + false + + + + + + + + SequenceFlow_30 + SequenceFlow_31 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ]]> + + + + + + + + + + + + false + + + + + + + SequenceFlow_42 + SequenceFlow_8 + + + + + + + + + + SequenceFlow_42 + + + + + SequenceFlow_50 + + + + + + + + SequenceFlow_7 + + + + + + + + SequenceFlow_8 + SequenceFlow_10 + SequenceFlow_12 + + + + + + + + + invoice.saldo]]> + + + + + + SequenceFlow_10 + SequenceFlow_11 + + + + (parseFloat(workitem['invoice.saldo'][0]) == parseFloat('0.0')) + + + + + + + + + invoice.saldo]]> + + + + + + SequenceFlow_12 + SequenceFlow_14 + + + + + + + + + + SequenceFlow_16 + + + + + + + + SequenceFlow_17 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + home]]> + + + + + + + + + + + + false + + + + + SequenceFlow_34 + SequenceFlow_15 + + + + + + SequenceFlow_25 + + + + + + + + + + + + + + + + + + + cdtr.name invoice.number]]> + + + + + + + + + cdtr.name +Rechnungsnummer: invoice.number +Betrag: invoice.total invoice.currency + + +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + 7 +1. Dunning + +]]> + + + + + + + + + + + + false + + + + + + + + SequenceFlow_35 + SequenceFlow_37 + SequenceFlow_36 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + mahnlauf-de-1.0 +1000 +100 +/pages/workitems/workitem.jsf?id=dunning.ref +]]> + + + + + + + + + + + + false + + + + + + + + + + + + SequenceFlow_41 + + + DataOutput_3 + + + DataOutput_3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + mahnlauf-de-1.0 +1000 +100 +/pages/workitems/workitem.jsf?id=dunning.ref +]]> + + + + + + + + + + + + false + + + + + + + + + + + + + + DataOutput_4 + + + DataOutput_4 + + + sequenceFlow_ZD07Xw + + + + + + + + cdtr.name invoice.number]]> + + + + + + + + + cdtr.name +Rechnungsnummer: invoice.number +Betrag: invoice.total invoice.currency + + +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + 5]]> + + + + + + + + + + + + false + + + + + + + + SequenceFlow_1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + home +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sequenceFlow_IKuaHQ + sequenceFlow_U0JMVg + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + home +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sequenceFlow_1KoKlw + sequenceFlow_KaO3rw + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + home + + invoice.reminder + @daily +]]> + + + + + + + + + + + + true + + + + + + + + + + + + + + + + + + + SequenceFlow_44 + + + + + + + + + + + + txtlastcomment]]> + + + + + + + + + _imginvoice.number dbtr.number dbtr.name (invoice.currency invoice.total) ]]> + + + true + + + + + + + + + + + + + + + $workflowgroup - $workflowstatus]]> + SequenceFlow_49 + SequenceFlow_53 + SequenceFlow_57 + SequenceFlow_54 + + + + + Wollen Sie den Vorgang wirklich an Inkasso leiten? +/pages/workitems/workitem.jsf?id=debtcollection.ref]]> + + + + + + + + + SequenceFlow_40 + SequenceFlow_49 + + + DataOutput_5 + + + DataOutput_5 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ]]> + + + + + + + + + + + + false + + + + SequenceFlow_53 + + + + + + + + + + + txtlastcomment]]> + + + + + + + + + _imginvoice.number dbtr.number dbtr.name (invoice.currency invoice.total) ]]> + + + true + + + + + + + + + + + + + + + $workflowgroup - $workflowstatus]]> + SequenceFlow_60 + SequenceFlow_61 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ]]> + + + + + + + + + + + + false + + + + + + + SequenceFlow_54 + SequenceFlow_55 + + + + SequenceFlow_55 + SequenceFlow_56 + SequenceFlow_58 + + + + + + invoice.saldo]]> + + + + + + SequenceFlow_58 + SequenceFlow_60 + + + + + + invoice.saldo]]> + + + + + + SequenceFlow_56 + SequenceFlow_57 + + + + + + + + + + + + + + + + (parseFloat(workitem['invoice.saldo'][0]) == parseFloat('0.0')) + + + + + + + + + + SequenceFlow_40 + + + + + + + + SequenceFlow_62 + + + + + + + + SequenceFlow_63 + + + + + + + + SequenceFlow_64 + + + + + + + + SequenceFlow_65 + + + + + + + + SequenceFlow_24 + SequenceFlow_50 + SequenceFlow_63 + SequenceFlow_67 + + sequenceFlow_Z2zL5g + + + + + + SequenceFlow_68 + SequenceFlow_30 + SequenceFlow_7 + SequenceFlow_62 + + sequenceFlow_i1zqtw + + + + + + SequenceFlow_69 + SequenceFlow_16 + SequenceFlow_70 + + + + + + + SequenceFlow_70 + + + + + + + + + + + + + + + + _subject]]> + + + + + + + + + _amount (Brutto € _amount_brutto) +_description]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + home]]> + + + + + + + + + + + + false + + + + + + + SequenceFlow_9 + SequenceFlow_13 + SequenceFlow_5 + + + + + + + + + + + + + + + + + txtlastcomment]]> + + + + + + + + + _imginvoice.number dbtr.number dbtr.name (invoice.currency invoice.total) ]]> + + + true + + + + + + + + + + + + + + + $workflowgroup - $workflowstatus]]> + SequenceFlow_5 + SequenceFlow_19 + + + SequenceFlow_19 + + + + + + + + + + + + + Trigger über ZahlungseingangsSaldoAdapter + + + + + + + Triggered by MahnlaufExecuteAdapter + +Wiedervorlage wird um 7 bzw. 5 Tage erhöht + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + txtlastcomment]]> + + + + + + + + + _imginvoice.number dbtr.number dbtr.name (invoice.currency invoice.total) ]]> + + + + + + + + + + + + + + + + + + + + + + + + $workflowgroup - $workflowstatus]]> + SequenceFlow_38 + SequenceFlow_36 + SequenceFlow_41 + SequenceFlow_2 + SequenceFlow_24 + sequenceFlow_U0JMVg + sequenceFlow_Z2zL5g + SequenceFlow_41 + sequenceFlow_30tT9w + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ]]> + + + + + + + + + + + + false + + + + SequenceFlow_38 + sequenceFlow_30tT9w + + + + + + + + txtlastcomment]]> + + + + + + + + + _imginvoice.number dbtr.number dbtr.name (invoice.currency invoice.total) ]]> + + + + + + + + + + + + + + + + + + + + + + + + $workflowgroup - $workflowstatus]]> + SequenceFlow_3 + SequenceFlow_29 + SequenceFlow_6 + SequenceFlow_68 + sequenceFlow_KaO3rw + sequenceFlow_i1zqtw + sequenceFlow_Giue7g + sequenceFlow_ZD07Xw + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ]]> + + + + + + + + + + + + false + + + + SequenceFlow_3 + sequenceFlow_Giue7g + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +