BusinessPartner Suche über Rest API
This commit is contained in:
parent
ccc4584f91
commit
90d624d585
11 changed files with 766 additions and 173 deletions
39
doc/BUSINESSPARTNER.md
Normal file
39
doc/BUSINESSPARTNER.md
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
# BusinessPartner
|
||||
|
||||
Wir haben einen Workflow für die Verwaltung von BusinessPartner.
|
||||
Ein BusinessPartner wird über die bestehende Cargosoft Schnittstelle aus den Debitoren/Kreditoren automatisch importiert und synchronisiert.
|
||||
|
||||
In Imixs ist es dann aber möglich zusätzliche Attribute zu einem Businesspartner zu speichern. Beispielsweise:
|
||||
|
||||
- Zahlungsziel
|
||||
- Bankverbindungen
|
||||
- Emailadressen für Mahnwesen
|
||||
|
||||
Die Businessparnter werden zentral nur in dem Hauptsystem in Bremen importiert und verwaltet. Damit ein AGL System auf die BusinessPartner zugreifen kann wird eine Rest API Schnittstelle verwendet. Diese kann über Environmentvariablen aktiviert werden:
|
||||
|
||||
# Rest Service BusinessPartner API
|
||||
WORKFLOW_SERVICE_ENDPOINT: "http://app:8080/api"
|
||||
WORKFLOW_SERVICE_USER: "admin"
|
||||
WORKFLOW_SERVICE_PASSWORD: "xxxxxxxx"
|
||||
|
||||
## BusinessPartner Suche
|
||||
|
||||
Es gibt einen Controller und ein widget um nach Business Partnern zu suchen.
|
||||
|
||||
<img src="images/businesspartner-widget.png" />
|
||||
|
||||
Z.b. kann das als Custom Part in eine Form eingebunden werden:
|
||||
|
||||
```xml
|
||||
<item name="bpid" type="custom" path="alexander/businesspartner_search" required="true" label="Businesspartner:" />
|
||||
```
|
||||
|
||||
Das widget legt dann automatisch die felder `bpid` und `bpidname` an.
|
||||
|
||||
Alternativ kann im Backend über die EJB BusinessPartnerService nach bpid gesucht werden:
|
||||
|
||||
```java
|
||||
List<ItemCollection> resultList = businessPartnerService.search(phrase);
|
||||
// oder
|
||||
ItemCollection bp= businessPartnerService.getBusinessPartnerByID("BP0001");
|
||||
```
|
||||
BIN
doc/images/businesspartner-widget.png
Normal file
BIN
doc/images/businesspartner-widget.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 7.5 KiB |
|
|
@ -36,6 +36,11 @@ services:
|
|||
#OCR_PDF_MODE: "OCR_ONLY | TEXT_ONLY | TEXT_AND_OCR (default)"
|
||||
OCR_PDF_MODE: "OCR_ONLY"
|
||||
|
||||
# Rest Service BusinessPartner API
|
||||
WORKFLOW_SERVICE_ENDPOINT: "http://app:8080/api"
|
||||
WORKFLOW_SERVICE_USER: "admin"
|
||||
WORKFLOW_SERVICE_PASSWORD: "adminadmin"
|
||||
|
||||
LLM_SERVICE_ENDPOINT_USER: "admin"
|
||||
LLM_SERVICE_ENDPOINT_PASSWORD: "imixs4.null"
|
||||
|
||||
|
|
|
|||
|
|
@ -28,9 +28,7 @@ import java.io.Serializable;
|
|||
import java.io.StringWriter;
|
||||
import java.io.Writer;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.logging.Logger;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
|
@ -102,7 +100,6 @@ public class BusinessPartnerController implements Serializable {
|
|||
}
|
||||
logger.fine("search for=" + phrase);
|
||||
resultList = businessPartnerService.search(phrase);
|
||||
logger.info("found " + resultList.size() + " businesspartners");
|
||||
// Compile the regex pattern
|
||||
logger.fine("regex=" + regexPattern);
|
||||
Pattern pattern = null;
|
||||
|
|
@ -159,17 +156,17 @@ public class BusinessPartnerController implements Serializable {
|
|||
// reset orderItems if workItem has changed
|
||||
if (WorkflowEvent.WORKITEM_CHANGED == eventType || WorkflowEvent.WORKITEM_CREATED == eventType) {
|
||||
// reset state
|
||||
explodeIBANList(workitem);
|
||||
ibanList = BusinessPartnerService.explodeBanks(workitem);
|
||||
}
|
||||
|
||||
// before the workitem is saved we update the field txtOrderItems
|
||||
if (WorkflowEvent.WORKITEM_BEFORE_PROCESS == eventType) {
|
||||
implodeIBANList(workitem);
|
||||
BusinessPartnerService.implodeBanks(workitem, ibanList);
|
||||
}
|
||||
|
||||
if (WorkflowEvent.WORKITEM_AFTER_PROCESS == eventType) {
|
||||
// reset state
|
||||
explodeIBANList(workitem);
|
||||
ibanList = BusinessPartnerService.explodeBanks(workitem);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -202,58 +199,6 @@ public class BusinessPartnerController implements Serializable {
|
|||
}
|
||||
}
|
||||
|
||||
protected void implodeIBANList(ItemCollection workitem) {
|
||||
List<Map> mapOrderItems = new ArrayList();
|
||||
if (this.ibanList != null) {
|
||||
logger.fine("Convert child items into Map...");
|
||||
Iterator<?> var3 = this.ibanList.iterator();
|
||||
|
||||
while (var3.hasNext()) {
|
||||
ItemCollection orderItem = (ItemCollection) var3.next();
|
||||
mapOrderItems.add(orderItem.getAllItems());
|
||||
}
|
||||
|
||||
workitem.replaceItemValue("partner.iban.list", mapOrderItems);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
protected void explodeIBANList(ItemCollection workitem) {
|
||||
this.ibanList = new ArrayList();
|
||||
List<Object> mapOrderItems = workitem.getItemValue("partner.iban.list");
|
||||
Iterator<?> var4 = mapOrderItems.iterator();
|
||||
while (var4.hasNext()) {
|
||||
Object mapOderItem = var4.next();
|
||||
if (mapOderItem instanceof Map) {
|
||||
ItemCollection itemCol = new ItemCollection((Map) mapOderItem);
|
||||
|
||||
this.ibanList.add(itemCol);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Liefert die ChildItems mit den IBAN daten
|
||||
*
|
||||
* @param workitem
|
||||
* @return
|
||||
*/
|
||||
public List<ItemCollection> getIBANList(ItemCollection workitem) {
|
||||
List<ItemCollection> result = new ArrayList<>();
|
||||
List<Object> mapOrderItems = workitem.getItemValue("partner.iban.list");
|
||||
Iterator<?> var4 = mapOrderItems.iterator();
|
||||
while (var4.hasNext()) {
|
||||
Object mapOderItem = var4.next();
|
||||
if (mapOderItem instanceof Map) {
|
||||
ItemCollection itemCol = new ItemCollection((Map) mapOderItem);
|
||||
result.add(itemCol);
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Hilfsmethode die eine JSON Struktur mit allen relevanten Daten für einen
|
||||
* BusinessPartner erzeugt.
|
||||
|
|
@ -269,7 +214,7 @@ public class BusinessPartnerController implements Serializable {
|
|||
|
||||
// get iban list
|
||||
// {iban=[Dxxxxxx1], name=[Bank 1], id=[bank1], bic=[CITIDEFF]}
|
||||
ibanList = getIBANList(businessPartner);
|
||||
ibanList = BusinessPartnerService.getBanks(businessPartner);
|
||||
int i = 1;
|
||||
for (ItemCollection iban : ibanList) {
|
||||
objectBuilder.add("iban" + 1, jsonVal(iban.getItemValueString("iban"))). //
|
||||
|
|
@ -299,4 +244,5 @@ public class BusinessPartnerController implements Serializable {
|
|||
val = val.replace("'", "");
|
||||
return val;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -27,16 +27,24 @@
|
|||
|
||||
package com.alexanderlogistics;
|
||||
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import org.eclipse.microprofile.config.inject.ConfigProperty;
|
||||
import org.imixs.melman.DocumentClient;
|
||||
import org.imixs.melman.FormAuthenticator;
|
||||
import org.imixs.melman.RestAPIException;
|
||||
import org.imixs.workflow.ItemCollection;
|
||||
import org.imixs.workflow.ItemCollectionComparator;
|
||||
import org.imixs.workflow.engine.DocumentService;
|
||||
import org.imixs.workflow.engine.index.SchemaService;
|
||||
|
||||
import jakarta.annotation.PostConstruct;
|
||||
import jakarta.annotation.security.DeclareRoles;
|
||||
import jakarta.annotation.security.RolesAllowed;
|
||||
import jakarta.annotation.security.RunAs;
|
||||
|
|
@ -62,15 +70,79 @@ import jakarta.inject.Inject;
|
|||
public class BusinessPartnerService {
|
||||
|
||||
public static final int MAX_SEARCH_RESULT = 100;
|
||||
public static final String ITEM_IBAN_LIST = "partner.bank.list";
|
||||
public static final String WORKFLOW_SERVICE_ENDPOINT = "workflow.service.endpoint";
|
||||
public static final String WORKFLOW_SERVICE_USER = "workflow.service.user";
|
||||
public static final String WORKFLOW_SERVICE_PASSWORD = "workflow.service.password";
|
||||
|
||||
private static Logger logger = Logger.getLogger(BusinessPartnerService.class.getName());
|
||||
|
||||
private FormAuthenticator formAuthenticator;
|
||||
|
||||
@Inject
|
||||
DocumentService documentService;
|
||||
@ConfigProperty(name = WORKFLOW_SERVICE_ENDPOINT)
|
||||
Optional<String> workflowServiceEndpoint;
|
||||
|
||||
@Inject
|
||||
@ConfigProperty(name = WORKFLOW_SERVICE_USER)
|
||||
Optional<String> workflowServiceUser;
|
||||
|
||||
@Inject
|
||||
@ConfigProperty(name = WORKFLOW_SERVICE_PASSWORD)
|
||||
Optional<String> workflowServicePassword;
|
||||
|
||||
// @Inject
|
||||
// DocumentService documentService;
|
||||
|
||||
@Inject
|
||||
SchemaService schemaService;
|
||||
|
||||
/**
|
||||
* Initialize the rest clients
|
||||
*/
|
||||
@PostConstruct
|
||||
public void init() {
|
||||
// init clients
|
||||
try {
|
||||
initAuthenticator();
|
||||
} catch (RestAPIException e) {
|
||||
logger.severe("Failed to initalize Rest Clients: " + e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Diese Methode sucht einen Business Partner anhand seiner BPID
|
||||
*
|
||||
* @param bpid
|
||||
* - business partner id phrase
|
||||
* @return - matching business partner
|
||||
*/
|
||||
public ItemCollection getBusinessPartnerByID(String bpid) {
|
||||
long l = System.currentTimeMillis();
|
||||
if (bpid == null || bpid.isEmpty()) {
|
||||
return null;
|
||||
}
|
||||
List<ItemCollection> result;
|
||||
try {
|
||||
String sQuery = "(type:\"workitem\") AND ($modelversion:businesspartner-*)";
|
||||
sQuery += " AND (name:" + bpid.trim() + ")";
|
||||
logger.finest("SearchQuery= " + sQuery);
|
||||
|
||||
// register client
|
||||
DocumentClient documentClient = getDocumentClient();
|
||||
documentClient.setPageSize(MAX_SEARCH_RESULT);
|
||||
documentClient.setPageSize(1);
|
||||
result = documentClient.searchDocuments(sQuery);
|
||||
if (result.size() > 0) {
|
||||
logger.info("🕐 get BusinessPartner by id in " + (System.currentTimeMillis() - l) + "ms");
|
||||
return result.get(0);
|
||||
}
|
||||
} catch (RestAPIException | UnsupportedEncodingException e) {
|
||||
logger.warning("Failed to get BusinessPartner: " + e.getMessage());
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Diese Methode sucht Business Partner anhand einer Suchphrase
|
||||
*
|
||||
|
|
@ -79,7 +151,7 @@ public class BusinessPartnerService {
|
|||
* @return - list of matching business partners
|
||||
*/
|
||||
public List<ItemCollection> search(String phrase) {
|
||||
|
||||
long l = System.currentTimeMillis();
|
||||
List<ItemCollection> searchResult = new ArrayList<ItemCollection>();
|
||||
if (phrase == null || phrase.isEmpty()) {
|
||||
return searchResult;
|
||||
|
|
@ -94,13 +166,113 @@ public class BusinessPartnerService {
|
|||
|
||||
logger.finest("SearchQuery= " + sQuery);
|
||||
|
||||
searchResult = documentService.find(sQuery, MAX_SEARCH_RESULT, 0);
|
||||
} catch (Exception e) {
|
||||
// register client
|
||||
DocumentClient documentClient = getDocumentClient();
|
||||
documentClient.setPageSize(MAX_SEARCH_RESULT);
|
||||
searchResult = documentClient.searchDocuments(sQuery);
|
||||
|
||||
} catch (RestAPIException | UnsupportedEncodingException e) {
|
||||
logger.warning(" lucene error - " + e.getMessage());
|
||||
formAuthenticator = null;
|
||||
}
|
||||
|
||||
// sort by txtname..
|
||||
Collections.sort(searchResult, new ItemCollectionComparator("$workflowsummary", true));
|
||||
|
||||
logger.info("🕐 BusinessPartner search: " + searchResult.size() + " entries in "
|
||||
+ (System.currentTimeMillis() - l) + "ms");
|
||||
return searchResult;
|
||||
}
|
||||
|
||||
private DocumentClient getDocumentClient() {
|
||||
DocumentClient documentClient = null;
|
||||
try {
|
||||
if (formAuthenticator == null) {
|
||||
initAuthenticator();
|
||||
}
|
||||
documentClient = new DocumentClient(workflowServiceEndpoint.get());
|
||||
documentClient.registerClientRequestFilter(formAuthenticator);
|
||||
} catch (RestAPIException e) {
|
||||
logger.warning("Failed to init RestClient: " + e.getMessage());
|
||||
formAuthenticator = null;
|
||||
}
|
||||
|
||||
return documentClient;
|
||||
}
|
||||
|
||||
/**
|
||||
* Packt die Liste der Bank Details (ItemCollections) in ein Workitem
|
||||
*
|
||||
* @param workitem
|
||||
*/
|
||||
public static void implodeBanks(ItemCollection workitem, List<ItemCollection> ibanList) {
|
||||
List<Map> mapOrderItems = new ArrayList();
|
||||
if (ibanList != null) {
|
||||
logger.fine("Convert child items into Map...");
|
||||
Iterator<?> var3 = ibanList.iterator();
|
||||
|
||||
while (var3.hasNext()) {
|
||||
ItemCollection orderItem = (ItemCollection) var3.next();
|
||||
mapOrderItems.add(orderItem.getAllItems());
|
||||
}
|
||||
|
||||
workitem.replaceItemValue(BusinessPartnerService.ITEM_IBAN_LIST, mapOrderItems);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Enpackt die iban Map Liste von eiem Worktiem in eine Liste von ItemCollection
|
||||
*
|
||||
* @param workitem
|
||||
*/
|
||||
public static List<ItemCollection> explodeBanks(ItemCollection workitem) {
|
||||
List<ItemCollection> ibanList = new ArrayList();
|
||||
List<Object> mapOrderItems = workitem.getItemValue(BusinessPartnerService.ITEM_IBAN_LIST);
|
||||
Iterator<?> var4 = mapOrderItems.iterator();
|
||||
while (var4.hasNext()) {
|
||||
Object mapOderItem = var4.next();
|
||||
if (mapOderItem instanceof Map) {
|
||||
ItemCollection itemCol = new ItemCollection((Map) mapOderItem);
|
||||
|
||||
ibanList.add(itemCol);
|
||||
|
||||
}
|
||||
}
|
||||
return ibanList;
|
||||
}
|
||||
|
||||
/**
|
||||
* Liefert die ChildItems mit den IBAN daten
|
||||
*
|
||||
* @param workitem
|
||||
* @return
|
||||
*/
|
||||
public static List<ItemCollection> getBanks(ItemCollection workitem) {
|
||||
List<ItemCollection> result = new ArrayList<>();
|
||||
List<Object> mapOrderItems = workitem.getItemValue(BusinessPartnerService.ITEM_IBAN_LIST);
|
||||
Iterator<?> var4 = mapOrderItems.iterator();
|
||||
while (var4.hasNext()) {
|
||||
Object mapOderItem = var4.next();
|
||||
if (mapOderItem instanceof Map) {
|
||||
ItemCollection itemCol = new ItemCollection((Map) mapOderItem);
|
||||
result.add(itemCol);
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Helper method to initalize a Melman FormAuthenticator
|
||||
*
|
||||
* @throws RestAPIException
|
||||
*/
|
||||
public void initAuthenticator() throws RestAPIException {
|
||||
logger.info("⚡ Init FormAuthenticator...");
|
||||
|
||||
// form authenticator
|
||||
formAuthenticator = new FormAuthenticator(workflowServiceEndpoint.get(), workflowServiceUser.get(),
|
||||
workflowServicePassword.get());
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,104 @@
|
|||
/*
|
||||
* Imixs-Workflow
|
||||
*
|
||||
* Copyright (C) 2001-2020 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:
|
||||
* https://www.imixs.org
|
||||
* https://github.com/imixs/imixs-workflow
|
||||
*
|
||||
* Contributors:
|
||||
* Imixs Software Solutions GmbH - Project Management
|
||||
* Ralph Soika - Software Developer
|
||||
*/
|
||||
|
||||
package com.alexanderlogistics.api;
|
||||
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import org.imixs.workflow.ItemCollection;
|
||||
import org.imixs.workflow.exceptions.QueryException;
|
||||
import org.imixs.workflow.jaxrs.DocumentRestService;
|
||||
|
||||
import com.alexanderlogistics.BusinessPartnerService;
|
||||
|
||||
import jakarta.ejb.Stateless;
|
||||
import jakarta.inject.Inject;
|
||||
import jakarta.ws.rs.GET;
|
||||
import jakarta.ws.rs.Path;
|
||||
import jakarta.ws.rs.PathParam;
|
||||
import jakarta.ws.rs.Produces;
|
||||
import jakarta.ws.rs.QueryParam;
|
||||
import jakarta.ws.rs.core.MediaType;
|
||||
import jakarta.ws.rs.core.Response;
|
||||
|
||||
/**
|
||||
* BusinessPartnerRestService api endpoint '/businesspartner' provides methods
|
||||
* to read and post business partner data
|
||||
*
|
||||
* @version 1.0
|
||||
* @author rsoika
|
||||
*
|
||||
*/
|
||||
@Stateless
|
||||
@Produces({ MediaType.TEXT_HTML, MediaType.APPLICATION_XHTML_XML, MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON,
|
||||
MediaType.TEXT_XML })
|
||||
@Path("/businesspartner")
|
||||
public class BusinessPartnerRestService {
|
||||
|
||||
@Inject
|
||||
DocumentRestService documentRestService;
|
||||
|
||||
@Inject
|
||||
BusinessPartnerService businessPartnerService;
|
||||
|
||||
private static Logger logger = Logger.getLogger(BusinessPartnerRestService.class.getName());
|
||||
|
||||
@GET
|
||||
@Path("/ping")
|
||||
public String ping() {
|
||||
logger.info("GET ping");
|
||||
return "ping: " + System.currentTimeMillis();
|
||||
}
|
||||
|
||||
/**
|
||||
* Test method
|
||||
*
|
||||
* @param workflowgroup
|
||||
* @param task
|
||||
* @return
|
||||
* @throws QueryException
|
||||
*/
|
||||
@GET
|
||||
@Path("/{bpid}")
|
||||
@Produces({ MediaType.TEXT_HTML })
|
||||
public Response getBusinessPartnerByID(@PathParam("bpid") String bpid,
|
||||
@QueryParam("items") String items,
|
||||
@QueryParam("format") String format)
|
||||
throws QueryException {
|
||||
|
||||
ItemCollection workitem = businessPartnerService.getBusinessPartnerByID(bpid);
|
||||
if (workitem == null) {
|
||||
// document not found
|
||||
return Response.status(Response.Status.NOT_FOUND).build();
|
||||
}
|
||||
|
||||
return documentRestService.convertResult(workitem, items, format);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -36,6 +36,7 @@ import java.util.logging.Logger;
|
|||
|
||||
import org.imixs.archive.core.SnapshotService;
|
||||
import org.imixs.workflow.ItemCollection;
|
||||
import org.imixs.workflow.WorkflowKernel;
|
||||
import org.imixs.workflow.engine.DocumentEvent;
|
||||
import org.imixs.workflow.engine.DocumentService;
|
||||
import org.imixs.workflow.engine.ModelService;
|
||||
|
|
@ -46,6 +47,7 @@ import org.imixs.workflow.exceptions.PluginException;
|
|||
import org.imixs.workflow.exceptions.ProcessingErrorException;
|
||||
import org.imixs.workflow.exceptions.QueryException;
|
||||
|
||||
import com.alexanderlogistics.BusinessPartnerService;
|
||||
import com.alexanderlogistics.InvoiceUtil;
|
||||
import com.alexanderlogistics.KreditorDebitorService;
|
||||
|
||||
|
|
@ -158,7 +160,33 @@ public class BusinessPartnerImportService {
|
|||
|
||||
// hat sich das Objekt verändert?
|
||||
if (!businesspartner.equals(oldBussinessPartnerItemColl)) {
|
||||
businesspartner.event(201); // update/create
|
||||
|
||||
// Prüfe IBAN auf plausibilität
|
||||
List<ItemCollection> bankList = BusinessPartnerService.getBanks(businesspartner);
|
||||
boolean ibanDublette = false;
|
||||
List<String> dublettenIban = new ArrayList<>();
|
||||
for (ItemCollection bank : bankList) {
|
||||
String iban = bank.getItemValueString("iban");
|
||||
// erkenne fehlerhaften kontonummern
|
||||
if (dublettenIban.contains(iban)) {
|
||||
// ACHTUNG - uneindeutige Bankverbindung
|
||||
ibanDublette = true;
|
||||
} else {
|
||||
dublettenIban.add(iban);
|
||||
}
|
||||
}
|
||||
|
||||
int eventID = 200; // default
|
||||
// event errechnen
|
||||
if (!businesspartner.hasItem(WorkflowKernel.LASTEVENT)) {
|
||||
// create new!
|
||||
if (ibanDublette) {
|
||||
eventID = 300; // Exception
|
||||
} else {
|
||||
eventID = 100; // update/create
|
||||
}
|
||||
}
|
||||
businesspartner.setEventID(eventID);
|
||||
try {
|
||||
workflowService.processWorkItemByNewTransaction(businesspartner);
|
||||
} catch (AccessDeniedException | ProcessingErrorException | PluginException | ModelException e) {
|
||||
|
|
@ -234,7 +262,10 @@ public class BusinessPartnerImportService {
|
|||
|
||||
}
|
||||
|
||||
// build partner.iban.list
|
||||
// build partner.iban.list - dublettenprüfung und Trim
|
||||
List<String> dubletten = new ArrayList<>();
|
||||
List<String> dublettenIban = new ArrayList<>();
|
||||
|
||||
if (ibanList.size() > 0) {
|
||||
List<ItemCollection> bankList = new ArrayList<>();
|
||||
for (int i = 0; i < ibanList.size(); i++) {
|
||||
|
|
@ -243,10 +274,20 @@ public class BusinessPartnerImportService {
|
|||
if (bicList.size() > i) {
|
||||
bic = bicList.get(i);
|
||||
}
|
||||
|
||||
iban = superTrim(iban);
|
||||
bic = superTrim(bic);
|
||||
if (dubletten.contains(iban + "/" + bic)) {
|
||||
// voll dublette
|
||||
continue;
|
||||
} else {
|
||||
dubletten.add(iban + "/" + bic);
|
||||
}
|
||||
|
||||
ItemCollection bank = new ItemCollection();
|
||||
// {cdtr.iban=[A], name=[cdtr1], cdtr.name=[a], cdtr.bic=[a]}
|
||||
bank.setItemValue("id", "bank" + i + 1);
|
||||
bank.setItemValue("name", "Bank " + i + 1);
|
||||
bank.setItemValue("id", "bank" + (i + 1));
|
||||
bank.setItemValue("name", "Bank " + (i + 1));
|
||||
bank.setItemValue("iban", iban);
|
||||
bank.setItemValue("bic", bic);
|
||||
|
||||
|
|
@ -258,7 +299,7 @@ public class BusinessPartnerImportService {
|
|||
ItemCollection orderItem = (ItemCollection) var3.next();
|
||||
mapOrderItems.add(orderItem.getAllItems());
|
||||
}
|
||||
businessPartner.setItemValue("partner.iban.list", mapOrderItems);
|
||||
businessPartner.setItemValue(BusinessPartnerService.ITEM_IBAN_LIST, mapOrderItems);
|
||||
}
|
||||
|
||||
} catch (QueryException e) {
|
||||
|
|
@ -269,6 +310,15 @@ public class BusinessPartnerImportService {
|
|||
return businessPartner;
|
||||
}
|
||||
|
||||
/**
|
||||
* entfernt alle leerzeichen
|
||||
*/
|
||||
public String superTrim(String data) {
|
||||
String result = data.trim();
|
||||
result = result.replace(" ", "");
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sucht nach einem Business partner
|
||||
*
|
||||
|
|
|
|||
2
pom.xml
2
pom.xml
|
|
@ -25,7 +25,7 @@
|
|||
|
||||
<!-- Dependency Versions -->
|
||||
<jakarta.version>10.0.0</jakarta.version>
|
||||
<org.imixs.office.version>5.0.4-SNAPSHOT</org.imixs.office.version>
|
||||
<org.imixs.office.version>5.0.4</org.imixs.office.version>
|
||||
<org.imixs.workflow.version>6.0.9</org.imixs.workflow.version>
|
||||
<org.imixs.marty.version>5.0.0</org.imixs.marty.version>
|
||||
<org.imixs.archive.version>3.0.2</org.imixs.archive.version>
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@
|
|||
<bpmn2:participant id="participant_d6UFsQ" name="Default Process" processRef="process_1"/>
|
||||
<bpmn2:participant id="participant_oxb3dg" name="Business Partner" processRef="process_Hw9Ryg">
|
||||
<bpmn2:documentation id="documentation_Jerngw"/>
|
||||
<bpmn2:outgoing>association_83sZPw</bpmn2:outgoing>
|
||||
</bpmn2:participant>
|
||||
</bpmn2:collaboration>
|
||||
<bpmn2:extensionElements>
|
||||
|
|
@ -25,9 +26,12 @@
|
|||
<imixs:value><![CDATA[org.imixs.marty.plugins.SequenceNumberPlugin]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="txtfieldmapping" type="xs:string">
|
||||
<imixs:value><![CDATA[Creator|$creator]]></imixs:value>
|
||||
<imixs:value><![CDATA[Owner|$owner]]></imixs:value>
|
||||
<imixs:value><![CDATA[Editor|$editor]]></imixs:value>
|
||||
<imixs:value><![CDATA[Ersteller | $creator]]></imixs:value>
|
||||
<imixs:value><![CDATA[Aktueller Bearbeiter | $editor]]></imixs:value>
|
||||
<imixs:value><![CDATA[Eigentümer | $owner]]></imixs:value>
|
||||
<imixs:value><![CDATA[Prozess-Verantwortliche| process.manager]]></imixs:value>
|
||||
<imixs:value><![CDATA[Prozess-Team | process.team]]></imixs:value>
|
||||
<imixs:value><![CDATA[Prozess-Assistenz | process.assist]]></imixs:value>
|
||||
</imixs:item>
|
||||
</bpmn2:extensionElements>
|
||||
<bpmn2:process definitionalCollaborationRef="collaboration_1" id="process_1" name="Default Process" processType="Public">
|
||||
|
|
@ -49,10 +53,30 @@
|
|||
<bpmn2:flowNodeRef>textAnnotation_LyGTCw</bpmn2:flowNodeRef>
|
||||
<bpmn2:flowNodeRef>event_TuyuwQ</bpmn2:flowNodeRef>
|
||||
<bpmn2:flowNodeRef>event_h0Kk5g</bpmn2:flowNodeRef>
|
||||
<bpmn2:flowNodeRef>task_delO7Q</bpmn2:flowNodeRef>
|
||||
<bpmn2:flowNodeRef>event_1OVorA</bpmn2:flowNodeRef>
|
||||
<bpmn2:flowNodeRef>event_baWU4w</bpmn2:flowNodeRef>
|
||||
<bpmn2:flowNodeRef>event_ofjVfg</bpmn2:flowNodeRef>
|
||||
<bpmn2:flowNodeRef>event_i7yQVw</bpmn2:flowNodeRef>
|
||||
<bpmn2:flowNodeRef>gateway_uK0c6g</bpmn2:flowNodeRef>
|
||||
<bpmn2:flowNodeRef>event_6250fg</bpmn2:flowNodeRef>
|
||||
</bpmn2:lane>
|
||||
</bpmn2:laneSet>
|
||||
<bpmn2:task id="task_ToMZaQ" imixs:processid="1000" name="Neuanlage">
|
||||
<bpmn2:extensionElements/>
|
||||
<bpmn2:extensionElements>
|
||||
<imixs:item name="keyupdateacl" type="xs:string">
|
||||
<imixs:value><![CDATA[true]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="namownershipnames" type="xs:string">
|
||||
<imixs:value/>
|
||||
</imixs:item>
|
||||
<imixs:item name="namaddreadaccess" type="xs:string">
|
||||
<imixs:value/>
|
||||
</imixs:item>
|
||||
<imixs:item name="namaddwriteaccess" type="xs:string">
|
||||
<imixs:value/>
|
||||
</imixs:item>
|
||||
</bpmn2:extensionElements>
|
||||
<bpmn2:documentation id="documentation_a83GTA"/>
|
||||
<bpmn2:incoming>sequenceFlow_25otUg</bpmn2:incoming>
|
||||
<bpmn2:outgoing>sequenceFlow_S9LVXg</bpmn2:outgoing>
|
||||
|
|
@ -63,7 +87,6 @@
|
|||
</bpmn2:startEvent>
|
||||
<bpmn2:endEvent id="event_1clvlg" name="Ende">
|
||||
<bpmn2:documentation id="documentation_obvnAg"/>
|
||||
<bpmn2:incoming>sequenceFlow_NNbMhg</bpmn2:incoming>
|
||||
<bpmn2:incoming>sequenceFlow_rwdWxw</bpmn2:incoming>
|
||||
</bpmn2:endEvent>
|
||||
<bpmn2:sequenceFlow id="sequenceFlow_25otUg" sourceRef="event_WmkBvw" targetRef="task_ToMZaQ">
|
||||
|
|
@ -77,13 +100,40 @@
|
|||
<imixs:item name="txtworkflowsummary" type="xs:string">
|
||||
<imixs:value><![CDATA[<itemvalue>partner.name</itemvalue> (<itemvalue>partner.id</itemvalue>)]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="txtworkflowabstract" type="xs:string">
|
||||
<imixs:value><![CDATA[<strong>Adresse:</strong><br />
|
||||
<itemvalue>partner.name</itemvalue><br />
|
||||
<itemvalue>partner.address</itemvalue><br />
|
||||
<itemvalue>partner.zip</itemvalue> <itemvalue>partner.city</itemvalue><br />
|
||||
<br />
|
||||
|
||||
<strong>BPID:</strong> <itemvalue>partner.id</itemvalue><br />
|
||||
<strong>Kreditoren-Nr.:</strong> <itemvalue>cdtr.number</itemvalue><br />
|
||||
<strong>Debitoren-Nr.:</strong> <itemvalue>dbtr.number</itemvalue><br />
|
||||
]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="keyupdateacl" type="xs:string">
|
||||
<imixs:value><![CDATA[true]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="namownershipnames" type="xs:string">
|
||||
<imixs:value/>
|
||||
</imixs:item>
|
||||
<imixs:item name="namaddreadaccess" type="xs:string">
|
||||
<imixs:value/>
|
||||
</imixs:item>
|
||||
<imixs:item name="namaddwriteaccess" type="xs:string">
|
||||
<imixs:value/>
|
||||
</imixs:item>
|
||||
<imixs:item name="keyaddwritefields" type="xs:string">
|
||||
<imixs:value><![CDATA[process.team]]></imixs:value>
|
||||
</imixs:item>
|
||||
</bpmn2:extensionElements>
|
||||
<bpmn2:documentation id="documentation_M7b42w"/>
|
||||
<bpmn2:incoming>sequenceFlow_knUYpQ</bpmn2:incoming>
|
||||
<bpmn2:outgoing>sequenceFlow_2uNvPw</bpmn2:outgoing>
|
||||
<bpmn2:outgoing>sequenceFlow_NNbMhg</bpmn2:outgoing>
|
||||
<bpmn2:incoming>sequenceFlow_avahXg</bpmn2:incoming>
|
||||
<bpmn2:incoming>sequenceFlow_9atLFA</bpmn2:incoming>
|
||||
<bpmn2:outgoing>sequenceFlow_T5L9aQ</bpmn2:outgoing>
|
||||
<bpmn2:incoming>sequenceFlow_b4BcVA</bpmn2:incoming>
|
||||
<bpmn2:incoming>sequenceFlow_8O1EtQ</bpmn2:incoming>
|
||||
</bpmn2:task>
|
||||
<bpmn2:task id="task_B8Pi7A" imixs:processid="1800" name="Gesperrt">
|
||||
<bpmn2:extensionElements>
|
||||
|
|
@ -93,34 +143,59 @@
|
|||
<imixs:item name="txtimageurl" type="xs:string">
|
||||
<imixs:value><![CDATA[typcn-user|typcn-times,imixs-error]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="txtworkflowabstract" type="xs:string">
|
||||
<imixs:value><![CDATA[<strong>Adresse:</strong><br />
|
||||
<itemvalue>partner.name</itemvalue><br />
|
||||
<itemvalue>partner.address</itemvalue><br />
|
||||
<itemvalue>partner.zip</itemvalue> <itemvalue>partner.city</itemvalue><br />
|
||||
<br />
|
||||
|
||||
<strong>BPID:</strong> <itemvalue>partner.id</itemvalue><br />
|
||||
<strong>Kreditoren-Nr.:</strong> <itemvalue>cdtr.number</itemvalue><br />
|
||||
<strong>Debitoren-Nr.:</strong> <itemvalue>dbtr.number</itemvalue><br />
|
||||
]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="keyupdateacl" type="xs:string">
|
||||
<imixs:value><![CDATA[true]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="namownershipnames" type="xs:string">
|
||||
<imixs:value/>
|
||||
</imixs:item>
|
||||
<imixs:item name="namaddreadaccess" type="xs:string">
|
||||
<imixs:value/>
|
||||
</imixs:item>
|
||||
<imixs:item name="namaddwriteaccess" type="xs:string">
|
||||
<imixs:value/>
|
||||
</imixs:item>
|
||||
<imixs:item name="keyaddwritefields" type="xs:string">
|
||||
<imixs:value><![CDATA[process.team]]></imixs:value>
|
||||
</imixs:item>
|
||||
</bpmn2:extensionElements>
|
||||
<bpmn2:documentation id="documentation_0B9wKQ"/>
|
||||
<bpmn2:incoming>sequenceFlow_1mXO8A</bpmn2:incoming>
|
||||
<bpmn2:outgoing>sequenceFlow_rwdWxw</bpmn2:outgoing>
|
||||
<bpmn2:incoming>sequenceFlow_gC0I9w</bpmn2:incoming>
|
||||
<bpmn2:incoming>sequenceFlow_kS2fMA</bpmn2:incoming>
|
||||
</bpmn2:task>
|
||||
<bpmn2:intermediateCatchEvent id="event_aSdkwg" imixs:activityid="201" name="[import]">
|
||||
<bpmn2:intermediateCatchEvent id="event_aSdkwg" imixs:activityid="100" name="[import]">
|
||||
<bpmn2:extensionElements>
|
||||
<imixs:item name="keypublicresult" type="xs:string">
|
||||
<imixs:value><![CDATA[0]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="rtfresultlog" type="xs:string">
|
||||
<imixs:value><![CDATA[Business Partner aus Cargosoft Importiert]]></imixs:value>
|
||||
<imixs:value><![CDATA[Business Partner aus Cargosoft importiert]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="txtactivityresult" type="xs:string">
|
||||
<imixs:value><![CDATA[<item name="process">Partnermanagement</item>]]></imixs:value>
|
||||
</imixs:item>
|
||||
</bpmn2:extensionElements>
|
||||
<bpmn2:documentation id="documentation_5409Kg"/>
|
||||
<bpmn2:incoming>sequenceFlow_S9LVXg</bpmn2:incoming>
|
||||
<bpmn2:outgoing>sequenceFlow_knUYpQ</bpmn2:outgoing>
|
||||
<bpmn2:incoming>sequenceFlow_jAU3VA</bpmn2:incoming>
|
||||
<bpmn2:outgoing>sequenceFlow_8O1EtQ</bpmn2:outgoing>
|
||||
</bpmn2:intermediateCatchEvent>
|
||||
<bpmn2:sequenceFlow id="sequenceFlow_S9LVXg" sourceRef="task_ToMZaQ" targetRef="event_aSdkwg">
|
||||
<bpmn2:sequenceFlow id="sequenceFlow_S9LVXg" sourceRef="task_ToMZaQ" targetRef="gateway_uK0c6g">
|
||||
<bpmn2:documentation id="documentation_Idvd0Q"/>
|
||||
</bpmn2:sequenceFlow>
|
||||
<bpmn2:sequenceFlow id="sequenceFlow_knUYpQ" sourceRef="event_aSdkwg" targetRef="task_Q80A1Q">
|
||||
<bpmn2:documentation id="documentation_DSg1Eg"/>
|
||||
</bpmn2:sequenceFlow>
|
||||
<bpmn2:intermediateCatchEvent id="event_Tr0aug" imixs:activityid="30" name="Sperren">
|
||||
<bpmn2:extensionElements>
|
||||
<imixs:item name="keypublicresult" type="xs:string">
|
||||
|
|
@ -128,18 +203,13 @@
|
|||
</imixs:item>
|
||||
</bpmn2:extensionElements>
|
||||
<bpmn2:documentation id="documentation_2XhDKQ"/>
|
||||
<bpmn2:incoming>sequenceFlow_2uNvPw</bpmn2:incoming>
|
||||
<bpmn2:outgoing>sequenceFlow_1mXO8A</bpmn2:outgoing>
|
||||
<bpmn2:incoming>sequenceFlow_b0Bj3Q</bpmn2:incoming>
|
||||
<bpmn2:incoming>sequenceFlow_T5L9aQ</bpmn2:incoming>
|
||||
</bpmn2:intermediateCatchEvent>
|
||||
<bpmn2:sequenceFlow id="sequenceFlow_2uNvPw" sourceRef="task_Q80A1Q" targetRef="event_Tr0aug">
|
||||
<bpmn2:documentation id="documentation_G0afxQ"/>
|
||||
</bpmn2:sequenceFlow>
|
||||
<bpmn2:sequenceFlow id="sequenceFlow_1mXO8A" sourceRef="event_Tr0aug" targetRef="task_B8Pi7A">
|
||||
<bpmn2:documentation id="documentation_JL48mA"/>
|
||||
</bpmn2:sequenceFlow>
|
||||
<bpmn2:sequenceFlow id="sequenceFlow_NNbMhg" sourceRef="task_Q80A1Q" targetRef="event_1clvlg">
|
||||
<bpmn2:documentation id="documentation_I0Y0pQ"/>
|
||||
</bpmn2:sequenceFlow>
|
||||
<bpmn2:sequenceFlow id="sequenceFlow_rwdWxw" sourceRef="task_B8Pi7A" targetRef="event_1clvlg">
|
||||
<bpmn2:documentation id="documentation_8xdVSA"/>
|
||||
</bpmn2:sequenceFlow>
|
||||
|
|
@ -174,13 +244,10 @@
|
|||
<item name="dbtr.creditperiod" type="text" span="2" readonly="false" label="Zahlungsziel (Tage):" />
|
||||
</imixs-form-section>
|
||||
|
||||
<imixs-form-section label="Banken" path="alexander/sub_businesspartner_ibanlist" />
|
||||
<imixs-form-section label="Banken" path="alexander/section_businesspartner_banklist" />
|
||||
|
||||
</imixs-form>]]></bpmn2:documentation>
|
||||
</bpmn2:dataObject>
|
||||
<bpmn2:association id="association_pG70zw" sourceRef="task_ToMZaQ" targetRef="dataObject_UQIXAQ">
|
||||
<bpmn2:documentation id="documentation_ukKpew"/>
|
||||
</bpmn2:association>
|
||||
<bpmn2:intermediateCatchEvent id="event_vwH0cA" imixs:activityid="10" name="Speichern">
|
||||
<bpmn2:documentation id="documentation_WOUVTQ"/>
|
||||
<bpmn2:outgoing>sequenceFlow_avahXg</bpmn2:outgoing>
|
||||
|
|
@ -196,10 +263,10 @@
|
|||
<bpmn2:text id="text_M05BXg"><![CDATA[Neuanalge erfolgt über den Cargosoft CSV Import im BusinessPartnerImportService]]></bpmn2:text>
|
||||
<bpmn2:documentation id="documentation_wdTBKA"/>
|
||||
</bpmn2:textAnnotation>
|
||||
<bpmn2:association id="association_83sZPw" sourceRef="event_aSdkwg" targetRef="textAnnotation_LyGTCw">
|
||||
<bpmn2:association id="association_83sZPw" sourceRef="participant_oxb3dg" targetRef="textAnnotation_LyGTCw">
|
||||
<bpmn2:documentation id="documentation_FKcIcg"/>
|
||||
</bpmn2:association>
|
||||
<bpmn2:intermediateCatchEvent id="event_TuyuwQ" imixs:activityid="201" name="[update]">
|
||||
<bpmn2:intermediateCatchEvent id="event_TuyuwQ" imixs:activityid="200" name="[update]">
|
||||
<bpmn2:extensionElements>
|
||||
<imixs:item name="keypublicresult" type="xs:string">
|
||||
<imixs:value><![CDATA[0]]></imixs:value>
|
||||
|
|
@ -207,6 +274,9 @@
|
|||
<imixs:item name="txtactivityresult" type="xs:string">
|
||||
<imixs:value><![CDATA[Business Partner aktualisiert aus Cargosoft ]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="rtfresultlog" type="xs:string">
|
||||
<imixs:value><![CDATA[Business Partner aus Cargosoft aktualisiert]]></imixs:value>
|
||||
</imixs:item>
|
||||
</bpmn2:extensionElements>
|
||||
<bpmn2:documentation id="documentation_wy3OSA"/>
|
||||
<bpmn2:outgoing>sequenceFlow_9atLFA</bpmn2:outgoing>
|
||||
|
|
@ -229,139 +299,346 @@
|
|||
<bpmn2:sequenceFlow id="sequenceFlow_gC0I9w" sourceRef="event_h0Kk5g" targetRef="task_B8Pi7A">
|
||||
<bpmn2:documentation id="documentation_gfdNnQ"/>
|
||||
</bpmn2:sequenceFlow>
|
||||
<bpmn2:task id="task_delO7Q" imixs:processid="1300" name="Plausibilitätsprüfung">
|
||||
<bpmn2:extensionElements>
|
||||
<imixs:item name="txtimageurl" type="xs:string">
|
||||
<imixs:value><![CDATA[typcn-user|typcn-tick,imixs-success]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="txtworkflowsummary" type="xs:string">
|
||||
<imixs:value><![CDATA[<itemvalue>partner.name</itemvalue> (<itemvalue>partner.id</itemvalue>)]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="txtworkflowabstract" type="xs:string">
|
||||
<imixs:value><![CDATA[<strong>Adresse:</strong><br />
|
||||
<itemvalue>partner.name</itemvalue><br />
|
||||
<itemvalue>partner.address</itemvalue><br />
|
||||
<itemvalue>partner.zip</itemvalue> <itemvalue>partner.city</itemvalue><br />
|
||||
<br />
|
||||
|
||||
<strong>BPID:</strong> <itemvalue>partner.id</itemvalue><br />
|
||||
<strong>Kreditoren-Nr.:</strong> <itemvalue>cdtr.number</itemvalue><br />
|
||||
<strong>Debitoren-Nr.:</strong> <itemvalue>dbtr.number</itemvalue><br />
|
||||
]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="keyupdateacl" type="xs:string">
|
||||
<imixs:value><![CDATA[true]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="keyownershipfields" type="xs:string">
|
||||
<imixs:value><![CDATA[process.team]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="namownershipnames" type="xs:string">
|
||||
<imixs:value/>
|
||||
</imixs:item>
|
||||
<imixs:item name="namaddreadaccess" type="xs:string">
|
||||
<imixs:value/>
|
||||
</imixs:item>
|
||||
<imixs:item name="namaddwriteaccess" type="xs:string">
|
||||
<imixs:value/>
|
||||
</imixs:item>
|
||||
<imixs:item name="keyaddwritefields" type="xs:string">
|
||||
<imixs:value><![CDATA[process.team]]></imixs:value>
|
||||
</imixs:item>
|
||||
</bpmn2:extensionElements>
|
||||
<bpmn2:documentation id="documentation_1TuLXg"/>
|
||||
<bpmn2:outgoing>sequenceFlow_NNbMhg</bpmn2:outgoing>
|
||||
<bpmn2:incoming>sequenceFlow_avahXg</bpmn2:incoming>
|
||||
<bpmn2:outgoing>sequenceFlow_pvIENQ</bpmn2:outgoing>
|
||||
<bpmn2:incoming>sequenceFlow_BWOtzA</bpmn2:incoming>
|
||||
<bpmn2:incoming>sequenceFlow_ofWWuw</bpmn2:incoming>
|
||||
<bpmn2:outgoing>sequenceFlow_b0Bj3Q</bpmn2:outgoing>
|
||||
<bpmn2:incoming>sequenceFlow_BHsRkQ</bpmn2:incoming>
|
||||
</bpmn2:task>
|
||||
<bpmn2:intermediateCatchEvent id="event_1OVorA" imixs:activityid="300" name="[iban/bic error]">
|
||||
<bpmn2:extensionElements>
|
||||
<imixs:item name="keypublicresult" type="xs:string">
|
||||
<imixs:value><![CDATA[0]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="txtactivityresult" type="xs:string">
|
||||
<imixs:value><![CDATA[Business Partner aktualisiert aus Cargosoft ]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="rtfresultlog" type="xs:string">
|
||||
<imixs:value><![CDATA[IBAN/BIC Plausibilität prüfen]]></imixs:value>
|
||||
</imixs:item>
|
||||
</bpmn2:extensionElements>
|
||||
<bpmn2:documentation id="documentation_J8iRLQ"/>
|
||||
<bpmn2:incoming>sequenceFlow_iwMsIg</bpmn2:incoming>
|
||||
<bpmn2:outgoing>sequenceFlow_BHsRkQ</bpmn2:outgoing>
|
||||
</bpmn2:intermediateCatchEvent>
|
||||
<bpmn2:intermediateCatchEvent id="event_baWU4w" imixs:activityid="10" name="Korrigiert">
|
||||
<bpmn2:extensionElements>
|
||||
<imixs:item name="rtfresultlog" type="xs:string">
|
||||
<imixs:value><![CDATA[Daten korrigiert]]></imixs:value>
|
||||
</imixs:item>
|
||||
</bpmn2:extensionElements>
|
||||
<bpmn2:documentation id="documentation_q730KA"/>
|
||||
<bpmn2:incoming>sequenceFlow_pvIENQ</bpmn2:incoming>
|
||||
<bpmn2:outgoing>sequenceFlow_b4BcVA</bpmn2:outgoing>
|
||||
</bpmn2:intermediateCatchEvent>
|
||||
<bpmn2:sequenceFlow id="sequenceFlow_pvIENQ" sourceRef="task_delO7Q" targetRef="event_baWU4w">
|
||||
<bpmn2:documentation id="documentation_BYJ08A"/>
|
||||
</bpmn2:sequenceFlow>
|
||||
<bpmn2:sequenceFlow id="sequenceFlow_b4BcVA" sourceRef="event_baWU4w" targetRef="task_Q80A1Q">
|
||||
<bpmn2:documentation id="documentation_5wWdHA"/>
|
||||
</bpmn2:sequenceFlow>
|
||||
<bpmn2:intermediateCatchEvent id="event_ofjVfg" imixs:activityid="200" name="[update]">
|
||||
<bpmn2:extensionElements>
|
||||
<imixs:item name="keypublicresult" type="xs:string">
|
||||
<imixs:value><![CDATA[0]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="txtactivityresult" type="xs:string">
|
||||
<imixs:value><![CDATA[Business Partner aktualisiert aus Cargosoft ]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="rtfresultlog" type="xs:string">
|
||||
<imixs:value><![CDATA[Business Partner aus Cargosoft aktualisiert]]></imixs:value>
|
||||
</imixs:item>
|
||||
</bpmn2:extensionElements>
|
||||
<bpmn2:documentation id="documentation_A42bcQ"/>
|
||||
<bpmn2:outgoing>sequenceFlow_BWOtzA</bpmn2:outgoing>
|
||||
</bpmn2:intermediateCatchEvent>
|
||||
<bpmn2:sequenceFlow id="sequenceFlow_BWOtzA" sourceRef="event_ofjVfg" targetRef="task_delO7Q">
|
||||
<bpmn2:documentation id="documentation_QW3slw"/>
|
||||
</bpmn2:sequenceFlow>
|
||||
<bpmn2:intermediateCatchEvent id="event_i7yQVw" imixs:activityid="10" name="Speichern">
|
||||
<bpmn2:documentation id="documentation_Il4Shw"/>
|
||||
<bpmn2:outgoing>sequenceFlow_ofWWuw</bpmn2:outgoing>
|
||||
</bpmn2:intermediateCatchEvent>
|
||||
<bpmn2:sequenceFlow id="sequenceFlow_ofWWuw" sourceRef="event_i7yQVw" targetRef="task_delO7Q">
|
||||
<bpmn2:documentation id="documentation_fXWIBw"/>
|
||||
</bpmn2:sequenceFlow>
|
||||
<bpmn2:sequenceFlow id="sequenceFlow_b0Bj3Q" sourceRef="task_delO7Q" targetRef="event_Tr0aug">
|
||||
<bpmn2:documentation id="documentation_pVJeTQ"/>
|
||||
</bpmn2:sequenceFlow>
|
||||
<bpmn2:sequenceFlow id="sequenceFlow_T5L9aQ" sourceRef="task_Q80A1Q" targetRef="event_Tr0aug">
|
||||
<bpmn2:documentation id="documentation_0GJKgQ"/>
|
||||
</bpmn2:sequenceFlow>
|
||||
<bpmn2:exclusiveGateway gatewayDirection="Diverging" id="gateway_uK0c6g" name="">
|
||||
<bpmn2:documentation id="documentation_V9jDYA"/>
|
||||
<bpmn2:incoming>sequenceFlow_S9LVXg</bpmn2:incoming>
|
||||
<bpmn2:outgoing>sequenceFlow_jAU3VA</bpmn2:outgoing>
|
||||
<bpmn2:outgoing>sequenceFlow_iwMsIg</bpmn2:outgoing>
|
||||
</bpmn2:exclusiveGateway>
|
||||
<bpmn2:sequenceFlow id="sequenceFlow_jAU3VA" sourceRef="gateway_uK0c6g" targetRef="event_aSdkwg">
|
||||
<bpmn2:documentation id="documentation_ZNk0Bw"/>
|
||||
</bpmn2:sequenceFlow>
|
||||
<bpmn2:sequenceFlow id="sequenceFlow_iwMsIg" sourceRef="gateway_uK0c6g" targetRef="event_1OVorA">
|
||||
<bpmn2:documentation id="documentation_KTOYPg"/>
|
||||
</bpmn2:sequenceFlow>
|
||||
<bpmn2:sequenceFlow id="sequenceFlow_BHsRkQ" sourceRef="event_1OVorA" targetRef="task_delO7Q">
|
||||
<bpmn2:documentation id="documentation_SvoFWw"/>
|
||||
</bpmn2:sequenceFlow>
|
||||
<bpmn2:association id="association_WgLbbg" sourceRef="dataObject_UQIXAQ" targetRef="task_delO7Q">
|
||||
<bpmn2:documentation id="documentation_YhKaqg"/>
|
||||
</bpmn2:association>
|
||||
<bpmn2:sequenceFlow id="sequenceFlow_8O1EtQ" sourceRef="event_aSdkwg" targetRef="task_Q80A1Q">
|
||||
<bpmn2:documentation id="documentation_VTvROw"/>
|
||||
</bpmn2:sequenceFlow>
|
||||
<bpmn2:intermediateCatchEvent id="event_6250fg" imixs:activityid="10" name="Speichern">
|
||||
<bpmn2:documentation id="documentation_fcuXRg"/>
|
||||
<bpmn2:outgoing>sequenceFlow_kS2fMA</bpmn2:outgoing>
|
||||
</bpmn2:intermediateCatchEvent>
|
||||
<bpmn2:sequenceFlow id="sequenceFlow_kS2fMA" sourceRef="event_6250fg" targetRef="task_B8Pi7A">
|
||||
<bpmn2:documentation id="documentation_t0kr1g"/>
|
||||
</bpmn2:sequenceFlow>
|
||||
</bpmn2:process>
|
||||
<bpmndi:BPMNDiagram id="BPMNDiagram_1" name="OpenBPMN Diagram">
|
||||
<bpmndi:BPMNPlane bpmnElement="collaboration_1" id="BPMNPlane_1">
|
||||
<bpmndi:BPMNShape bpmnElement="event_WmkBvw" id="BPMNShape_heefeQ">
|
||||
<dc:Bounds height="36.0" width="36.0" x="77.0" y="167.0"/>
|
||||
<dc:Bounds height="36.0" width="36.0" x="57.0" y="277.0"/>
|
||||
<bpmndi:BPMNLabel id="BPMNLabel_6qfN6w">
|
||||
<dc:Bounds height="20.0" width="100.0" x="45.0" y="206.0"/>
|
||||
<dc:Bounds height="20.0" width="100.0" x="25.0" y="316.0"/>
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape bpmnElement="event_1clvlg" id="BPMNShape_85k4rg">
|
||||
<dc:Bounds height="36.0" width="36.0" x="787.0" y="167.0"/>
|
||||
<dc:Bounds height="36.0" width="36.0" x="1657.0" y="277.0"/>
|
||||
<bpmndi:BPMNLabel id="BPMNLabel_F7t2Ng">
|
||||
<dc:Bounds height="20.0" width="100.0" x="755.0" y="149.0"/>
|
||||
<dc:Bounds height="20.0" width="100.0" x="1625.0" y="259.0"/>
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape bpmnElement="task_ToMZaQ" id="BPMNShape_CUpR6w">
|
||||
<dc:Bounds height="50.0" width="110.0" x="200.0" y="160.0"/>
|
||||
<dc:Bounds height="50.0" width="110.0" x="170.0" y="270.0"/>
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape bpmnElement="participant_oxb3dg" id="BPMNShape_mqlDUA">
|
||||
<dc:Bounds height="550.0" width="1420.0" x="-30.0" y="40.0"/>
|
||||
<dc:Bounds height="820.0" width="1820.0" x="-30.0" y="40.0"/>
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape bpmnElement="lane_Zxa2TA" id="BPMNShape_Lane_1cDN5A">
|
||||
<dc:Bounds height="550.0" width="1390.0" x="0.0" y="40.0"/>
|
||||
<dc:Bounds height="820.0" width="1790.0" x="0.0" y="40.0"/>
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_25otUg" id="BPMNEdge_NHnc3g" sourceElement="BPMNShape_heefeQ" targetElement="BPMNShape_CUpR6w">
|
||||
<di:waypoint x="113.0" y="185.0"/>
|
||||
<di:waypoint x="200.0" y="185.0"/>
|
||||
<di:waypoint x="93.0" y="295.0"/>
|
||||
<di:waypoint x="170.0" y="295.0"/>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNShape bpmnElement="task_Q80A1Q" id="BPMNShape_7JA0nw">
|
||||
<dc:Bounds height="50.0" width="110.0" x="490.0" y="160.0"/>
|
||||
<dc:Bounds height="50.0" width="110.0" x="830.0" y="270.0"/>
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape bpmnElement="task_B8Pi7A" id="BPMNShape_ghujeA">
|
||||
<dc:Bounds height="50.0" width="110.0" x="490.0" y="320.0"/>
|
||||
<dc:Bounds height="50.0" width="110.0" x="1360.0" y="270.0"/>
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape bpmnElement="event_aSdkwg" id="BPMNShape_uesqgg">
|
||||
<dc:Bounds height="36.0" width="36.0" x="377.0" y="167.0"/>
|
||||
<dc:Bounds height="36.0" width="36.0" x="437.0" y="277.0"/>
|
||||
<bpmndi:BPMNLabel id="BPMNLabel_AxKRKQ">
|
||||
<dc:Bounds height="20.0" width="100.0" x="345.0" y="206.0"/>
|
||||
<dc:Bounds height="20.0" width="100.0" x="405.0" y="316.0"/>
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_S9LVXg" id="BPMNEdge_xoCSiA" sourceElement="BPMNShape_CUpR6w" targetElement="BPMNShape_uesqgg">
|
||||
<di:waypoint x="310.0" y="185.0"/>
|
||||
<di:waypoint x="377.0" y="185.0"/>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_knUYpQ" id="BPMNEdge_0yPtdQ" sourceElement="BPMNShape_uesqgg" targetElement="BPMNShape_7JA0nw">
|
||||
<di:waypoint x="413.0" y="185.0"/>
|
||||
<di:waypoint x="490.0" y="185.0"/>
|
||||
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_S9LVXg" id="BPMNEdge_xoCSiA" sourceElement="BPMNShape_CUpR6w" targetElement="BPMNShape_6IZk7Q">
|
||||
<di:waypoint x="280.0" y="295.0"/>
|
||||
<di:waypoint x="340.0" y="295.0"/>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNShape bpmnElement="event_Tr0aug" id="BPMNShape_NEaJjA">
|
||||
<dc:Bounds height="36.0" width="36.0" x="527.0" y="237.0"/>
|
||||
<dc:Bounds height="36.0" width="36.0" x="1227.0" y="277.0"/>
|
||||
<bpmndi:BPMNLabel id="BPMNLabel_GkrCTA">
|
||||
<dc:Bounds height="20.0" width="100.0" x="495.0" y="276.0"/>
|
||||
<dc:Bounds height="20.0" width="100.0" x="1195.0" y="316.0"/>
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_2uNvPw" id="BPMNEdge_Q4F2dQ" sourceElement="BPMNShape_7JA0nw" targetElement="BPMNShape_NEaJjA">
|
||||
<di:waypoint x="545.0" y="210.0"/>
|
||||
<di:waypoint x="545.0" y="237.0"/>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_1mXO8A" id="BPMNEdge_7CorJA" sourceElement="BPMNShape_NEaJjA" targetElement="BPMNShape_ghujeA">
|
||||
<di:waypoint x="545.0" y="273.0"/>
|
||||
<di:waypoint x="545.0" y="320.0"/>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_NNbMhg" id="BPMNEdge_HdVWPQ" sourceElement="BPMNShape_7JA0nw" targetElement="BPMNShape_85k4rg">
|
||||
<di:waypoint x="600.0" y="185.0"/>
|
||||
<di:waypoint x="787.0" y="185.0"/>
|
||||
<di:waypoint x="1263.0" y="295.0"/>
|
||||
<di:waypoint x="1360.0" y="295.0"/>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_rwdWxw" id="BPMNEdge_t88dUw" sourceElement="BPMNShape_ghujeA" targetElement="BPMNShape_85k4rg">
|
||||
<di:waypoint x="600.0" y="345.0"/>
|
||||
<di:waypoint x="810.0" y="345.0"/>
|
||||
<di:waypoint x="810.0" y="202.0"/>
|
||||
<di:waypoint x="1470.0" y="295.0"/>
|
||||
<di:waypoint x="1657.0" y="295.0"/>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNShape bpmnElement="dataObject_UQIXAQ" id="BPMNShape_Mnop9Q">
|
||||
<dc:Bounds height="50.0" width="35.0" x="380.0" y="60.0"/>
|
||||
<dc:Bounds height="50.0" width="35.0" x="730.0" y="380.0"/>
|
||||
<bpmndi:BPMNLabel id="BPMNLabel_h0UuFw">
|
||||
<dc:Bounds height="20.0" width="100.0" x="347.5" y="115.0"/>
|
||||
<dc:Bounds height="20.0" width="100.0" x="697.5" y="435.0"/>
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNEdge bpmnElement="association_pG70zw" id="BPMNEdge_YKSHpA" sourceElement="BPMNShape_CUpR6w" targetElement="BPMNShape_Mnop9Q">
|
||||
<di:waypoint x="260.0" y="160.0"/>
|
||||
<di:waypoint x="260.0" y="80.0"/>
|
||||
<di:waypoint x="380.0" y="80.0"/>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNShape bpmnElement="event_vwH0cA" id="BPMNShape_OXGg8Q">
|
||||
<dc:Bounds height="36.0" width="36.0" x="657.0" y="67.0"/>
|
||||
<dc:Bounds height="36.0" width="36.0" x="927.0" y="177.0"/>
|
||||
<bpmndi:BPMNLabel id="BPMNLabel_KaHfJQ">
|
||||
<dc:Bounds height="20.0" width="100.0" x="625.0" y="106.0"/>
|
||||
<dc:Bounds height="20.0" width="100.0" x="895.0" y="216.0"/>
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_avahXg" id="BPMNEdge_odMtvQ" sourceElement="BPMNShape_OXGg8Q" targetElement="BPMNShape_7JA0nw">
|
||||
<di:waypoint x="665.0" y="100.0"/>
|
||||
<di:waypoint x="575.0" y="100.0"/>
|
||||
<di:waypoint x="575.0" y="160.0"/>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge bpmnElement="association_uvV8uA" id="BPMNEdge_3Mtxfw" sourceElement="BPMNShape_mqlDUA" targetElement="BPMNShape_7JA0nw">
|
||||
<di:waypoint x="525.0" y="220.0"/>
|
||||
<di:waypoint x="545.0" y="135.0"/>
|
||||
<di:waypoint x="927.0" y="195.0"/>
|
||||
<di:waypoint x="900.0" y="195.0"/>
|
||||
<di:waypoint x="900.0" y="270.0"/>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge bpmnElement="association_uvV8uA" id="BPMNEdge_3Mtxfw" sourceElement="BPMNShape_mqlDUA" targetElement="BPMNShape_7JA0nw"/>
|
||||
<bpmndi:BPMNEdge bpmnElement="association_mpLQEQ" id="BPMNEdge_qkEiPA" sourceElement="BPMNShape_Mnop9Q" targetElement="BPMNShape_7JA0nw">
|
||||
<di:waypoint x="415.0" y="80.0"/>
|
||||
<di:waypoint x="550.0" y="80.0"/>
|
||||
<di:waypoint x="550.0" y="160.0"/>
|
||||
<di:waypoint x="750.0" y="380.0"/>
|
||||
<di:waypoint x="750.0" y="355.0"/>
|
||||
<di:waypoint x="855.0" y="355.0"/>
|
||||
<di:waypoint x="855.0" y="320.0"/>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNShape bpmnElement="textAnnotation_LyGTCw" id="BPMNShape_SbxnGw">
|
||||
<dc:Bounds height="85.0" width="228.0" x="60.0" y="300.0"/>
|
||||
<dc:Bounds height="85.0" width="228.0" x="80.0" y="80.0"/>
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNEdge bpmnElement="association_83sZPw" id="BPMNEdge_p0XWxg" sourceElement="BPMNShape_uesqgg" targetElement="BPMNShape_SbxnGw">
|
||||
<di:waypoint x="395.0" y="203.0"/>
|
||||
<di:waypoint x="395.0" y="345.0"/>
|
||||
<di:waypoint x="288.0" y="345.0"/>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge bpmnElement="association_83sZPw" id="BPMNEdge_p0XWxg" sourceElement="BPMNShape_mqlDUA" targetElement="BPMNShape_SbxnGw"/>
|
||||
<bpmndi:BPMNShape bpmnElement="event_TuyuwQ" id="BPMNShape_fTy7mg">
|
||||
<dc:Bounds height="36.0" width="36.0" x="447.0" y="237.0"/>
|
||||
<dc:Bounds height="36.0" width="36.0" x="797.0" y="177.0"/>
|
||||
<bpmndi:BPMNLabel id="BPMNLabel_033n1A">
|
||||
<dc:Bounds height="20.0" width="100.0" x="415.0" y="276.0"/>
|
||||
<dc:Bounds height="20.0" width="100.0" x="765.0" y="216.0"/>
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_9atLFA" id="BPMNEdge_BC4pwQ" sourceElement="BPMNShape_fTy7mg" targetElement="BPMNShape_7JA0nw">
|
||||
<di:waypoint x="465.0" y="237.0"/>
|
||||
<di:waypoint x="465.0" y="225.0"/>
|
||||
<di:waypoint x="520.0" y="225.0"/>
|
||||
<di:waypoint x="520.0" y="210.0"/>
|
||||
<di:waypoint x="833.0" y="195.0"/>
|
||||
<di:waypoint x="875.0" y="195.0"/>
|
||||
<di:waypoint x="875.0" y="270.0"/>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNShape bpmnElement="event_h0Kk5g" id="BPMNShape_T4k09g">
|
||||
<dc:Bounds height="36.0" width="36.0" x="497.0" y="427.0"/>
|
||||
<dc:Bounds height="36.0" width="36.0" x="1327.0" y="177.0"/>
|
||||
<bpmndi:BPMNLabel id="BPMNLabel_lX0KlA">
|
||||
<dc:Bounds height="20.0" width="100.0" x="465.0" y="466.0"/>
|
||||
<dc:Bounds height="20.0" width="100.0" x="1295.0" y="216.0"/>
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_gC0I9w" id="BPMNEdge_0nCVvg" sourceElement="BPMNShape_T4k09g" targetElement="BPMNShape_ghujeA">
|
||||
<di:waypoint x="515.0" y="427.0"/>
|
||||
<di:waypoint x="515.0" y="400.0"/>
|
||||
<di:waypoint x="545.0" y="400.0"/>
|
||||
<di:waypoint x="545.0" y="370.0"/>
|
||||
<di:waypoint x="1360.0" y="185.0"/>
|
||||
<di:waypoint x="1390.0" y="185.0"/>
|
||||
<di:waypoint x="1390.0" y="270.0"/>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNShape bpmnElement="task_delO7Q" id="BPMNShape_rEOMWA">
|
||||
<dc:Bounds height="50.0" width="110.0" x="830.0" y="510.0"/>
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape bpmnElement="event_1OVorA" id="BPMNShape_mG4csA">
|
||||
<dc:Bounds height="36.0" width="36.0" x="437.0" y="517.0"/>
|
||||
<bpmndi:BPMNLabel id="BPMNLabel_djIb8w">
|
||||
<dc:Bounds height="20.0" width="100.0" x="408.0" y="559.0"/>
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape bpmnElement="event_baWU4w" id="BPMNShape_755HGg">
|
||||
<dc:Bounds height="36.0" width="36.0" x="867.0" y="407.0"/>
|
||||
<bpmndi:BPMNLabel id="BPMNLabel_oN6XKQ">
|
||||
<dc:Bounds height="20.0" width="100.0" x="835.0" y="446.0"/>
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_pvIENQ" id="BPMNEdge_wXz5yA" sourceElement="BPMNShape_rEOMWA" targetElement="BPMNShape_755HGg">
|
||||
<di:waypoint x="885.0" y="510.0"/>
|
||||
<di:waypoint x="885.0" y="443.0"/>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_b4BcVA" id="BPMNEdge_1gQ5Nw" sourceElement="BPMNShape_755HGg" targetElement="BPMNShape_7JA0nw">
|
||||
<di:waypoint x="885.0" y="407.0"/>
|
||||
<di:waypoint x="885.0" y="320.0"/>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNShape bpmnElement="event_ofjVfg" id="BPMNShape_hDVKtg">
|
||||
<dc:Bounds height="36.0" width="36.0" x="797.0" y="607.0"/>
|
||||
<bpmndi:BPMNLabel id="BPMNLabel_HpXNFQ">
|
||||
<dc:Bounds height="20.0" width="100.0" x="765.0" y="646.0"/>
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_BWOtzA" id="BPMNEdge_KW5PhQ" sourceElement="BPMNShape_hDVKtg" targetElement="BPMNShape_rEOMWA">
|
||||
<di:waypoint x="830.0" y="615.0"/>
|
||||
<di:waypoint x="860.0" y="615.0"/>
|
||||
<di:waypoint x="860.0" y="560.0"/>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNShape bpmnElement="event_i7yQVw" id="BPMNShape_KxnRjA">
|
||||
<dc:Bounds height="36.0" width="36.0" x="927.0" y="607.0"/>
|
||||
<bpmndi:BPMNLabel id="BPMNLabel_sJqwmA">
|
||||
<dc:Bounds height="20.0" width="100.0" x="895.0" y="646.0"/>
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_ofWWuw" id="BPMNEdge_zlNOzQ" sourceElement="BPMNShape_KxnRjA" targetElement="BPMNShape_rEOMWA">
|
||||
<di:waypoint x="930.0" y="615.0"/>
|
||||
<di:waypoint x="910.0" y="615.0"/>
|
||||
<di:waypoint x="910.0" y="560.0"/>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_b0Bj3Q" id="BPMNEdge_CDn41A" sourceElement="BPMNShape_rEOMWA" targetElement="BPMNShape_NEaJjA">
|
||||
<di:waypoint x="940.0" y="540.0"/>
|
||||
<di:waypoint x="1240.0" y="540.0"/>
|
||||
<di:waypoint x="1240.0" y="312.0"/>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_T5L9aQ" id="BPMNEdge_dAQH1Q" sourceElement="BPMNShape_7JA0nw" targetElement="BPMNShape_NEaJjA">
|
||||
<di:waypoint x="940.0" y="295.0"/>
|
||||
<di:waypoint x="1227.0" y="295.0"/>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNShape bpmnElement="gateway_uK0c6g" id="BPMNShape_6IZk7Q">
|
||||
<dc:Bounds height="50.0" width="50.0" x="340.0" y="270.0"/>
|
||||
<bpmndi:BPMNLabel id="BPMNLabel_JvBA0w">
|
||||
<dc:Bounds height="20.0" width="100.0" x="315.0" y="323.0"/>
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_jAU3VA" id="BPMNEdge_2qLI2g" sourceElement="BPMNShape_6IZk7Q" targetElement="BPMNShape_uesqgg">
|
||||
<di:waypoint x="390.0" y="295.0"/>
|
||||
<di:waypoint x="437.0" y="295.0"/>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_iwMsIg" id="BPMNEdge_0vmMXw" sourceElement="BPMNShape_6IZk7Q" targetElement="BPMNShape_mG4csA">
|
||||
<di:waypoint x="365.0" y="320.0"/>
|
||||
<di:waypoint x="365.0" y="535.0"/>
|
||||
<di:waypoint x="437.0" y="535.0"/>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_BHsRkQ" id="BPMNEdge_1LX47g" sourceElement="BPMNShape_mG4csA" targetElement="BPMNShape_rEOMWA">
|
||||
<di:waypoint x="473.0" y="535.0"/>
|
||||
<di:waypoint x="830.0" y="535.0"/>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge bpmnElement="association_WgLbbg" id="BPMNEdge_Btz9CA" sourceElement="BPMNShape_Mnop9Q" targetElement="BPMNShape_rEOMWA">
|
||||
<di:waypoint x="750.0" y="430.0"/>
|
||||
<di:waypoint x="750.0" y="470.0"/>
|
||||
<di:waypoint x="850.0" y="470.0"/>
|
||||
<di:waypoint x="850.0" y="510.0"/>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_8O1EtQ" id="BPMNEdge_JxSLfA" sourceElement="BPMNShape_uesqgg" targetElement="BPMNShape_7JA0nw">
|
||||
<di:waypoint x="473.0" y="295.0"/>
|
||||
<di:waypoint x="830.0" y="295.0"/>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNShape bpmnElement="event_6250fg" id="BPMNShape_v5Xzvg">
|
||||
<dc:Bounds height="36.0" width="36.0" x="1457.0" y="177.0"/>
|
||||
<bpmndi:BPMNLabel id="BPMNLabel_IBnUDA">
|
||||
<dc:Bounds height="20.0" width="100.0" x="1425.0" y="216.0"/>
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_kS2fMA" id="BPMNEdge_i80XvQ" sourceElement="BPMNShape_v5Xzvg" targetElement="BPMNShape_ghujeA">
|
||||
<di:waypoint x="1458.0" y="190.0"/>
|
||||
<di:waypoint x="1435.0" y="190.0"/>
|
||||
<di:waypoint x="1435.0" y="270.0"/>
|
||||
</bpmndi:BPMNEdge>
|
||||
</bpmndi:BPMNPlane>
|
||||
</bpmndi:BPMNDiagram>
|
||||
|
|
|
|||
|
|
@ -5547,8 +5547,8 @@ result.isValid=true;
|
|||
<item name="invoice.total" type="currency" required="true" label="Rechnungsbetrag:" />
|
||||
<item name="invoice.currency" type="custom" required="true" path="alexander/currency_in" label="Währung:" />
|
||||
</imixs-form-section>
|
||||
<imixs-form-section columns="2">
|
||||
|
||||
<imixs-form-section columns="3">
|
||||
<item name="cdtr.bank" type="text" label="Bank:" />
|
||||
<item name="cdtr.iban" type="text" label="IBAN:" />
|
||||
<item name="cdtr.bic" type="text" label="BIC:" />
|
||||
</imixs-form-section>
|
||||
|
|
|
|||
Loading…
Reference in a new issue