update Businesspartners
This commit is contained in:
parent
0b20c10c0a
commit
0d5aa41e4d
12 changed files with 2369 additions and 16740 deletions
|
|
@ -90,20 +90,20 @@ services:
|
||||||
###############################################
|
###############################################
|
||||||
# Imixs-Admin
|
# Imixs-Admin
|
||||||
###############################################
|
###############################################
|
||||||
# imixsadmin:
|
imixsadmin:
|
||||||
# image: imixs/imixs-admin
|
image: imixs/imixs-admin
|
||||||
# ports:
|
ports:
|
||||||
# - "8888:8080"
|
- "8888:8080"
|
||||||
|
|
||||||
###############################################
|
###############################################
|
||||||
# Mailgateway
|
# Mailgateway
|
||||||
###############################################
|
###############################################
|
||||||
# mailgateway:
|
mailgateway:
|
||||||
# image: imixs/exim4
|
image: imixs/exim4
|
||||||
# environment:
|
environment:
|
||||||
# EXIM_SMARTHOST: "www149.your-server.de:25"
|
EXIM_SMARTHOST: "www149.your-server.de:25"
|
||||||
# EXIM_PASSWORD: "www149.your-server.de:webmaster@imixs.com:$MAILPASSWORD"
|
EXIM_PASSWORD: "www149.your-server.de:webmaster@imixs.com:$MAILPASSWORD"
|
||||||
# EXIM_ALLOWED_SENDERS: "10.0.0.0/8:172.18.0.0/12:192.168.0.0/16"
|
EXIM_ALLOWED_SENDERS: "10.0.0.0/8:172.18.0.0/12:192.168.0.0/16"
|
||||||
|
|
||||||
# prometheus:
|
# prometheus:
|
||||||
# image: prom/prometheus:latest
|
# image: prom/prometheus:latest
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,8 @@
|
||||||
package com.alexanderlogistics;
|
package com.alexanderlogistics;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
import org.imixs.workflow.ItemCollection;
|
import org.imixs.workflow.ItemCollection;
|
||||||
|
|
@ -9,6 +11,8 @@ import org.imixs.workflow.exceptions.AdapterException;
|
||||||
import org.imixs.workflow.exceptions.PluginException;
|
import org.imixs.workflow.exceptions.PluginException;
|
||||||
import org.imixs.workflow.faces.util.ResourceBundleHandler;
|
import org.imixs.workflow.faces.util.ResourceBundleHandler;
|
||||||
|
|
||||||
|
import com.alexanderlogistics.mahnlauf.MahnlaufService;
|
||||||
|
|
||||||
import jakarta.inject.Inject;
|
import jakarta.inject.Inject;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -35,6 +39,9 @@ public class ZahlungseingangSaldoAdapter implements SignalAdapter {
|
||||||
@Inject
|
@Inject
|
||||||
ZahlungseingangService zahlungseingangService;
|
ZahlungseingangService zahlungseingangService;
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
BusinessPartnerService businessPartnerService;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
InvoiceService invoiceService;
|
InvoiceService invoiceService;
|
||||||
|
|
||||||
|
|
@ -53,6 +60,13 @@ public class ZahlungseingangSaldoAdapter implements SignalAdapter {
|
||||||
|
|
||||||
updateSaldo(document);
|
updateSaldo(document);
|
||||||
|
|
||||||
|
// Update Debitor E-Mail
|
||||||
|
String bpid = InvoiceUtil.buildBPID(document.getItemValueString("dbtr.number"));
|
||||||
|
ItemCollection dbtrItemCol = businessPartnerService.getBusinessPartnerByID(bpid);
|
||||||
|
if (dbtrItemCol != null) {
|
||||||
|
document.setItemValue(MahnlaufService.ITEM_DBTR_EMAIL, dbtrItemCol.getItemValue("dbtr.email"));
|
||||||
|
}
|
||||||
|
|
||||||
return document;
|
return document;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -71,7 +85,8 @@ public class ZahlungseingangSaldoAdapter implements SignalAdapter {
|
||||||
String paymentWarning = workitem.getItemValueString("payment.warning");
|
String paymentWarning = workitem.getItemValueString("payment.warning");
|
||||||
|
|
||||||
List<ItemCollection> paymentDetails = zahlungseingangService.loadPaymentDetails(workitem);
|
List<ItemCollection> paymentDetails = zahlungseingangService.loadPaymentDetails(workitem);
|
||||||
|
// get all Invoices of this Mahnlauf
|
||||||
|
List<Map<String, List<Object>>> invoiceList = new ArrayList<Map<String, List<Object>>>();
|
||||||
if (paymentDetails.size() == 0) {
|
if (paymentDetails.size() == 0) {
|
||||||
throw new PluginException(PluginException.class.getName(),
|
throw new PluginException(PluginException.class.getName(),
|
||||||
ZahlungseingangService.ERROR_PAYMENT_BOOKING_FAILED,
|
ZahlungseingangService.ERROR_PAYMENT_BOOKING_FAILED,
|
||||||
|
|
@ -166,12 +181,33 @@ public class ZahlungseingangSaldoAdapter implements SignalAdapter {
|
||||||
invoice.event(ZahlungseingangService.EVENT_UPDATE_INVOICE);
|
invoice.event(ZahlungseingangService.EVENT_UPDATE_INVOICE);
|
||||||
zahlungseingangService.processInvoice(invoice);
|
zahlungseingangService.processInvoice(invoice);
|
||||||
|
|
||||||
|
// create a workitem stub for the mail message
|
||||||
|
ItemCollection invoiceStub = new ItemCollection();
|
||||||
|
invoiceStub.setItemValue("invoice.number", invoice.getItemValue("invoice.number"));
|
||||||
|
invoiceStub.setItemValue("invoice.total", invoice.getItemValue("invoice.total"));
|
||||||
|
invoiceStub.setItemValue("invoice.saldo", invoice.getItemValue("invoice.saldo"));
|
||||||
|
invoiceStub.setItemValue("payment.amount", invoicePaymentAmount);
|
||||||
|
invoiceStub.setItemValue("invoice.currency", invoice.getItemValue("invoice.currency"));
|
||||||
|
invoiceStub.setItemValue("invoice.date", invoice.getItemValue("invoice.date"));
|
||||||
|
invoiceStub.setItemValue("invoice.duedate", invoice.getItemValue("invoice.duedate"));
|
||||||
|
invoiceStub.setItemValue("$workflowstatus", invoice.getItemValue("$workflowstatus"));
|
||||||
|
invoiceStub.setItemValue("$workflowsummary", invoice.getItemValue("$workflowsummary"));
|
||||||
|
// test if we have a international status translation..
|
||||||
|
if (!invoice.getItemValueString("workflowstatus_en").isEmpty()) {
|
||||||
|
invoiceStub.setItemValue("workflowstatus_en", invoice.getItemValue("workflowstatus_en"));
|
||||||
|
} else {
|
||||||
|
// default
|
||||||
|
invoiceStub.setItemValue("workflowstatus_en", invoice.getItemValue("$workflowstatus"));
|
||||||
|
}
|
||||||
|
invoiceList.add(invoiceStub.getAllItems());
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
throw new PluginException(PluginException.class.getName(),
|
throw new PluginException(PluginException.class.getName(),
|
||||||
ZahlungseingangService.ERROR_PAYMENT_BOOKING_FAILED, "Invoice not found!");
|
ZahlungseingangService.ERROR_PAYMENT_BOOKING_FAILED, "Invoice not found!");
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
workitem.replaceItemValue("payment.details.mail", invoiceList);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -65,7 +65,6 @@ import org.xml.sax.SAXException;
|
||||||
|
|
||||||
import com.alexanderlogistics.BusinessPartnerService;
|
import com.alexanderlogistics.BusinessPartnerService;
|
||||||
import com.alexanderlogistics.InvoiceUtil;
|
import com.alexanderlogistics.InvoiceUtil;
|
||||||
import com.alexanderlogistics.KreditorDebitorService;
|
|
||||||
import com.alexanderlogistics.mahnlauf.MahnlaufService;
|
import com.alexanderlogistics.mahnlauf.MahnlaufService;
|
||||||
import com.alexanderlogistics.xml.CargosoftXMLInvoiceImportService;
|
import com.alexanderlogistics.xml.CargosoftXMLInvoiceImportService;
|
||||||
|
|
||||||
|
|
@ -77,6 +76,7 @@ import jakarta.ws.rs.GET;
|
||||||
import jakarta.ws.rs.Path;
|
import jakarta.ws.rs.Path;
|
||||||
import jakarta.ws.rs.PathParam;
|
import jakarta.ws.rs.PathParam;
|
||||||
import jakarta.ws.rs.Produces;
|
import jakarta.ws.rs.Produces;
|
||||||
|
import jakarta.ws.rs.QueryParam;
|
||||||
import jakarta.ws.rs.core.MediaType;
|
import jakarta.ws.rs.core.MediaType;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -662,22 +662,22 @@ public class CargosoftMigrationRestService implements Serializable {
|
||||||
* @throws ModelException
|
* @throws ModelException
|
||||||
*/
|
*/
|
||||||
@GET
|
@GET
|
||||||
@Path("/bp-import")
|
@Path("/bp-sync")
|
||||||
@Produces({ MediaType.TEXT_PLAIN })
|
@Produces({ MediaType.TEXT_PLAIN })
|
||||||
public String importBusinessPartner()
|
public String syncBusinessPartner(@QueryParam("maxcount") int maxcount)
|
||||||
throws QueryException, AccessDeniedException, ProcessingErrorException, PluginException, ModelException {
|
throws QueryException, AccessDeniedException, ProcessingErrorException, PluginException, ModelException {
|
||||||
StringBuffer messageBuffer = new StringBuffer();
|
StringBuffer messageBuffer = new StringBuffer();
|
||||||
int MAX_COUNT = 1000;
|
if (maxcount <= 0) {
|
||||||
String query = "(type:" + KreditorDebitorService.TYPE_CARGOSOFTKREDITOR + ")";
|
maxcount = 100;
|
||||||
int updates = 0;
|
}
|
||||||
|
String query = "(type:cargosoftkreditor) AND ($modified:[20100130000000 TO 20250324200000])";
|
||||||
|
int syncs = 0;
|
||||||
long l = System.currentTimeMillis();
|
long l = System.currentTimeMillis();
|
||||||
int batchSize = 500;
|
int batchSize = 100;
|
||||||
int totalObjects = 0;
|
int totalObjects = 0;
|
||||||
log("├── Migrate " + KreditorDebitorService.TYPE_CARGOSOFTKREDITOR, messageBuffer);
|
log("├── sync business partner objects....", messageBuffer);
|
||||||
|
|
||||||
// Gesamtanzahl ermitteln
|
|
||||||
int totalCount = documentService.count(query);
|
int totalCount = documentService.count(query);
|
||||||
log("│ ├── found " + totalCount + " " + KreditorDebitorService.TYPE_CARGOSOFTKREDITOR + " entities ",
|
log("│ ├── found " + totalCount + " entities ",
|
||||||
messageBuffer);
|
messageBuffer);
|
||||||
|
|
||||||
// Berechne Anzahl der benötigten Pages
|
// Berechne Anzahl der benötigten Pages
|
||||||
|
|
@ -690,16 +690,16 @@ public class CargosoftMigrationRestService implements Serializable {
|
||||||
|
|
||||||
for (ItemCollection cargosoftItemCol : cargosoftDataList) {
|
for (ItemCollection cargosoftItemCol : cargosoftDataList) {
|
||||||
totalObjects++;
|
totalObjects++;
|
||||||
if (verifyBusinessPartner(cargosoftItemCol, messageBuffer)) {
|
if (syncBusinessPartner(cargosoftItemCol)) {
|
||||||
updates++;
|
syncs++;
|
||||||
}
|
}
|
||||||
if (updates >= MAX_COUNT)
|
if (syncs >= maxcount)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Fortschritt loggen
|
// Fortschritt loggen
|
||||||
log("│ ├── Processed page " + (pageIndex + 1) + " of " + totalPages +
|
log("│ ├── Processed page " + (pageIndex + 1) + " of " + totalPages +
|
||||||
" (" + updates + " total updates)", messageBuffer);
|
" (" + syncs + " total syncs)", messageBuffer);
|
||||||
// Optional: Kurze Pause nach jedem 5. Batch
|
// Optional: Kurze Pause nach jedem 5. Batch
|
||||||
try {
|
try {
|
||||||
Thread.sleep(100);
|
Thread.sleep(100);
|
||||||
|
|
@ -708,13 +708,13 @@ public class CargosoftMigrationRestService implements Serializable {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (updates >= MAX_COUNT)
|
if (syncs >= maxcount)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
}
|
}
|
||||||
long duration = System.currentTimeMillis() - l;
|
long duration = System.currentTimeMillis() - l;
|
||||||
double objectsPerSecond = totalObjects / (duration / 1000.0);
|
double objectsPerSecond = totalObjects / (duration / 1000.0);
|
||||||
log("├── Successfully imported " + updates + " business partner objects in " +
|
log("├── Successfully " + syncs + " business partner objects synced in " +
|
||||||
duration + "ms (" + String.format("%.1f", objectsPerSecond) + " objects/sec)", messageBuffer);
|
duration + "ms (" + String.format("%.1f", objectsPerSecond) + " objects/sec)", messageBuffer);
|
||||||
|
|
||||||
return messageBuffer.toString();
|
return messageBuffer.toString();
|
||||||
|
|
@ -728,18 +728,98 @@ public class CargosoftMigrationRestService implements Serializable {
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@TransactionAttribute(value = TransactionAttributeType.REQUIRES_NEW)
|
@TransactionAttribute(value = TransactionAttributeType.REQUIRES_NEW)
|
||||||
public boolean verifyBusinessPartner(ItemCollection cargosoftItemCol, StringBuffer messageBuffer) {
|
public boolean syncBusinessPartner(ItemCollection cargosoftItemCol) {
|
||||||
String vendorNummer = cargosoftItemCol.getItemValueString("_vendor_num");
|
String bpip = InvoiceUtil.buildBPID(cargosoftItemCol.getItemValueString("name"));
|
||||||
String bpID = InvoiceUtil.buildBPID(vendorNummer);
|
if (businessPartnerService.getBusinessPartnerByID(bpip) == null) {
|
||||||
ItemCollection businessPartner = businessPartnerService.getBusinessPartnerByID(bpID);
|
// not available so we save just the cargosoft entry once...
|
||||||
if (businessPartner == null) {
|
|
||||||
documentService.save(cargosoftItemCol);
|
documentService.save(cargosoftItemCol);
|
||||||
logger.finest("│ │ ├── import " + bpID);
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Dieser agent löscht einfach alle Businesspartner objekte. Wird eigentlich
|
||||||
|
* nicht mehr benötigt.
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
* @throws QueryException
|
||||||
|
* @throws AccessDeniedException
|
||||||
|
* @throws ProcessingErrorException
|
||||||
|
* @throws PluginException
|
||||||
|
* @throws ModelException
|
||||||
|
*/
|
||||||
|
@GET
|
||||||
|
@Path("/bp-delete")
|
||||||
|
@Produces({ MediaType.TEXT_PLAIN })
|
||||||
|
public String deleteBusinessPartner(@QueryParam("maxcount") int maxcount)
|
||||||
|
throws QueryException, AccessDeniedException, ProcessingErrorException, PluginException, ModelException {
|
||||||
|
StringBuffer messageBuffer = new StringBuffer();
|
||||||
|
|
||||||
|
String query = "(type:workitem) AND ($modelversion: businesspartner*) AND ($modified:[20210130000000 TO 20250324200000])";
|
||||||
|
int deletions = 0;
|
||||||
|
long l = System.currentTimeMillis();
|
||||||
|
int batchSize = 100;
|
||||||
|
int totalObjects = 0;
|
||||||
|
log("├── delete old business partner objects....", messageBuffer);
|
||||||
|
int totalCount = documentService.count(query);
|
||||||
|
log("│ ├── found " + totalCount + " entities ",
|
||||||
|
messageBuffer);
|
||||||
|
|
||||||
|
// Berechne Anzahl der benötigten Pages
|
||||||
|
int totalPages = (int) Math.ceil((double) totalCount / batchSize);
|
||||||
|
|
||||||
|
// Verarbeite Page für Page
|
||||||
|
for (int pageIndex = 0; pageIndex < totalPages; pageIndex++) {
|
||||||
|
|
||||||
|
List<ItemCollection> cargosoftDataList = documentService.find(query, batchSize, pageIndex);
|
||||||
|
|
||||||
|
for (ItemCollection cargosoftItemCol : cargosoftDataList) {
|
||||||
|
totalObjects++;
|
||||||
|
|
||||||
|
if (deleteBusinessPartner(cargosoftItemCol, messageBuffer)) {
|
||||||
|
deletions++;
|
||||||
|
}
|
||||||
|
if (deletions >= maxcount)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Fortschritt loggen
|
||||||
|
log("│ ├── Processed page " + (pageIndex + 1) + " of " + totalPages +
|
||||||
|
" (" + deletions + " total deletions)", messageBuffer);
|
||||||
|
// Optional: Kurze Pause nach jedem 5. Batch
|
||||||
|
try {
|
||||||
|
Thread.sleep(100);
|
||||||
|
} catch (InterruptedException e) {
|
||||||
|
// TODO Auto-generated catch block
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (deletions >= maxcount)
|
||||||
|
break;
|
||||||
|
|
||||||
|
}
|
||||||
|
long duration = System.currentTimeMillis() - l;
|
||||||
|
double objectsPerSecond = totalObjects / (duration / 1000.0);
|
||||||
|
log("├── Successfully " + deletions + " business partner objects deleted in " +
|
||||||
|
duration + "ms (" + String.format("%.1f", objectsPerSecond) + " objects/sec)", messageBuffer);
|
||||||
|
|
||||||
|
return messageBuffer.toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Hilfsmethode speichert eine cargoosft kreditor object...
|
||||||
|
*
|
||||||
|
* @param bpID
|
||||||
|
* @param messageBuffer
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@TransactionAttribute(value = TransactionAttributeType.REQUIRES_NEW)
|
||||||
|
public boolean deleteBusinessPartner(ItemCollection cargosoftItemCol, StringBuffer messageBuffer) {
|
||||||
|
documentService.remove(cargosoftItemCol);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Erzeugt einen XML Baum aus dem XML Raw Daten
|
* Erzeugt einen XML Baum aus dem XML Raw Daten
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -142,13 +142,13 @@ public class BusinessPartnerImportService {
|
||||||
businesspartner.setItemValue("partner.id", partnerID);
|
businesspartner.setItemValue("partner.id", partnerID);
|
||||||
if (isCreditor) {
|
if (isCreditor) {
|
||||||
businesspartner.setItemValue("cdtr.number", name);
|
businesspartner.setItemValue("cdtr.number", name);
|
||||||
if (businesspartner.isItemEmpty("cdtr.email")) {
|
if (businesspartner.isItemEmpty("cdtr.mail")) {
|
||||||
businesspartner.setItemValue("cdtr.email", importDoc.getItemValueString("_vendor_email"));
|
businesspartner.setItemValue("cdtr.mail", importDoc.getItemValueString("_vendor_email"));
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
businesspartner.setItemValue("dbtr.number", name);
|
businesspartner.setItemValue("dbtr.number", name);
|
||||||
if (businesspartner.isItemEmpty("dbtr.email")) {
|
if (businesspartner.isItemEmpty("dbtr.mail")) {
|
||||||
businesspartner.setItemValue("dbtr.email", importDoc.getItemValueString("_vendor_email"));
|
businesspartner.setItemValue("dbtr.mail", importDoc.getItemValueString("_vendor_email"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
businesspartner.setItemValue("partner.country", importDoc.getItemValueString("_vendor_country"));
|
businesspartner.setItemValue("partner.country", importDoc.getItemValueString("_vendor_country"));
|
||||||
|
|
@ -229,6 +229,7 @@ public class BusinessPartnerImportService {
|
||||||
for (ItemCollection oldData : oldList) {
|
for (ItemCollection oldData : oldList) {
|
||||||
if (!oldData.getItemValueString("cdtr.mail").isEmpty()) {
|
if (!oldData.getItemValueString("cdtr.mail").isEmpty()) {
|
||||||
businessPartner.setItemValue("cdtr.mail", oldData.getItemValue("cdtr.mail"));
|
businessPartner.setItemValue("cdtr.mail", oldData.getItemValue("cdtr.mail"));
|
||||||
|
businessPartner.setItemValue("dbtr.mail", oldData.getItemValue("cdtr.mail"));
|
||||||
}
|
}
|
||||||
if (!oldData.getItemValueString("cdtr.creditperiod").isEmpty()) {
|
if (!oldData.getItemValueString("cdtr.creditperiod").isEmpty()) {
|
||||||
businessPartner.setItemValue("cdtr.creditperiod", oldData.getItemValue("cdtr.creditperiod"));
|
businessPartner.setItemValue("cdtr.creditperiod", oldData.getItemValue("cdtr.creditperiod"));
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,129 @@
|
||||||
|
package org.imixs.workflow.office.journal;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.HashSet;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
|
import jakarta.persistence.CascadeType;
|
||||||
|
import jakarta.persistence.Column;
|
||||||
|
import jakarta.persistence.Entity;
|
||||||
|
import jakarta.persistence.GeneratedValue;
|
||||||
|
import jakarta.persistence.GenerationType;
|
||||||
|
import jakarta.persistence.Id;
|
||||||
|
import jakarta.persistence.OneToMany;
|
||||||
|
import jakarta.persistence.Table;
|
||||||
|
import jakarta.persistence.Temporal;
|
||||||
|
import jakarta.persistence.TemporalType;
|
||||||
|
|
||||||
|
@Entity
|
||||||
|
@Table(name = "journal_accounting")
|
||||||
|
public class JournalAccounting {
|
||||||
|
|
||||||
|
@Id
|
||||||
|
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
@Column(precision = 19, scale = 4, nullable = false)
|
||||||
|
private BigDecimal amount;
|
||||||
|
|
||||||
|
@Column()
|
||||||
|
private String reference;
|
||||||
|
|
||||||
|
@Temporal(TemporalType.DATE)
|
||||||
|
@Column(nullable = false)
|
||||||
|
private Date date;
|
||||||
|
|
||||||
|
@Column(nullable = false)
|
||||||
|
private String type;
|
||||||
|
|
||||||
|
@OneToMany(mappedBy = "journalAccounting", cascade = CascadeType.ALL, orphanRemoval = true)
|
||||||
|
private Set<JournalAccountingAttribute> attributes = new HashSet<>();
|
||||||
|
|
||||||
|
// Constructors
|
||||||
|
public JournalAccounting() {
|
||||||
|
}
|
||||||
|
|
||||||
|
public JournalAccounting(BigDecimal amount, String type, Date entryDate) {
|
||||||
|
this.amount = amount;
|
||||||
|
this.type = type;
|
||||||
|
this.date = entryDate;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Helper methods for attribute management
|
||||||
|
public void addAttribute(String key, String value) {
|
||||||
|
JournalAccountingAttribute attr = new JournalAccountingAttribute(this, key, value);
|
||||||
|
attributes.add(attr);
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getAttribute(String key) {
|
||||||
|
return attributes.stream()
|
||||||
|
.filter(a -> a.getKey().equals(key))
|
||||||
|
.map(JournalAccountingAttribute::getValue)
|
||||||
|
.findFirst()
|
||||||
|
.orElse(null);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void removeAttribute(String key) {
|
||||||
|
attributes.removeIf(attr -> attr.getKey().equals(key));
|
||||||
|
}
|
||||||
|
|
||||||
|
public Set<JournalAccountingAttribute> getAttributesByKey(String key) {
|
||||||
|
Set<JournalAccountingAttribute> result = new HashSet<>();
|
||||||
|
for (JournalAccountingAttribute attr : attributes) {
|
||||||
|
if (attr.getKey().equals(key)) {
|
||||||
|
result.add(attr);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getId() {
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setId(Long id) {
|
||||||
|
this.id = id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getAmount() {
|
||||||
|
return amount;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setAmount(BigDecimal amount) {
|
||||||
|
this.amount = amount;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getReference() {
|
||||||
|
return reference;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setReference(String businessProcessReference) {
|
||||||
|
this.reference = businessProcessReference;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Date getDate() {
|
||||||
|
return date;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDate(Date entryDate) {
|
||||||
|
this.date = entryDate;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getType() {
|
||||||
|
return type;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setType(String type) {
|
||||||
|
this.type = type;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Set<JournalAccountingAttribute> getAttributes() {
|
||||||
|
return attributes;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setAttributes(Set<JournalAccountingAttribute> attributes) {
|
||||||
|
this.attributes = attributes;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,95 @@
|
||||||
|
package org.imixs.workflow.office.journal;
|
||||||
|
|
||||||
|
import jakarta.persistence.Column;
|
||||||
|
import jakarta.persistence.Entity;
|
||||||
|
import jakarta.persistence.GeneratedValue;
|
||||||
|
import jakarta.persistence.GenerationType;
|
||||||
|
import jakarta.persistence.Id;
|
||||||
|
import jakarta.persistence.ManyToOne;
|
||||||
|
import jakarta.persistence.Table;
|
||||||
|
|
||||||
|
@Entity
|
||||||
|
@Table(name = "journal_accounting_attribute")
|
||||||
|
public class JournalAccountingAttribute {
|
||||||
|
|
||||||
|
@Id
|
||||||
|
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
@ManyToOne(optional = false)
|
||||||
|
private JournalAccounting journalAccounting;
|
||||||
|
|
||||||
|
@Column(nullable = false)
|
||||||
|
private String key;
|
||||||
|
|
||||||
|
@Column(nullable = false)
|
||||||
|
private String value;
|
||||||
|
|
||||||
|
// Constructors
|
||||||
|
public JournalAccountingAttribute() {
|
||||||
|
}
|
||||||
|
|
||||||
|
public JournalAccountingAttribute(JournalAccounting journalAccounting, String key, String value) {
|
||||||
|
this.journalAccounting = journalAccounting;
|
||||||
|
this.key = key;
|
||||||
|
this.value = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Standard getters and setters
|
||||||
|
public Long getId() {
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setId(Long id) {
|
||||||
|
this.id = id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public JournalAccounting getJournalAccounting() {
|
||||||
|
return journalAccounting;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setJournalAccounting(JournalAccounting journalAccounting) {
|
||||||
|
this.journalAccounting = journalAccounting;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getKey() {
|
||||||
|
return key;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setKey(String key) {
|
||||||
|
this.key = key;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getValue() {
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setValue(String value) {
|
||||||
|
this.value = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Equals and hashCode for proper collection behavior
|
||||||
|
@Override
|
||||||
|
public boolean equals(Object o) {
|
||||||
|
if (this == o)
|
||||||
|
return true;
|
||||||
|
if (o == null || getClass() != o.getClass())
|
||||||
|
return false;
|
||||||
|
|
||||||
|
JournalAccountingAttribute that = (JournalAccountingAttribute) o;
|
||||||
|
|
||||||
|
if (id != null ? !id.equals(that.id) : that.id != null)
|
||||||
|
return false;
|
||||||
|
if (!key.equals(that.key))
|
||||||
|
return false;
|
||||||
|
return value.equals(that.value);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int hashCode() {
|
||||||
|
int result = id != null ? id.hashCode() : 0;
|
||||||
|
result = 31 * result + key.hashCode();
|
||||||
|
result = 31 * result + value.hashCode();
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,204 @@
|
||||||
|
/*******************************************************************************
|
||||||
|
* Imixs Workflow
|
||||||
|
* Copyright (C) 2001, 2011 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
|
||||||
|
*
|
||||||
|
* Project:
|
||||||
|
* http://www.imixs.org
|
||||||
|
* http://java.net/projects/imixs-workflow
|
||||||
|
*
|
||||||
|
* Contributors:
|
||||||
|
* Imixs Software Solutions GmbH - initial API and implementation
|
||||||
|
* Ralph Soika - Software Developer
|
||||||
|
*******************************************************************************/
|
||||||
|
|
||||||
|
package org.imixs.workflow.office.journal;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.imixs.workflow.ItemCollection;
|
||||||
|
import org.imixs.workflow.exceptions.AccessDeniedException;
|
||||||
|
import org.imixs.workflow.faces.data.WorkflowEvent;
|
||||||
|
|
||||||
|
import com.alexanderlogistics.InvoiceUtil;
|
||||||
|
|
||||||
|
import jakarta.annotation.security.DeclareRoles;
|
||||||
|
import jakarta.annotation.security.RolesAllowed;
|
||||||
|
import jakarta.annotation.security.RunAs;
|
||||||
|
import jakarta.ejb.Stateless;
|
||||||
|
import jakarta.enterprise.event.Observes;
|
||||||
|
import jakarta.persistence.EntityManager;
|
||||||
|
import jakarta.persistence.PersistenceContext;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Der BusinessPartnerService stellt Methoden für den Zugriff auf Business
|
||||||
|
* Partner bereit.
|
||||||
|
*
|
||||||
|
* @author rsoika
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
@DeclareRoles({ "org.imixs.ACCESSLEVEL.NOACCESS", "org.imixs.ACCESSLEVEL.READERACCESS",
|
||||||
|
"org.imixs.ACCESSLEVEL.AUTHORACCESS", "org.imixs.ACCESSLEVEL.EDITORACCESS",
|
||||||
|
"org.imixs.ACCESSLEVEL.MANAGERACCESS" })
|
||||||
|
@RolesAllowed({ "org.imixs.ACCESSLEVEL.NOACCESS", "org.imixs.ACCESSLEVEL.READERACCESS",
|
||||||
|
"org.imixs.ACCESSLEVEL.AUTHORACCESS", "org.imixs.ACCESSLEVEL.EDITORACCESS",
|
||||||
|
"org.imixs.ACCESSLEVEL.MANAGERACCESS" })
|
||||||
|
@Stateless
|
||||||
|
@RunAs("org.imixs.ACCESSLEVEL.MANAGERACCESS")
|
||||||
|
public class JournalAccountingService {
|
||||||
|
|
||||||
|
@PersistenceContext(unitName = "org.imixs.workflow.jpa")
|
||||||
|
private EntityManager entityManager;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* WorkflowEvent listener to store an accounting entry
|
||||||
|
*
|
||||||
|
* Demo:
|
||||||
|
* invoice:
|
||||||
|
* http://localhost:8080/pages/workitems/workitem.xhtml?id=a6524e28-eb06-4a0d-ae2f-f0cac29b126f
|
||||||
|
* payment:
|
||||||
|
* http://localhost:8080/pages/workitems/workitem.xhtml?id=e2aa082f-7e61-4cbe-abc8-be06d1aacc3f
|
||||||
|
*
|
||||||
|
* @param workflowEvent
|
||||||
|
* @throws AccessDeniedException
|
||||||
|
*/
|
||||||
|
public void onWorkflowEvent(@Observes WorkflowEvent workflowEvent) throws AccessDeniedException {
|
||||||
|
|
||||||
|
ItemCollection workitem = workflowEvent.getWorkitem();
|
||||||
|
if (workitem == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (WorkflowEvent.WORKITEM_AFTER_PROCESS == workflowEvent.getEventType()) {
|
||||||
|
|
||||||
|
// create / update?
|
||||||
|
if (workitem.getModelVersion().startsWith("rechnungsausgang-")
|
||||||
|
|| workitem.getModelVersion().startsWith("rechnungsausgang-")) {
|
||||||
|
processInvoice(workitem);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Payment?
|
||||||
|
if (workitem.getModelVersion().startsWith("zahlungseingang-")) {
|
||||||
|
processPayment(workitem);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Process an invoice workitem - creates or updates accounting entry
|
||||||
|
*/
|
||||||
|
private void processInvoice(ItemCollection workitem) {
|
||||||
|
String businessProcessRef = workitem.getUniqueID();
|
||||||
|
|
||||||
|
// Try to find existing entry
|
||||||
|
JournalAccounting accounting = findAccountingEntryByBusinessRef(businessProcessRef,
|
||||||
|
workitem.getWorkflowGroup());
|
||||||
|
|
||||||
|
// Create new or update existing
|
||||||
|
if (accounting == null) {
|
||||||
|
accounting = new JournalAccounting();
|
||||||
|
accounting.setReference(businessProcessRef);
|
||||||
|
accounting.setType(workitem.getWorkflowGroup());
|
||||||
|
}
|
||||||
|
|
||||||
|
// Update/set values
|
||||||
|
accounting.setAmount(new BigDecimal(workitem.getItemValueDouble("invoice.total")));
|
||||||
|
accounting.setDate(workitem.getItemValueDate("invoice.date"));
|
||||||
|
|
||||||
|
// Update attributes
|
||||||
|
// Clear and add attributes (or use selective update if needed)
|
||||||
|
accounting.getAttributes().clear();
|
||||||
|
accounting.addAttribute("dbtr.name", workitem.getItemValueString("dbtr.name"));
|
||||||
|
accounting.addAttribute("dbtr.number", workitem.getItemValueString("dbtr.number"));
|
||||||
|
accounting.addAttribute("space.name", workitem.getItemValueString("space.name"));
|
||||||
|
// Add more attributes as needed
|
||||||
|
|
||||||
|
// Persist or merge
|
||||||
|
if (accounting.getId() == null) {
|
||||||
|
entityManager.persist(accounting);
|
||||||
|
} else {
|
||||||
|
entityManager.merge(accounting);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Process a payment workitem - creates entries and links to invoices
|
||||||
|
*/
|
||||||
|
private void processPayment(ItemCollection workitem) {
|
||||||
|
List<ItemCollection> paymentDetails = InvoiceUtil.explodeChildList(workitem, "payment.details");
|
||||||
|
|
||||||
|
for (ItemCollection payment : paymentDetails) {
|
||||||
|
String workitemRef = payment.getItemValueString("$uniqueid");
|
||||||
|
Double amount = payment.getItemValueDouble("payment.amount");
|
||||||
|
|
||||||
|
// Find existing payment entry or create new one
|
||||||
|
String paymentBusinessRef = workitem.getUniqueID() + "-" + workitemRef;
|
||||||
|
JournalAccounting accounting = findAccountingEntryByBusinessRef(paymentBusinessRef,
|
||||||
|
workitem.getWorkflowGroup());
|
||||||
|
|
||||||
|
if (accounting == null) {
|
||||||
|
accounting = new JournalAccounting();
|
||||||
|
accounting.setReference(paymentBusinessRef);
|
||||||
|
accounting.setType(workitem.getWorkflowGroup());
|
||||||
|
}
|
||||||
|
|
||||||
|
// Update payment values
|
||||||
|
accounting.setAmount(new BigDecimal(amount));
|
||||||
|
accounting.setDate(workitem.getItemValueDate("payment.date"));
|
||||||
|
|
||||||
|
// Update attributes
|
||||||
|
// Clear and add attributes (or use selective update if needed)
|
||||||
|
accounting.getAttributes().clear();
|
||||||
|
accounting.addAttribute("dbtr.name", workitem.getItemValueString("dbtr.name"));
|
||||||
|
accounting.addAttribute("dbtr.number", workitem.getItemValueString("dbtr.number"));
|
||||||
|
accounting.addAttribute("space.name", workitem.getItemValueString("space.name"));
|
||||||
|
// Add more attributes as needed
|
||||||
|
|
||||||
|
// Find the related invoice entry
|
||||||
|
JournalAccounting invoiceEntry = findAccountingEntryByBusinessRef(workitemRef, "Rechnungsausgang");
|
||||||
|
if (invoiceEntry != null) {
|
||||||
|
accounting.addAttribute("Invoice-Ref", invoiceEntry.getReference());
|
||||||
|
}
|
||||||
|
|
||||||
|
// Persist or merge
|
||||||
|
if (accounting.getId() == null) {
|
||||||
|
entityManager.persist(accounting);
|
||||||
|
} else {
|
||||||
|
entityManager.merge(accounting);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Find an accounting entry by its business process reference
|
||||||
|
*/
|
||||||
|
private JournalAccounting findAccountingEntryByBusinessRef(String businessProcessRef, String type) {
|
||||||
|
try {
|
||||||
|
return entityManager.createQuery(
|
||||||
|
"SELECT a FROM JournalAccounting a " +
|
||||||
|
"WHERE a.reference = :ref " +
|
||||||
|
"AND a.type = :type",
|
||||||
|
JournalAccounting.class)
|
||||||
|
.setParameter("ref", businessProcessRef)
|
||||||
|
.setParameter("type", type)
|
||||||
|
.getSingleResult();
|
||||||
|
} catch (Exception e) {
|
||||||
|
// No result found
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
File diff suppressed because it is too large
Load diff
|
|
@ -273,12 +273,12 @@
|
||||||
<imixs-form-section columns="1" label="Rechnungseingang ">
|
<imixs-form-section columns="1" label="Rechnungseingang ">
|
||||||
<item name="cdtr.number" type="text" span="2" readonly="true" label="Kreditoren Nr.:" />
|
<item name="cdtr.number" type="text" span="2" readonly="true" label="Kreditoren Nr.:" />
|
||||||
<item name="cdtr.creditperiod" type="text" span="4" readonly="false" label="Zahlungsziel (Tage):" />
|
<item name="cdtr.creditperiod" type="text" span="4" readonly="false" label="Zahlungsziel (Tage):" />
|
||||||
<item name="cdtr.email" type="textlist" span="6" readonly="false" label="E-Mail:" />
|
<item name="cdtr.mail" type="textlist" span="6" readonly="false" label="E-Mail:" />
|
||||||
</imixs-form-section>
|
</imixs-form-section>
|
||||||
<imixs-form-section columns="1" label="Rechnungsausgang ">
|
<imixs-form-section columns="1" label="Rechnungsausgang ">
|
||||||
<item name="dbtr.number" type="text" span="2" readonly="true" label="Debitoren Nr.:" />
|
<item name="dbtr.number" type="text" span="2" readonly="true" label="Debitoren Nr.:" />
|
||||||
<item name="dbtr.creditperiod" type="text" span="4" readonly="false" label="Zahlungsziel (Tage):" />
|
<item name="dbtr.creditperiod" type="text" span="4" readonly="false" label="Zahlungsziel (Tage):" />
|
||||||
<item name="dbtr.email" type="textlist" span="6" readonly="false" label="E-Mail SOA/Mahnungen:" />
|
<item name="dbtr.mail" type="textlist" span="6" readonly="false" label="E-Mail SOA/Mahnungen:" />
|
||||||
</imixs-form-section>
|
</imixs-form-section>
|
||||||
<imixs-form-section label="Banken" path="alexander/section_businesspartner_banklist" />
|
<imixs-form-section label="Banken" path="alexander/section_businesspartner_banklist" />
|
||||||
</imixs-subform>
|
</imixs-subform>
|
||||||
|
|
|
||||||
|
|
@ -273,12 +273,12 @@
|
||||||
<imixs-form-section columns="1" label="Rechnungseingang ">
|
<imixs-form-section columns="1" label="Rechnungseingang ">
|
||||||
<item name="cdtr.number" type="text" span="2" readonly="true" label="Kreditoren Nr.:" />
|
<item name="cdtr.number" type="text" span="2" readonly="true" label="Kreditoren Nr.:" />
|
||||||
<item name="cdtr.creditperiod" type="text" span="4" readonly="false" label="Zahlungsziel (Tage):" />
|
<item name="cdtr.creditperiod" type="text" span="4" readonly="false" label="Zahlungsziel (Tage):" />
|
||||||
<item name="cdtr.email" type="textlist" span="6" readonly="false" label="E-Mail:" />
|
<item name="cdtr.mail" type="textlist" span="6" readonly="false" label="E-Mail:" />
|
||||||
</imixs-form-section>
|
</imixs-form-section>
|
||||||
<imixs-form-section columns="1" label="Rechnungsausgang ">
|
<imixs-form-section columns="1" label="Rechnungsausgang ">
|
||||||
<item name="dbtr.number" type="text" span="2" readonly="true" label="Debitoren Nr.:" />
|
<item name="dbtr.number" type="text" span="2" readonly="true" label="Debitoren Nr.:" />
|
||||||
<item name="dbtr.creditperiod" type="text" span="4" readonly="false" label="Zahlungsziel (Tage):" />
|
<item name="dbtr.creditperiod" type="text" span="4" readonly="false" label="Zahlungsziel (Tage):" />
|
||||||
<item name="dbtr.email" type="textlist" span="6" readonly="false" label="E-Mail SOA/Mahnungen:" />
|
<item name="dbtr.mail" type="textlist" span="6" readonly="false" label="E-Mail SOA/Mahnungen:" />
|
||||||
</imixs-form-section>
|
</imixs-form-section>
|
||||||
<imixs-form-section label="Banken" path="alexander/section_businesspartner_banklist" />
|
<imixs-form-section label="Banken" path="alexander/section_businesspartner_banklist" />
|
||||||
</imixs-subform>
|
</imixs-subform>
|
||||||
|
|
|
||||||
744
workflow/cargosoft-export-1.0.4.bpmn
Normal file
744
workflow/cargosoft-export-1.0.4.bpmn
Normal file
|
|
@ -0,0 +1,744 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- origin at X=0.0 Y=0.0 --><bpmn2:definitions xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:imixs="http://www.imixs.org/bpmn2" xmlns:open-bpmn="http://open-bpmn.org/XMLSchema" xmlns:tl="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" exporter="org.eclipse.bpmn2.modeler.core" exporterVersion="1.5.4.RC1-v20220528-0836-B1" id="Definitions_1" targetNamespace="http://www.imixs.org/bpmn2">
|
||||||
|
<bpmn2:extensionElements>
|
||||||
|
<imixs:item name="txtworkflowmodelversion" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[cargosoft-export-1.0]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="txtfieldmapping" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[Prozess Team | process.team]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="txttimefieldmapping" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[Rechnungsdatum | invoice.date]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="txtplugins" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[org.imixs.workflow.engine.plugins.ResultPlugin]]></imixs:value>
|
||||||
|
<imixs:value><![CDATA[org.imixs.workflow.engine.plugins.RulePlugin]]></imixs:value>
|
||||||
|
<imixs:value><![CDATA[org.imixs.marty.profile.ProfilePlugin]]></imixs:value>
|
||||||
|
<imixs:value><![CDATA[org.imixs.marty.plugins.SequenceNumberPlugin]]></imixs:value>
|
||||||
|
<imixs:value><![CDATA[org.imixs.marty.team.TeamPlugin]]></imixs:value>
|
||||||
|
<imixs:value><![CDATA[org.imixs.marty.profile.DeputyPlugin]]></imixs:value>
|
||||||
|
<imixs:value><![CDATA[org.imixs.workflow.engine.plugins.OwnerPlugin]]></imixs:value>
|
||||||
|
<imixs:value><![CDATA[org.imixs.workflow.engine.plugins.HistoryPlugin]]></imixs:value>
|
||||||
|
<imixs:value><![CDATA[org.imixs.workflow.engine.plugins.LogPlugin]]></imixs:value>
|
||||||
|
<imixs:value><![CDATA[org.imixs.workflow.engine.plugins.ApplicationPlugin]]></imixs:value>
|
||||||
|
<imixs:value><![CDATA[org.imixs.marty.plugins.CommentPlugin]]></imixs:value>
|
||||||
|
<imixs:value><![CDATA[org.imixs.marty.profile.MailPlugin]]></imixs:value>
|
||||||
|
<imixs:value><![CDATA[org.imixs.workflow.engine.plugins.IntervalPlugin]]></imixs:value>
|
||||||
|
<imixs:value><![CDATA[org.imixs.workflow.engine.plugins.SplitAndJoinPlugin]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<open-bpmn:auto-align/>
|
||||||
|
</bpmn2:extensionElements>
|
||||||
|
<bpmn2:signal id="Signal_3" name="com.alexanderlogistics.CargosoftExportAdapter"/>
|
||||||
|
<bpmn2:message id="Message_2" name="Eskalation-Subject">
|
||||||
|
<bpmn2:documentation id="Documentation_20"><![CDATA[Erinnerung - Rechnungseingang: <itemvalue>_subject</itemvalue> (<itemvalue>txtspacename</itemvalue>)]]></bpmn2:documentation>
|
||||||
|
</bpmn2:message>
|
||||||
|
<bpmn2:message id="Message_4" name="Eskalation-Body">
|
||||||
|
<bpmn2:documentation id="Documentation_21"><![CDATA[
|
||||||
|
<propertyvalue>application.url</propertyvalue>index.jsf?workitem=<itemvalue>$uniqueid</itemvalue>
|
||||||
|
|
||||||
|
Das ist eine automatische generierte E-Mail. Bitte nicht auf diese E-Mail antworten. ]]></bpmn2:documentation>
|
||||||
|
</bpmn2:message>
|
||||||
|
<bpmn2:message id="Message_3" name="Html-Header">
|
||||||
|
<bpmn2:documentation id="Documentation_16"><![CDATA[<html>
|
||||||
|
<head>
|
||||||
|
<style type="text/css">
|
||||||
|
html, body, div, p, h1, h2, h3, ul, ol, span, a, table, td, form, img,
|
||||||
|
li {
|
||||||
|
font-family: Arial;
|
||||||
|
font-style: normal;
|
||||||
|
font-variant: normal;
|
||||||
|
font-weight: normal;
|
||||||
|
font-size: 11pt;
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
margin: 0;
|
||||||
|
padding: 1em;
|
||||||
|
min-width: 41em;
|
||||||
|
}
|
||||||
|
|
||||||
|
h2 {
|
||||||
|
font-size: 12pt;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
th, td {
|
||||||
|
border: 1px solid #ccc;
|
||||||
|
}
|
||||||
|
|
||||||
|
th {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||||
|
<title>Krieger Email</title>
|
||||||
|
</head>
|
||||||
|
<body>]]></bpmn2:documentation>
|
||||||
|
</bpmn2:message>
|
||||||
|
<bpmn2:message id="Message_6" name="Html-Footer">
|
||||||
|
<bpmn2:documentation id="Documentation_18"><![CDATA[<p>
|
||||||
|
<a href="<propertyvalue>application.url</propertyvalue>index.jsf?workitem=<itemvalue>$uniqueid</itemvalue>"><propertyvalue>application.url</propertyvalue>index.jsf?workitem=<itemvalue>$uniqueid</itemvalue></a>
|
||||||
|
</p><p>
|
||||||
|
Das ist eine automatische generierte E-Mail. Bitte nicht auf diese E-Mail antworten.
|
||||||
|
</p>
|
||||||
|
</body>
|
||||||
|
</html>]]></bpmn2:documentation>
|
||||||
|
</bpmn2:message>
|
||||||
|
<bpmn2:collaboration id="Collaboration_1" name="Default Collaboration">
|
||||||
|
<bpmn2:participant id="Participant_1" name="Cargosoft-Export" processRef="Process_1"/>
|
||||||
|
</bpmn2:collaboration>
|
||||||
|
<bpmn2:process definitionalCollaborationRef="Collaboration_1" id="Process_1" isExecutable="false" name="Cargosoft-Export" processType="Public">
|
||||||
|
<bpmn2:laneSet id="LaneSet_3" name="Lane Set 3">
|
||||||
|
<bpmn2:lane id="Lane_1" name="Buchhaltung">
|
||||||
|
<bpmn2:flowNodeRef>StartEvent_1</bpmn2:flowNodeRef>
|
||||||
|
<bpmn2:flowNodeRef>IntermediateCatchEvent_29</bpmn2:flowNodeRef>
|
||||||
|
<bpmn2:flowNodeRef>Task_6</bpmn2:flowNodeRef>
|
||||||
|
<bpmn2:flowNodeRef>BoundaryEvent_1</bpmn2:flowNodeRef>
|
||||||
|
<bpmn2:flowNodeRef>IntermediateCatchEvent_26</bpmn2:flowNodeRef>
|
||||||
|
<bpmn2:flowNodeRef>EventBasedGateway_3</bpmn2:flowNodeRef>
|
||||||
|
<bpmn2:flowNodeRef>IntermediateCatchEvent_1</bpmn2:flowNodeRef>
|
||||||
|
<bpmn2:flowNodeRef>EndEvent_2</bpmn2:flowNodeRef>
|
||||||
|
<bpmn2:flowNodeRef>IntermediateCatchEvent_27</bpmn2:flowNodeRef>
|
||||||
|
<bpmn2:flowNodeRef>Task_1</bpmn2:flowNodeRef>
|
||||||
|
<bpmn2:flowNodeRef>EndEvent_1</bpmn2:flowNodeRef>
|
||||||
|
<bpmn2:flowNodeRef>Task_2</bpmn2:flowNodeRef>
|
||||||
|
<bpmn2:flowNodeRef>IntermediateCatchEvent_2</bpmn2:flowNodeRef>
|
||||||
|
</bpmn2:lane>
|
||||||
|
</bpmn2:laneSet>
|
||||||
|
<bpmn2:endEvent id="EndEvent_2" name="Ende">
|
||||||
|
<bpmn2:incoming>SequenceFlow_9</bpmn2:incoming>
|
||||||
|
<bpmn2:documentation id="documentation_oQ5pDQ"/>
|
||||||
|
</bpmn2:endEvent>
|
||||||
|
<bpmn2:task id="Task_6" imixs:processid="1000" name="Verarbeitung">
|
||||||
|
<bpmn2:extensionElements>
|
||||||
|
<imixs:item name="txteditorid" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[form_basic]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="txtworkflowabstract" type="xs:string">
|
||||||
|
<imixs:value/>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="txtname" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[Warten auf Zahlungsziel]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="txtimageurl" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[typcn-archive||]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="txtworkflowsummary" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[Buchung <itemvalue>numsequencenumber</itemvalue>: <itemvalue>cdtr.name</itemvalue> <itemvalue>invoice.number</itemvalue>]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="keyupdateacl" type="xs:boolean">
|
||||||
|
<imixs:value>true</imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="keyaddwritefields" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[process.team]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="keyownershipfields" type="xs:string"/>
|
||||||
|
<imixs:item name="namaddreadaccess" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[{process:?:member}]]></imixs:value>
|
||||||
|
<imixs:value><![CDATA[{space:?:member}]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="keyaddreadfields" type="xs:string"/>
|
||||||
|
<imixs:item name="txttype" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[cargosoft]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
</bpmn2:extensionElements>
|
||||||
|
<bpmn2:documentation id="Documentation_14"><![CDATA[<textblock><itemvalue>$workflowgroup</itemvalue> - <itemvalue>$workflowstatus</itemvalue></textblock>]]></bpmn2:documentation>
|
||||||
|
<bpmn2:incoming>SequenceFlow_4</bpmn2:incoming>
|
||||||
|
<bpmn2:incoming>SequenceFlow_28</bpmn2:incoming>
|
||||||
|
<bpmn2:outgoing>SequenceFlow_63</bpmn2:outgoing>
|
||||||
|
</bpmn2:task>
|
||||||
|
<bpmn2:task id="Task_2" imixs:processid="1900" name="Abgeschlossen">
|
||||||
|
<bpmn2:extensionElements>
|
||||||
|
<imixs:item name="txttype" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[cargosoftarchive]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="txteditorid" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[form_basic]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="txtworkflowabstract" type="xs:string">
|
||||||
|
<imixs:value/>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="txtname" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[Rechnung bezahlt]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="txtimageurl" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[typcn-archive||typcn-tick,imixs-success,icon-sub-se]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="txtworkflowsummary" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[Buchung <itemvalue>numsequencenumber</itemvalue>: <itemvalue>cdtr.name</itemvalue> <itemvalue>invoice.number</itemvalue>]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="keyupdateacl" type="xs:boolean">
|
||||||
|
<imixs:value>true</imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="keyaddwritefields" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[process.team]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="keyownershipfields" type="xs:string"/>
|
||||||
|
<imixs:item name="namaddreadaccess" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[{process:?:member}]]></imixs:value>
|
||||||
|
<imixs:value><![CDATA[{space:?:member}]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="keyaddreadfields" type="xs:string"/>
|
||||||
|
</bpmn2:extensionElements>
|
||||||
|
<bpmn2:documentation id="Documentation_4"><![CDATA[<textblock><itemvalue>$workflowgroup</itemvalue> - <itemvalue>$workflowstatus</itemvalue></textblock>]]></bpmn2:documentation>
|
||||||
|
<bpmn2:incoming>SequenceFlow_16</bpmn2:incoming>
|
||||||
|
<bpmn2:outgoing>SequenceFlow_9</bpmn2:outgoing>
|
||||||
|
<bpmn2:outgoing>SequenceFlow_27</bpmn2:outgoing>
|
||||||
|
</bpmn2:task>
|
||||||
|
<bpmn2:sequenceFlow id="SequenceFlow_9" sourceRef="Task_2" targetRef="EndEvent_2">
|
||||||
|
<bpmn2:documentation id="documentation_EpkvLA"/>
|
||||||
|
</bpmn2:sequenceFlow>
|
||||||
|
<bpmn2:intermediateCatchEvent id="IntermediateCatchEvent_26" imixs:activityid="110" name="[Export]">
|
||||||
|
<bpmn2:extensionElements>
|
||||||
|
<imixs:item name="keylogtimeformat" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[2]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="keyarchive" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[0]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="keyaccessmode" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[0]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="keyscheduledactivity" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[1]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="keyversion" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[0]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="keyaddwritefields" type="xs:string"/>
|
||||||
|
<imixs:item name="numnextactivityid" type="xs:int">
|
||||||
|
<imixs:value><![CDATA[0]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="keyfollowup" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[2]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="keypublicresult" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[1]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="keylogdateformat" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[2]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="keyownershipfields" type="xs:string"/>
|
||||||
|
<imixs:item name="numnextid" type="xs:int">
|
||||||
|
<imixs:value><![CDATA[7000]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="txtnextprocesstree" type="xs:string">
|
||||||
|
<imixs:value/>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="txtactivityresult" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[<cargosoft name="report">cargosoft</cargosoft>]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="txtname" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[Speichern]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="keyownershipmode" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[1]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="numversionactivityid" type="xs:string">
|
||||||
|
<imixs:value/>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="rtfresultlog" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[Export processing]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="keyupdateacl" type="xs:boolean">
|
||||||
|
<imixs:value>false</imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="numactivitydelay" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[5]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="keyactivitydelayunit" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[1]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="keyscheduledbaseobject" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[1]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
</bpmn2:extensionElements>
|
||||||
|
<bpmn2:documentation id="Documentation_63"><![CDATA[Zwischenspeichern]]></bpmn2:documentation>
|
||||||
|
<bpmn2:incoming>SequenceFlow_63</bpmn2:incoming>
|
||||||
|
<bpmn2:incoming>SequenceFlow_23</bpmn2:incoming>
|
||||||
|
<bpmn2:outgoing>SequenceFlow_15</bpmn2:outgoing>
|
||||||
|
<bpmn2:dataOutput id="DataOutput_1" name="Signal_2_Output"/>
|
||||||
|
<bpmn2:dataOutputAssociation id="DataOutputAssociation_1">
|
||||||
|
<bpmn2:sourceRef>DataOutput_1</bpmn2:sourceRef>
|
||||||
|
</bpmn2:dataOutputAssociation>
|
||||||
|
<bpmn2:outputSet id="OutputSet_2" name="Output Set 2">
|
||||||
|
<bpmn2:dataOutputRefs>DataOutput_1</bpmn2:dataOutputRefs>
|
||||||
|
</bpmn2:outputSet>
|
||||||
|
<bpmn2:signalEventDefinition id="SignalEventDefinition_2" signalRef="Signal_3"/>
|
||||||
|
</bpmn2:intermediateCatchEvent>
|
||||||
|
<bpmn2:sequenceFlow id="SequenceFlow_63" sourceRef="Task_6" targetRef="IntermediateCatchEvent_26">
|
||||||
|
<bpmn2:documentation id="documentation_ILwCBQ"/>
|
||||||
|
</bpmn2:sequenceFlow>
|
||||||
|
<bpmn2:intermediateCatchEvent id="IntermediateCatchEvent_29" imixs:activityid="100" name="[init]">
|
||||||
|
<bpmn2:extensionElements>
|
||||||
|
<imixs:item name="keylogtimeformat" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[2]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="keyarchive" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[0]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="keyaccessmode" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[0]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="keyscheduledactivity" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[0]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="keyversion" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[0]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="keyaddwritefields" type="xs:string"/>
|
||||||
|
<imixs:item name="numnextactivityid" type="xs:int">
|
||||||
|
<imixs:value><![CDATA[0]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="keyfollowup" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[2]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="keypublicresult" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[0]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="keylogdateformat" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[2]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="keyownershipfields" type="xs:string"/>
|
||||||
|
<imixs:item name="numnextid" type="xs:int">
|
||||||
|
<imixs:value><![CDATA[7000]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="txtnextprocesstree" type="xs:string">
|
||||||
|
<imixs:value/>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="txtactivityresult" type="xs:string">
|
||||||
|
<imixs:value/>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="txtname" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[Speichern]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="keyownershipmode" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[1]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="numversionactivityid" type="xs:string">
|
||||||
|
<imixs:value/>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="rtfresultlog" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[Export started]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="keyupdateacl" type="xs:boolean">
|
||||||
|
<imixs:value>false</imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
</bpmn2:extensionElements>
|
||||||
|
<bpmn2:incoming>SequenceFlow_1</bpmn2:incoming>
|
||||||
|
<bpmn2:outgoing>SequenceFlow_4</bpmn2:outgoing>
|
||||||
|
<bpmn2:signalEventDefinition id="SignalEventDefinition_4"/>
|
||||||
|
<bpmn2:documentation id="documentation_MrKi0w"/>
|
||||||
|
</bpmn2:intermediateCatchEvent>
|
||||||
|
<bpmn2:eventBasedGateway gatewayDirection="Diverging" id="EventBasedGateway_3">
|
||||||
|
<bpmn2:incoming>SequenceFlow_15</bpmn2:incoming>
|
||||||
|
<bpmn2:outgoing>SequenceFlow_38</bpmn2:outgoing>
|
||||||
|
<bpmn2:outgoing>SequenceFlow_3</bpmn2:outgoing>
|
||||||
|
<bpmn2:documentation id="documentation_ijXxNA"/>
|
||||||
|
</bpmn2:eventBasedGateway>
|
||||||
|
<bpmn2:intermediateCatchEvent id="IntermediateCatchEvent_27" imixs:activityid="300" name="[FAILED]">
|
||||||
|
<bpmn2:extensionElements>
|
||||||
|
<imixs:item name="rtfresultlog" type="CDATA">
|
||||||
|
<imixs:value><![CDATA[Export failed]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="txtactivityresult" type="CDATA">
|
||||||
|
<imixs:value/>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="keypublicresult" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[0]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
</bpmn2:extensionElements>
|
||||||
|
<bpmn2:incoming>SequenceFlow_38</bpmn2:incoming>
|
||||||
|
<bpmn2:outgoing>SequenceFlow_24</bpmn2:outgoing>
|
||||||
|
<bpmn2:signalEventDefinition id="SignalEventDefinition_6"/>
|
||||||
|
<bpmn2:documentation id="documentation_H3wD5Q"/>
|
||||||
|
</bpmn2:intermediateCatchEvent>
|
||||||
|
<bpmn2:sequenceFlow id="SequenceFlow_38" sourceRef="EventBasedGateway_3" targetRef="IntermediateCatchEvent_27">
|
||||||
|
<bpmn2:documentation id="documentation_A90Dng"/>
|
||||||
|
</bpmn2:sequenceFlow>
|
||||||
|
<bpmn2:startEvent id="StartEvent_1" name="Start">
|
||||||
|
<bpmn2:outgoing>SequenceFlow_1</bpmn2:outgoing>
|
||||||
|
<bpmn2:documentation id="documentation_04vNoA"/>
|
||||||
|
</bpmn2:startEvent>
|
||||||
|
<bpmn2:sequenceFlow id="SequenceFlow_1" sourceRef="StartEvent_1" targetRef="IntermediateCatchEvent_29">
|
||||||
|
<bpmn2:documentation id="documentation_25qdpQ"/>
|
||||||
|
</bpmn2:sequenceFlow>
|
||||||
|
<bpmn2:task id="Task_1" imixs:processid="1800" name="Abgebrochen">
|
||||||
|
<bpmn2:extensionElements>
|
||||||
|
<imixs:item name="txttype" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[cargosoftarchive]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="txteditorid" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[form_basic]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="txtworkflowabstract" type="xs:string">
|
||||||
|
<imixs:value/>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="txtname" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[Rechnung bezahlt]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="txtimageurl" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[typcn-archive||typcn-warning,imixs-error,icon-sub-se]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="txtworkflowsummary" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[Buchung <itemvalue>numsequencenumber</itemvalue>: <itemvalue>cdtr.name</itemvalue> <itemvalue>invoice.number</itemvalue>]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="keyupdateacl" type="xs:boolean">
|
||||||
|
<imixs:value>true</imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="keyaddwritefields" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[process.team]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="keyownershipfields" type="xs:string"/>
|
||||||
|
<imixs:item name="namaddreadaccess" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[{process:?:member}]]></imixs:value>
|
||||||
|
<imixs:value><![CDATA[{space:?:member}]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="keyaddreadfields" type="xs:string"/>
|
||||||
|
</bpmn2:extensionElements>
|
||||||
|
<bpmn2:documentation id="Documentation_3"><![CDATA[<textblock><itemvalue>$workflowgroup</itemvalue> - <itemvalue>$workflowstatus</itemvalue></textblock>]]></bpmn2:documentation>
|
||||||
|
<bpmn2:incoming>SequenceFlow_24</bpmn2:incoming>
|
||||||
|
<bpmn2:outgoing>SequenceFlow_5</bpmn2:outgoing>
|
||||||
|
<bpmn2:outgoing>SequenceFlow_29</bpmn2:outgoing>
|
||||||
|
</bpmn2:task>
|
||||||
|
<bpmn2:endEvent id="EndEvent_1" name="Ende">
|
||||||
|
<bpmn2:incoming>SequenceFlow_5</bpmn2:incoming>
|
||||||
|
<bpmn2:documentation id="documentation_vfGsOQ"/>
|
||||||
|
</bpmn2:endEvent>
|
||||||
|
<bpmn2:sequenceFlow id="SequenceFlow_5" sourceRef="Task_1" targetRef="EndEvent_1">
|
||||||
|
<bpmn2:documentation id="documentation_Wu3TVA"/>
|
||||||
|
</bpmn2:sequenceFlow>
|
||||||
|
<bpmn2:intermediateCatchEvent id="IntermediateCatchEvent_1" imixs:activityid="200" name="[SUCCESS]">
|
||||||
|
<bpmn2:extensionElements>
|
||||||
|
<imixs:item name="keylogtimeformat" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[2]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="keyarchive" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[0]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="keyaccessmode" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[0]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="keyscheduledactivity" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[0]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="keyversion" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[0]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="keyaddwritefields" type="xs:string"/>
|
||||||
|
<imixs:item name="numnextactivityid" type="xs:int">
|
||||||
|
<imixs:value><![CDATA[0]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="keyfollowup" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[2]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="keypublicresult" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[0]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="keylogdateformat" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[2]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="keyownershipfields" type="xs:string"/>
|
||||||
|
<imixs:item name="numnextid" type="xs:int">
|
||||||
|
<imixs:value><![CDATA[7000]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="txtnextprocesstree" type="xs:string">
|
||||||
|
<imixs:value/>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="txtactivityresult" type="xs:string">
|
||||||
|
<imixs:value/>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="txtname" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[Speichern]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="keyownershipmode" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[1]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="numversionactivityid" type="xs:string">
|
||||||
|
<imixs:value/>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="rtfresultlog" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[Export successful]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="keyupdateacl" type="xs:boolean">
|
||||||
|
<imixs:value>false</imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
</bpmn2:extensionElements>
|
||||||
|
<bpmn2:documentation id="Documentation_6"><![CDATA[IW24 Export manuell abschließen]]></bpmn2:documentation>
|
||||||
|
<bpmn2:incoming>SequenceFlow_3</bpmn2:incoming>
|
||||||
|
<bpmn2:outgoing>SequenceFlow_16</bpmn2:outgoing>
|
||||||
|
<bpmn2:outputSet id="OutputSet_1" name="Output Set 1"/>
|
||||||
|
</bpmn2:intermediateCatchEvent>
|
||||||
|
<bpmn2:sequenceFlow id="SequenceFlow_3" sourceRef="EventBasedGateway_3" targetRef="IntermediateCatchEvent_1">
|
||||||
|
<bpmn2:documentation id="documentation_BC4ufw"/>
|
||||||
|
</bpmn2:sequenceFlow>
|
||||||
|
<bpmn2:sequenceFlow id="SequenceFlow_4" sourceRef="IntermediateCatchEvent_29" targetRef="Task_6">
|
||||||
|
<bpmn2:documentation id="documentation_xCP0Gw"/>
|
||||||
|
</bpmn2:sequenceFlow>
|
||||||
|
<bpmn2:sequenceFlow id="SequenceFlow_15" sourceRef="IntermediateCatchEvent_26" targetRef="EventBasedGateway_3">
|
||||||
|
<bpmn2:documentation id="documentation_tKll0A"/>
|
||||||
|
</bpmn2:sequenceFlow>
|
||||||
|
<bpmn2:sequenceFlow id="SequenceFlow_16" sourceRef="IntermediateCatchEvent_1" targetRef="Task_2">
|
||||||
|
<bpmn2:documentation id="documentation_rdyTuQ"/>
|
||||||
|
</bpmn2:sequenceFlow>
|
||||||
|
<bpmn2:boundaryEvent attachedToRef="Task_6" id="BoundaryEvent_1" name="">
|
||||||
|
<bpmn2:outgoing>SequenceFlow_23</bpmn2:outgoing>
|
||||||
|
<bpmn2:timerEventDefinition id="TimerEventDefinition_1"/>
|
||||||
|
<bpmn2:documentation id="documentation_8eb0Iw"/>
|
||||||
|
</bpmn2:boundaryEvent>
|
||||||
|
<bpmn2:sequenceFlow id="SequenceFlow_23" sourceRef="BoundaryEvent_1" targetRef="IntermediateCatchEvent_26">
|
||||||
|
<bpmn2:documentation id="documentation_PYEHrQ"/>
|
||||||
|
</bpmn2:sequenceFlow>
|
||||||
|
<bpmn2:sequenceFlow id="SequenceFlow_24" sourceRef="IntermediateCatchEvent_27" targetRef="Task_1">
|
||||||
|
<bpmn2:documentation id="documentation_YlGA1w"/>
|
||||||
|
</bpmn2:sequenceFlow>
|
||||||
|
<bpmn2:intermediateCatchEvent id="IntermediateCatchEvent_2" imixs:activityid="10" name="Cargosoft Export wiederholen">
|
||||||
|
<bpmn2:extensionElements>
|
||||||
|
<imixs:item name="rtfresultlog" type="CDATA">
|
||||||
|
<imixs:value><![CDATA[Export neu gestartet]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
</bpmn2:extensionElements>
|
||||||
|
<bpmn2:incoming>SequenceFlow_27</bpmn2:incoming>
|
||||||
|
<bpmn2:incoming>SequenceFlow_29</bpmn2:incoming>
|
||||||
|
<bpmn2:outgoing>SequenceFlow_28</bpmn2:outgoing>
|
||||||
|
<bpmn2:documentation id="documentation_n0bnzA"/>
|
||||||
|
</bpmn2:intermediateCatchEvent>
|
||||||
|
<bpmn2:sequenceFlow id="SequenceFlow_27" sourceRef="Task_2" targetRef="IntermediateCatchEvent_2">
|
||||||
|
<bpmn2:documentation id="documentation_yiSWug"/>
|
||||||
|
</bpmn2:sequenceFlow>
|
||||||
|
<bpmn2:sequenceFlow id="SequenceFlow_28" sourceRef="IntermediateCatchEvent_2" targetRef="Task_6">
|
||||||
|
<bpmn2:documentation id="documentation_vJ0NDw"/>
|
||||||
|
</bpmn2:sequenceFlow>
|
||||||
|
<bpmn2:sequenceFlow id="SequenceFlow_29" sourceRef="Task_1" targetRef="IntermediateCatchEvent_2">
|
||||||
|
<bpmn2:documentation id="documentation_xtxbpA"/>
|
||||||
|
</bpmn2:sequenceFlow>
|
||||||
|
<bpmn2:textAnnotation id="TextAnnotation_1" textFormat="">
|
||||||
|
<bpmn2:text><![CDATA[Scheduler lattest after 5 min]]></bpmn2:text>
|
||||||
|
<bpmn2:documentation id="documentation_jCfSzw"/>
|
||||||
|
</bpmn2:textAnnotation>
|
||||||
|
<bpmn2:association id="Association_1" sourceRef="TextAnnotation_1" targetRef="IntermediateCatchEvent_26">
|
||||||
|
<bpmn2:documentation id="documentation_vfeq0g"/>
|
||||||
|
</bpmn2:association>
|
||||||
|
<bpmn2:documentation id="documentation_pcdUww"/>
|
||||||
|
</bpmn2:process>
|
||||||
|
<bpmndi:BPMNDiagram id="BPMNDiagram_1" name="Default Collaboration Diagram">
|
||||||
|
<bpmndi:BPMNPlane bpmnElement="Collaboration_1" id="BPMNPlane_1">
|
||||||
|
<bpmndi:BPMNShape bpmnElement="Participant_1" id="BPMNShape_1" isHorizontal="true">
|
||||||
|
<dc:Bounds height="301.0" width="1001.0" x="100.0" y="100.0"/>
|
||||||
|
<bpmndi:BPMNLabel id="BPMNLabel_1" labelStyle="BPMNLabelStyle_1">
|
||||||
|
<dc:Bounds height="92.0" width="14.0" x="106.0" y="204.0"/>
|
||||||
|
</bpmndi:BPMNLabel>
|
||||||
|
</bpmndi:BPMNShape>
|
||||||
|
<bpmndi:BPMNShape bpmnElement="Lane_1" id="BPMNShape_Lane_1" isHorizontal="true">
|
||||||
|
<dc:Bounds height="301.0" width="971.0" x="130.0" y="100.0"/>
|
||||||
|
<bpmndi:BPMNLabel id="BPMNLabel_26" labelStyle="BPMNLabelStyle_1">
|
||||||
|
<dc:Bounds height="69.0" width="14.0" x="136.0" y="216.0"/>
|
||||||
|
</bpmndi:BPMNLabel>
|
||||||
|
</bpmndi:BPMNShape>
|
||||||
|
<bpmndi:BPMNShape bpmnElement="EndEvent_2" id="BPMNShape_EndEvent_2">
|
||||||
|
<dc:Bounds height="36.0" width="36.0" x="977.0" y="211.0"/>
|
||||||
|
<bpmndi:BPMNLabel id="BPMNLabel_3" labelStyle="BPMNLabelStyle_1">
|
||||||
|
<dc:Bounds height="14.0" width="29.0" x="980.0" y="247.0"/>
|
||||||
|
</bpmndi:BPMNLabel>
|
||||||
|
</bpmndi:BPMNShape>
|
||||||
|
<bpmndi:BPMNShape bpmnElement="Task_6" id="BPMNShape_Task_6">
|
||||||
|
<dc:Bounds height="50.0" width="110.0" x="330.0" y="204.0"/>
|
||||||
|
<bpmndi:BPMNLabel id="BPMNLabel_13" labelStyle="BPMNLabelStyle_1">
|
||||||
|
<dc:Bounds height="14.0" width="70.0" x="350.0" y="222.0"/>
|
||||||
|
</bpmndi:BPMNLabel>
|
||||||
|
</bpmndi:BPMNShape>
|
||||||
|
<bpmndi:BPMNShape bpmnElement="Task_2" id="BPMNShape_Task_2">
|
||||||
|
<dc:Bounds height="50.0" width="110.0" x="780.0" y="204.0"/>
|
||||||
|
<bpmndi:BPMNLabel id="BPMNLabel_5" labelStyle="BPMNLabelStyle_1">
|
||||||
|
<dc:Bounds height="14.0" width="84.0" x="793.0" y="222.0"/>
|
||||||
|
</bpmndi:BPMNLabel>
|
||||||
|
</bpmndi:BPMNShape>
|
||||||
|
<bpmndi:BPMNShape bpmnElement="IntermediateCatchEvent_26" id="BPMNShape_IntermediateCatchEvent_26">
|
||||||
|
<dc:Bounds height="36.0" width="36.0" x="480.0" y="211.0"/>
|
||||||
|
<bpmndi:BPMNLabel id="BPMNLabel_141" labelStyle="BPMNLabelStyle_1">
|
||||||
|
<dc:Bounds height="14.0" width="41.0" x="478.0" y="247.0"/>
|
||||||
|
</bpmndi:BPMNLabel>
|
||||||
|
</bpmndi:BPMNShape>
|
||||||
|
<bpmndi:BPMNShape bpmnElement="IntermediateCatchEvent_29" id="BPMNShape_IntermediateCatchEvent_29">
|
||||||
|
<dc:Bounds height="36.0" width="36.0" x="260.0" y="211.0"/>
|
||||||
|
<bpmndi:BPMNLabel id="BPMNLabel_145" labelStyle="BPMNLabelStyle_1">
|
||||||
|
<dc:Bounds height="14.0" width="22.0" x="267.0" y="247.0"/>
|
||||||
|
</bpmndi:BPMNLabel>
|
||||||
|
</bpmndi:BPMNShape>
|
||||||
|
<bpmndi:BPMNShape bpmnElement="Message_2" id="BPMNShape_Message_1">
|
||||||
|
<dc:Bounds height="20.0" width="30.0" x="140.0" y="0.0"/>
|
||||||
|
<bpmndi:BPMNLabel id="BPMNLabel_174">
|
||||||
|
<dc:Bounds height="28.0" width="63.0" x="124.0" y="20.0"/>
|
||||||
|
</bpmndi:BPMNLabel>
|
||||||
|
</bpmndi:BPMNShape>
|
||||||
|
<bpmndi:BPMNShape bpmnElement="Message_4" id="BPMNShape_Message_2">
|
||||||
|
<dc:Bounds height="20.0" width="30.0" x="209.0" y="0.0"/>
|
||||||
|
<bpmndi:BPMNLabel id="BPMNLabel_175">
|
||||||
|
<dc:Bounds height="28.0" width="63.0" x="193.0" y="20.0"/>
|
||||||
|
</bpmndi:BPMNLabel>
|
||||||
|
</bpmndi:BPMNShape>
|
||||||
|
<bpmndi:BPMNShape bpmnElement="EventBasedGateway_3" id="BPMNShape_EventBasedGateway_3" isMarkerVisible="true">
|
||||||
|
<dc:Bounds height="50.0" width="50.0" x="570.0" y="204.0"/>
|
||||||
|
<bpmndi:BPMNLabel id="BPMNLabel_17" labelStyle="BPMNLabelStyle_1">
|
||||||
|
<dc:Bounds height="20.0" width="100.0" x="545.0" y="257.0"/>
|
||||||
|
</bpmndi:BPMNLabel>
|
||||||
|
</bpmndi:BPMNShape>
|
||||||
|
<bpmndi:BPMNShape bpmnElement="IntermediateCatchEvent_27" id="BPMNShape_IntermediateCatchEvent_27">
|
||||||
|
<dc:Bounds height="36.0" width="36.0" x="670.0" y="127.0"/>
|
||||||
|
<bpmndi:BPMNLabel id="BPMNLabel_77" labelStyle="BPMNLabelStyle_1">
|
||||||
|
<dc:Bounds height="14.0" width="47.0" x="665.0" y="163.0"/>
|
||||||
|
</bpmndi:BPMNLabel>
|
||||||
|
</bpmndi:BPMNShape>
|
||||||
|
<bpmndi:BPMNShape bpmnElement="Message_3" id="BPMNShape_Message_3">
|
||||||
|
<dc:Bounds height="20.0" width="30.0" x="287.0" y="0.0"/>
|
||||||
|
<bpmndi:BPMNLabel id="BPMNLabel_163">
|
||||||
|
<dc:Bounds height="14.0" width="70.0" x="267.0" y="20.0"/>
|
||||||
|
</bpmndi:BPMNLabel>
|
||||||
|
</bpmndi:BPMNShape>
|
||||||
|
<bpmndi:BPMNShape bpmnElement="Message_6" id="BPMNShape_Message_4">
|
||||||
|
<dc:Bounds height="20.0" width="30.0" x="360.0" y="0.0"/>
|
||||||
|
<bpmndi:BPMNLabel id="BPMNLabel_164">
|
||||||
|
<dc:Bounds height="14.0" width="64.0" x="343.0" y="20.0"/>
|
||||||
|
</bpmndi:BPMNLabel>
|
||||||
|
</bpmndi:BPMNShape>
|
||||||
|
<bpmndi:BPMNShape bpmnElement="StartEvent_1" id="BPMNShape_StartEvent_1">
|
||||||
|
<dc:Bounds height="36.0" width="36.0" x="190.0" y="211.0"/>
|
||||||
|
<bpmndi:BPMNLabel id="BPMNLabel_2" labelStyle="BPMNLabelStyle_1">
|
||||||
|
<dc:Bounds height="14.0" width="25.0" x="195.0" y="247.0"/>
|
||||||
|
</bpmndi:BPMNLabel>
|
||||||
|
</bpmndi:BPMNShape>
|
||||||
|
<bpmndi:BPMNShape bpmnElement="Task_1" id="BPMNShape_Task_1">
|
||||||
|
<dc:Bounds height="50.0" width="110.0" x="780.0" y="120.0"/>
|
||||||
|
<bpmndi:BPMNLabel id="BPMNLabel_9">
|
||||||
|
<dc:Bounds height="14.0" width="74.0" x="798.0" y="138.0"/>
|
||||||
|
</bpmndi:BPMNLabel>
|
||||||
|
</bpmndi:BPMNShape>
|
||||||
|
<bpmndi:BPMNShape bpmnElement="EndEvent_1" id="BPMNShape_EndEvent_1">
|
||||||
|
<dc:Bounds height="36.0" width="36.0" x="977.0" y="127.0"/>
|
||||||
|
<bpmndi:BPMNLabel id="BPMNLabel_10" labelStyle="BPMNLabelStyle_1">
|
||||||
|
<dc:Bounds height="14.0" width="29.0" x="980.0" y="163.0"/>
|
||||||
|
</bpmndi:BPMNLabel>
|
||||||
|
</bpmndi:BPMNShape>
|
||||||
|
<bpmndi:BPMNShape bpmnElement="IntermediateCatchEvent_1" id="BPMNShape_IntermediateCatchEvent_1">
|
||||||
|
<dc:Bounds height="36.0" width="36.0" x="671.0" y="211.0"/>
|
||||||
|
<bpmndi:BPMNLabel id="BPMNLabel_16" labelStyle="BPMNLabelStyle_1">
|
||||||
|
<dc:Bounds height="14.0" width="65.0" x="657.0" y="247.0"/>
|
||||||
|
</bpmndi:BPMNLabel>
|
||||||
|
</bpmndi:BPMNShape>
|
||||||
|
<bpmndi:BPMNShape bpmnElement="BoundaryEvent_1" id="BPMNShape_BoundaryEvent_1">
|
||||||
|
<dc:Bounds height="36.0" width="36.0" x="382.0" y="186.0"/>
|
||||||
|
<bpmndi:BPMNLabel id="BPMNLabel_36">
|
||||||
|
<dc:Bounds height="20.0" width="100.0" x="350.0" y="225.0"/>
|
||||||
|
</bpmndi:BPMNLabel>
|
||||||
|
</bpmndi:BPMNShape>
|
||||||
|
<bpmndi:BPMNShape bpmnElement="IntermediateCatchEvent_2" id="BPMNShape_IntermediateCatchEvent_2">
|
||||||
|
<dc:Bounds height="36.0" width="36.0" x="817.0" y="300.0"/>
|
||||||
|
<bpmndi:BPMNLabel id="BPMNLabel_39" labelStyle="BPMNLabelStyle_1">
|
||||||
|
<dc:Bounds height="42.0" width="70.0" x="800.0" y="336.0"/>
|
||||||
|
</bpmndi:BPMNLabel>
|
||||||
|
</bpmndi:BPMNShape>
|
||||||
|
<bpmndi:BPMNShape bpmnElement="TextAnnotation_1" id="BPMNShape_TextAnnotation_1">
|
||||||
|
<dc:Bounds height="50.0" width="131.0" x="460.0" y="117.0"/>
|
||||||
|
<bpmndi:BPMNLabel id="BPMNLabel_6">
|
||||||
|
<dc:Bounds height="44.0" width="119.0" x="466.0" y="117.0"/>
|
||||||
|
</bpmndi:BPMNLabel>
|
||||||
|
</bpmndi:BPMNShape>
|
||||||
|
<bpmndi:BPMNEdge bpmnElement="SequenceFlow_9" id="BPMNEdge_SequenceFlow_11" sourceElement="BPMNShape_Task_2" targetElement="BPMNShape_EndEvent_2">
|
||||||
|
<bpmndi:BPMNLabel id="BPMNLabel_11"/>
|
||||||
|
<di:waypoint x="890.0" y="229.0"/>
|
||||||
|
<di:waypoint x="933.0" y="229.0"/>
|
||||||
|
<di:waypoint x="977.0" y="229.0"/>
|
||||||
|
</bpmndi:BPMNEdge>
|
||||||
|
<bpmndi:BPMNEdge bpmnElement="SequenceFlow_63" id="BPMNEdge_SequenceFlow_63" sourceElement="BPMNShape_Task_6" targetElement="BPMNShape_IntermediateCatchEvent_26">
|
||||||
|
<bpmndi:BPMNLabel id="BPMNLabel_142"/>
|
||||||
|
<di:waypoint x="440.0" y="229.0"/>
|
||||||
|
<di:waypoint x="460.0" y="229.0"/>
|
||||||
|
<di:waypoint x="480.0" y="229.0"/>
|
||||||
|
</bpmndi:BPMNEdge>
|
||||||
|
<bpmndi:BPMNEdge bpmnElement="SequenceFlow_38" id="BPMNEdge_SequenceFlow_37" sourceElement="BPMNShape_EventBasedGateway_3" targetElement="BPMNShape_IntermediateCatchEvent_27">
|
||||||
|
<bpmndi:BPMNLabel id="BPMNLabel_137"/>
|
||||||
|
<di:waypoint x="595.0" y="204.0"/>
|
||||||
|
<di:waypoint x="595.0" y="145.0"/>
|
||||||
|
<di:waypoint x="670.0" y="145.0"/>
|
||||||
|
</bpmndi:BPMNEdge>
|
||||||
|
<bpmndi:BPMNEdge bpmnElement="SequenceFlow_1" id="BPMNEdge_SequenceFlow_1" sourceElement="BPMNShape_StartEvent_1" targetElement="BPMNShape_IntermediateCatchEvent_29">
|
||||||
|
<bpmndi:BPMNLabel id="BPMNLabel_4"/>
|
||||||
|
<di:waypoint x="226.0" y="229.0"/>
|
||||||
|
<di:waypoint x="243.0" y="229.0"/>
|
||||||
|
<di:waypoint x="260.0" y="229.0"/>
|
||||||
|
</bpmndi:BPMNEdge>
|
||||||
|
<bpmndi:BPMNEdge bpmnElement="SequenceFlow_5" id="BPMNEdge_SequenceFlow_5" sourceElement="BPMNShape_Task_1" targetElement="BPMNShape_EndEvent_1">
|
||||||
|
<bpmndi:BPMNLabel id="BPMNLabel_12"/>
|
||||||
|
<di:waypoint x="890.0" y="145.0"/>
|
||||||
|
<di:waypoint x="933.0" y="145.0"/>
|
||||||
|
<di:waypoint x="977.0" y="145.0"/>
|
||||||
|
</bpmndi:BPMNEdge>
|
||||||
|
<bpmndi:BPMNEdge bpmnElement="SequenceFlow_3" id="BPMNEdge_SequenceFlow_3" sourceElement="BPMNShape_EventBasedGateway_3" targetElement="BPMNShape_IntermediateCatchEvent_1">
|
||||||
|
<bpmndi:BPMNLabel id="BPMNLabel_18"/>
|
||||||
|
<di:waypoint x="620.0" y="229.0"/>
|
||||||
|
<di:waypoint x="645.0" y="229.0"/>
|
||||||
|
<di:waypoint x="671.0" y="229.0"/>
|
||||||
|
</bpmndi:BPMNEdge>
|
||||||
|
<bpmndi:BPMNEdge bpmnElement="SequenceFlow_4" id="BPMNEdge_SequenceFlow_4" sourceElement="BPMNShape_IntermediateCatchEvent_29" targetElement="BPMNShape_Task_6">
|
||||||
|
<bpmndi:BPMNLabel id="BPMNLabel_7"/>
|
||||||
|
<di:waypoint x="296.0" y="229.0"/>
|
||||||
|
<di:waypoint x="313.0" y="229.0"/>
|
||||||
|
<di:waypoint x="330.0" y="229.0"/>
|
||||||
|
</bpmndi:BPMNEdge>
|
||||||
|
<bpmndi:BPMNEdge bpmnElement="SequenceFlow_15" id="BPMNEdge_SequenceFlow_15" sourceElement="BPMNShape_IntermediateCatchEvent_26" targetElement="BPMNShape_EventBasedGateway_3">
|
||||||
|
<bpmndi:BPMNLabel id="BPMNLabel_8"/>
|
||||||
|
<di:waypoint x="516.0" y="229.0"/>
|
||||||
|
<di:waypoint x="543.0" y="229.0"/>
|
||||||
|
<di:waypoint x="570.0" y="229.0"/>
|
||||||
|
</bpmndi:BPMNEdge>
|
||||||
|
<bpmndi:BPMNEdge bpmnElement="SequenceFlow_16" id="BPMNEdge_SequenceFlow_16" sourceElement="BPMNShape_IntermediateCatchEvent_1" targetElement="BPMNShape_Task_2">
|
||||||
|
<bpmndi:BPMNLabel id="BPMNLabel_22"/>
|
||||||
|
<di:waypoint x="707.0" y="229.0"/>
|
||||||
|
<di:waypoint x="743.0" y="229.0"/>
|
||||||
|
<di:waypoint x="780.0" y="229.0"/>
|
||||||
|
</bpmndi:BPMNEdge>
|
||||||
|
<bpmndi:BPMNEdge bpmnElement="SequenceFlow_23" id="BPMNEdge_SequenceFlow_24" sourceElement="BPMNShape_BoundaryEvent_1" targetElement="BPMNShape_IntermediateCatchEvent_26">
|
||||||
|
<bpmndi:BPMNLabel id="BPMNLabel_37"/>
|
||||||
|
<di:waypoint x="400.0" y="186.0"/>
|
||||||
|
<di:waypoint x="400.0" y="176.0"/>
|
||||||
|
<di:waypoint x="498.0" y="176.0"/>
|
||||||
|
<di:waypoint x="498.0" y="211.0"/>
|
||||||
|
</bpmndi:BPMNEdge>
|
||||||
|
<bpmndi:BPMNEdge bpmnElement="SequenceFlow_24" id="BPMNEdge_SequenceFlow_25" sourceElement="BPMNShape_IntermediateCatchEvent_27" targetElement="BPMNShape_Task_1">
|
||||||
|
<bpmndi:BPMNLabel id="BPMNLabel_38"/>
|
||||||
|
<di:waypoint x="706.0" y="145.0"/>
|
||||||
|
<di:waypoint x="743.0" y="145.0"/>
|
||||||
|
<di:waypoint x="780.0" y="145.0"/>
|
||||||
|
</bpmndi:BPMNEdge>
|
||||||
|
<bpmndi:BPMNEdge bpmnElement="SequenceFlow_27" id="BPMNEdge_SequenceFlow_27" sourceElement="BPMNShape_Task_2" targetElement="BPMNShape_IntermediateCatchEvent_2">
|
||||||
|
<bpmndi:BPMNLabel id="BPMNLabel_40"/>
|
||||||
|
<di:waypoint x="835.0" y="254.0"/>
|
||||||
|
<di:waypoint x="835.0" y="277.0"/>
|
||||||
|
<di:waypoint x="835.0" y="300.0"/>
|
||||||
|
</bpmndi:BPMNEdge>
|
||||||
|
<bpmndi:BPMNEdge bpmnElement="SequenceFlow_28" id="BPMNEdge_SequenceFlow_28" sourceElement="BPMNShape_IntermediateCatchEvent_2" targetElement="BPMNShape_Task_6">
|
||||||
|
<bpmndi:BPMNLabel id="BPMNLabel_41"/>
|
||||||
|
<di:waypoint x="817.0" y="318.0"/>
|
||||||
|
<di:waypoint x="385.0" y="318.0"/>
|
||||||
|
<di:waypoint x="385.0" y="254.0"/>
|
||||||
|
</bpmndi:BPMNEdge>
|
||||||
|
<bpmndi:BPMNEdge bpmnElement="SequenceFlow_29" id="BPMNEdge_SequenceFlow_29" sourceElement="BPMNShape_Task_1" targetElement="BPMNShape_IntermediateCatchEvent_2">
|
||||||
|
<bpmndi:BPMNLabel id="BPMNLabel_42"/>
|
||||||
|
<di:waypoint x="890.0" y="153.0"/>
|
||||||
|
<di:waypoint x="900.0" y="153.0"/>
|
||||||
|
<di:waypoint x="900.0" y="318.0"/>
|
||||||
|
<di:waypoint x="853.0" y="318.0"/>
|
||||||
|
</bpmndi:BPMNEdge>
|
||||||
|
<bpmndi:BPMNEdge bpmnElement="Association_1" id="BPMNEdge_Association_1" sourceElement="BPMNShape_TextAnnotation_1" targetElement="BPMNShape_IntermediateCatchEvent_26">
|
||||||
|
<bpmndi:BPMNLabel id="BPMNLabel_14"/>
|
||||||
|
<di:waypoint x="525.0" y="167.0"/>
|
||||||
|
<di:waypoint x="525.0" y="189.0"/>
|
||||||
|
<di:waypoint x="498.0" y="189.0"/>
|
||||||
|
<di:waypoint x="498.0" y="211.0"/>
|
||||||
|
</bpmndi:BPMNEdge>
|
||||||
|
</bpmndi:BPMNPlane>
|
||||||
|
<bpmndi:BPMNLabelStyle id="BPMNLabelStyle_1">
|
||||||
|
<dc:Font name="arial" size="9.0"/>
|
||||||
|
</bpmndi:BPMNLabelStyle>
|
||||||
|
</bpmndi:BPMNDiagram>
|
||||||
|
</bpmn2:definitions>
|
||||||
1029
workflow/dwc/zahlungseingang-dwc-1.0.3-draft.bpmn
Normal file
1029
workflow/dwc/zahlungseingang-dwc-1.0.3-draft.bpmn
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue