update demo data
This commit is contained in:
parent
920ead69f9
commit
34f8d54b08
21 changed files with 5703 additions and 1030 deletions
48
demo/spaces_processes.xml
Normal file
48
demo/spaces_processes.xml
Normal file
File diff suppressed because one or more lines are too long
|
|
@ -30,8 +30,9 @@ public class GenerateModel {
|
||||||
@Test
|
@Test
|
||||||
public void buildModel() {
|
public void buildModel() {
|
||||||
try {
|
try {
|
||||||
String out = "src/test/resources/supplier-compliance-process.bpmn";
|
String out = "src/test/resources/risk-de-1.0.0.bpmn";
|
||||||
String descriptionFile = "src/test/resources/process-description.txt";
|
// String descriptionFile = "src/test/resources/process-description.txt";
|
||||||
|
String descriptionFile = "src/test/resources/riskmanagement.txt";
|
||||||
|
|
||||||
logger.info("...read template");
|
logger.info("...read template");
|
||||||
BPMNModel model = BPMNModelFactory.read("/template-en-0.0.0.bpmn");
|
BPMNModel model = BPMNModelFactory.read("/template-en-0.0.0.bpmn");
|
||||||
|
|
@ -45,7 +46,7 @@ public class GenerateModel {
|
||||||
Event referenceEvent = (Event) process.findElementById("event_vIjHLQ");
|
Event referenceEvent = (Event) process.findElementById("event_vIjHLQ");
|
||||||
|
|
||||||
// Parse description and generate BPMN elements
|
// Parse description and generate BPMN elements
|
||||||
ProcessDescriptionParser parser = new ProcessDescriptionParser();
|
ProcessDescriptionParserGemini parser = new ProcessDescriptionParserGemini();
|
||||||
parser.getLayoutCalculator().setStartPosition(300, 300);
|
parser.getLayoutCalculator().setStartPosition(300, 300);
|
||||||
parser.parseAndGenerate(descriptionFile, process, referenceTask, referenceEvent);
|
parser.parseAndGenerate(descriptionFile, process, referenceTask, referenceEvent);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -18,18 +18,22 @@ import org.openbpmn.bpmn.elements.core.BPMNPoint;
|
||||||
import org.openbpmn.bpmn.exceptions.BPMNModelException;
|
import org.openbpmn.bpmn.exceptions.BPMNModelException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Parses a process description file and generates BPMN elements. Uses
|
* Parses a process description file and generates BPMN elements.
|
||||||
* LayoutCalculator for positioning of elements.
|
* Uses LayoutCalculator for positioning of elements.
|
||||||
|
*
|
||||||
|
* Supports both plain text and Markdown-formatted descriptions.
|
||||||
*/
|
*/
|
||||||
public class ProcessDescriptionParser {
|
public class ProcessDescriptionParser {
|
||||||
|
|
||||||
private static final Logger logger = Logger.getLogger(ProcessDescriptionParser.class.getName());
|
private static final Logger logger = Logger.getLogger(ProcessDescriptionParser.class.getName());
|
||||||
|
|
||||||
// Regex patterns
|
// Regex patterns (flexible for plain text and Markdown)
|
||||||
private static final Pattern TASK_PATTERN = Pattern.compile(
|
private static final Pattern TASK_PATTERN = Pattern.compile(
|
||||||
"\\|-\\s*\\[Task:\\s*(\\d+)\\]\\s*(.+)$");
|
"\\|-\\s*\\[Task:\\s*(\\d+)\\]\\s*(.+)$");
|
||||||
private static final Pattern EVENT_PATTERN = Pattern.compile(
|
private static final Pattern EVENT_PATTERN = Pattern.compile(
|
||||||
"\\|--\\s*\\[Event:\\s*(\\d+)\\]\\s*([^(]+)\\s*\\([^)]*\\)\\s*-->\\s*\\[Task:\\s*(\\d+)\\]");
|
"\\|--\\s*\\[Event:\\s*(\\d+)\\]\\s*(.+?)\\s*-->\\s*\\[Task:\\s*(\\d+)\\]");
|
||||||
|
private static final Pattern TEAM_PATTERN = Pattern.compile(
|
||||||
|
"Team:\\s*(.+)$");
|
||||||
|
|
||||||
// Layout calculator
|
// Layout calculator
|
||||||
private LayoutCalculator layoutCalculator = new LayoutCalculator();
|
private LayoutCalculator layoutCalculator = new LayoutCalculator();
|
||||||
|
|
@ -76,6 +80,19 @@ public class ProcessDescriptionParser {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Removes Markdown formatting (**, *, etc.) from a string.
|
||||||
|
*/
|
||||||
|
private String cleanMarkdown(String text) {
|
||||||
|
if (text == null)
|
||||||
|
return null;
|
||||||
|
// Remove ** and * markers
|
||||||
|
String cleaned = text.replaceAll("\\*\\*", "").replaceAll("\\*", "");
|
||||||
|
// Remove trailing comments like (Iteration für Korrekturen)
|
||||||
|
cleaned = cleaned.replaceAll("\\s*\\([^)]*\\)\\s*$", "");
|
||||||
|
return cleaned.trim();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Parses the description file and creates all BPMN elements in the process.
|
* Parses the description file and creates all BPMN elements in the process.
|
||||||
*/
|
*/
|
||||||
|
|
@ -153,7 +170,7 @@ public class ProcessDescriptionParser {
|
||||||
}
|
}
|
||||||
currentTask = new TaskData(
|
currentTask = new TaskData(
|
||||||
Integer.parseInt(taskMatcher.group(1)),
|
Integer.parseInt(taskMatcher.group(1)),
|
||||||
taskMatcher.group(2).trim());
|
cleanMarkdown(taskMatcher.group(2)));
|
||||||
taskDataList.add(currentTask);
|
taskDataList.add(currentTask);
|
||||||
descBuilder = new StringBuilder();
|
descBuilder = new StringBuilder();
|
||||||
readingDesc = false;
|
readingDesc = false;
|
||||||
|
|
@ -161,9 +178,9 @@ public class ProcessDescriptionParser {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Match team
|
// Match team
|
||||||
if (trimmed.contains("Team:") && currentTask != null) {
|
Matcher teamMatcher = TEAM_PATTERN.matcher(trimmed);
|
||||||
int teamIndex = trimmed.indexOf("Team:");
|
if (teamMatcher.find() && currentTask != null) {
|
||||||
currentTask.team = trimmed.substring(teamIndex + 5).trim();
|
currentTask.team = cleanMarkdown(teamMatcher.group(1));
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -173,7 +190,7 @@ public class ProcessDescriptionParser {
|
||||||
readingDesc = false;
|
readingDesc = false;
|
||||||
events.add(new EventData(
|
events.add(new EventData(
|
||||||
Integer.parseInt(eventMatcher.group(1)),
|
Integer.parseInt(eventMatcher.group(1)),
|
||||||
eventMatcher.group(2).trim(),
|
cleanMarkdown(eventMatcher.group(2)),
|
||||||
currentTask.id,
|
currentTask.id,
|
||||||
Integer.parseInt(eventMatcher.group(3))));
|
Integer.parseInt(eventMatcher.group(3))));
|
||||||
continue;
|
continue;
|
||||||
|
|
@ -242,6 +259,7 @@ public class ProcessDescriptionParser {
|
||||||
Event event = (Event) process.cloneBPMNElementNode(referenceEvent);
|
Event event = (Event) process.cloneBPMNElementNode(referenceEvent);
|
||||||
event.setName(eventData.name);
|
event.setName(eventData.name);
|
||||||
event.setPosition(new BPMNPoint(pos[0], pos[1]));
|
event.setPosition(new BPMNPoint(pos[0], pos[1]));
|
||||||
|
|
||||||
// Calculate activity ID: first event = 10, second = 20, etc. (per task)
|
// Calculate activity ID: first event = 10, second = 20, etc. (per task)
|
||||||
int eventIndex = getEventIndex(eventData.sourceTaskId, eventData.eventId);
|
int eventIndex = getEventIndex(eventData.sourceTaskId, eventData.eventId);
|
||||||
int activityId = (eventIndex + 1) * 10;
|
int activityId = (eventIndex + 1) * 10;
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,303 @@
|
||||||
|
package ai.dynamixs.model.builder;
|
||||||
|
|
||||||
|
import java.io.BufferedReader;
|
||||||
|
import java.io.FileReader;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.logging.Logger;
|
||||||
|
import java.util.regex.Matcher;
|
||||||
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
|
import org.openbpmn.bpmn.elements.Activity;
|
||||||
|
import org.openbpmn.bpmn.elements.BPMNProcess;
|
||||||
|
import org.openbpmn.bpmn.elements.Event;
|
||||||
|
import org.openbpmn.bpmn.elements.core.BPMNPoint;
|
||||||
|
import org.openbpmn.bpmn.exceptions.BPMNModelException;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Parses a process description file and generates BPMN elements. Uses
|
||||||
|
* LayoutCalculator for positioning of elements.
|
||||||
|
*/
|
||||||
|
public class ProcessDescriptionParserClaude {
|
||||||
|
|
||||||
|
private static final Logger logger = Logger.getLogger(ProcessDescriptionParser.class.getName());
|
||||||
|
|
||||||
|
// Regex patterns
|
||||||
|
private static final Pattern TASK_PATTERN = Pattern.compile(
|
||||||
|
"\\|-\\s*\\[Task:\\s*(\\d+)\\]\\s*(.+)$");
|
||||||
|
private static final Pattern EVENT_PATTERN = Pattern.compile(
|
||||||
|
"\\|--\\s*\\[Event:\\s*(\\d+)\\]\\s*([^(]+)\\s*\\([^)]*\\)\\s*-->\\s*\\[Task:\\s*(\\d+)\\]");
|
||||||
|
|
||||||
|
// Layout calculator
|
||||||
|
private LayoutCalculator layoutCalculator = new LayoutCalculator();
|
||||||
|
|
||||||
|
// Storage for created elements
|
||||||
|
private Map<Integer, Activity> tasks = new HashMap<>();
|
||||||
|
private List<EventData> events = new ArrayList<>();
|
||||||
|
private Map<Integer, String> taskLanes = new HashMap<>();
|
||||||
|
private int sequenceFlowCounter = 1;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Internal class to hold event data before creating BPMN elements.
|
||||||
|
*/
|
||||||
|
private static class EventData {
|
||||||
|
int eventId;
|
||||||
|
String name;
|
||||||
|
int sourceTaskId;
|
||||||
|
int targetTaskId;
|
||||||
|
|
||||||
|
EventData(int eventId, String name, int sourceTaskId, int targetTaskId) {
|
||||||
|
this.eventId = eventId;
|
||||||
|
this.name = name;
|
||||||
|
this.sourceTaskId = sourceTaskId;
|
||||||
|
this.targetTaskId = targetTaskId;
|
||||||
|
}
|
||||||
|
|
||||||
|
String getKey() {
|
||||||
|
return sourceTaskId + "_" + eventId;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Simple data holder for tasks during parsing.
|
||||||
|
*/
|
||||||
|
private static class TaskData {
|
||||||
|
int id;
|
||||||
|
String name;
|
||||||
|
String description;
|
||||||
|
String team;
|
||||||
|
|
||||||
|
TaskData(int id, String name) {
|
||||||
|
this.id = id;
|
||||||
|
this.name = name;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Parses the description file and creates all BPMN elements in the process.
|
||||||
|
*/
|
||||||
|
public void parseAndGenerate(String filePath, BPMNProcess process,
|
||||||
|
Activity referenceTask, Event referenceEvent) throws IOException, BPMNModelException {
|
||||||
|
|
||||||
|
tasks.clear();
|
||||||
|
events.clear();
|
||||||
|
taskLanes.clear();
|
||||||
|
|
||||||
|
// Parse file and collect task/event data
|
||||||
|
List<TaskData> taskDataList = parseFile(filePath);
|
||||||
|
|
||||||
|
// Collect unique lanes (in order of first appearance)
|
||||||
|
List<String> laneNames = new ArrayList<>();
|
||||||
|
for (TaskData taskData : taskDataList) {
|
||||||
|
if (taskData.team != null && !laneNames.contains(taskData.team)) {
|
||||||
|
laneNames.add(taskData.team);
|
||||||
|
}
|
||||||
|
taskLanes.put(taskData.id, taskData.team);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Create BPMN lanes
|
||||||
|
for (String laneName : laneNames) {
|
||||||
|
process.addLane(laneName);
|
||||||
|
logger.info("Created lane: " + laneName);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Calculate layout
|
||||||
|
layoutCalculator.calculateLanePositions(laneNames);
|
||||||
|
|
||||||
|
List<Integer> taskIds = taskDataList.stream().map(t -> t.id).toList();
|
||||||
|
layoutCalculator.calculateTaskPositions(taskIds, taskLanes);
|
||||||
|
|
||||||
|
// Calculate layout for all events
|
||||||
|
for (EventData eventData : events) {
|
||||||
|
int eventIndex = getEventIndex(eventData.sourceTaskId, eventData.eventId);
|
||||||
|
String laneName = taskLanes.get(eventData.sourceTaskId);
|
||||||
|
layoutCalculator.calculateEventPosition(eventData.sourceTaskId, eventData.eventId, eventIndex, laneName);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Create BPMN tasks
|
||||||
|
createTasks(taskDataList, process, referenceTask);
|
||||||
|
|
||||||
|
// Create BPMN events
|
||||||
|
Map<String, Event> createdEvents = createEvents(process, referenceEvent);
|
||||||
|
|
||||||
|
// Create sequence flows
|
||||||
|
createSequenceFlows(process, createdEvents);
|
||||||
|
|
||||||
|
logger.info("Generated " + tasks.size() + " tasks, " + createdEvents.size() + " events, " + laneNames.size()
|
||||||
|
+ " lanes");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Parses the file and returns task data list. Also populates events list.
|
||||||
|
*/
|
||||||
|
private List<TaskData> parseFile(String filePath) throws IOException {
|
||||||
|
List<TaskData> taskDataList = new ArrayList<>();
|
||||||
|
|
||||||
|
try (BufferedReader reader = new BufferedReader(new FileReader(filePath))) {
|
||||||
|
String line;
|
||||||
|
TaskData currentTask = null;
|
||||||
|
StringBuilder descBuilder = new StringBuilder();
|
||||||
|
boolean readingDesc = false;
|
||||||
|
|
||||||
|
while ((line = reader.readLine()) != null) {
|
||||||
|
String trimmed = line.trim();
|
||||||
|
|
||||||
|
// Match task
|
||||||
|
Matcher taskMatcher = TASK_PATTERN.matcher(trimmed);
|
||||||
|
if (taskMatcher.find()) {
|
||||||
|
if (currentTask != null) {
|
||||||
|
currentTask.description = descBuilder.toString().trim();
|
||||||
|
}
|
||||||
|
currentTask = new TaskData(
|
||||||
|
Integer.parseInt(taskMatcher.group(1)),
|
||||||
|
taskMatcher.group(2).trim());
|
||||||
|
taskDataList.add(currentTask);
|
||||||
|
descBuilder = new StringBuilder();
|
||||||
|
readingDesc = false;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Match team
|
||||||
|
if (trimmed.contains("Team:") && currentTask != null) {
|
||||||
|
int teamIndex = trimmed.indexOf("Team:");
|
||||||
|
currentTask.team = trimmed.substring(teamIndex + 5).trim();
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Match event
|
||||||
|
Matcher eventMatcher = EVENT_PATTERN.matcher(trimmed);
|
||||||
|
if (eventMatcher.find() && currentTask != null) {
|
||||||
|
readingDesc = false;
|
||||||
|
events.add(new EventData(
|
||||||
|
Integer.parseInt(eventMatcher.group(1)),
|
||||||
|
eventMatcher.group(2).trim(),
|
||||||
|
currentTask.id,
|
||||||
|
Integer.parseInt(eventMatcher.group(3))));
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Description handling
|
||||||
|
if (trimmed.contains("Description:")) {
|
||||||
|
readingDesc = true;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (readingDesc && currentTask != null && !trimmed.startsWith("|--")) {
|
||||||
|
String descLine = trimmed.replaceAll("^\\|\\s*", "").trim();
|
||||||
|
if (!descLine.isEmpty()) {
|
||||||
|
if (descBuilder.length() > 0)
|
||||||
|
descBuilder.append(" ");
|
||||||
|
descBuilder.append(descLine);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (currentTask != null) {
|
||||||
|
currentTask.description = descBuilder.toString().trim();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return taskDataList;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates BPMN task elements.
|
||||||
|
*/
|
||||||
|
private void createTasks(List<TaskData> taskDataList, BPMNProcess process,
|
||||||
|
Activity referenceTask) throws BPMNModelException {
|
||||||
|
|
||||||
|
for (TaskData taskData : taskDataList) {
|
||||||
|
double[] pos = layoutCalculator.getTaskPosition(taskData.id);
|
||||||
|
|
||||||
|
Activity task = (Activity) process.cloneBPMNElementNode(referenceTask);
|
||||||
|
task.setName(taskData.name);
|
||||||
|
task.setPosition(new BPMNPoint(pos[0], pos[1]));
|
||||||
|
task.setAttribute("imixs:processid", String.valueOf(taskData.id));
|
||||||
|
|
||||||
|
if (taskData.description != null && !taskData.description.isEmpty()) {
|
||||||
|
task.setDocumentation(taskData.description);
|
||||||
|
}
|
||||||
|
|
||||||
|
tasks.put(taskData.id, task);
|
||||||
|
logger.info("Created task: " + taskData.id + " - " + taskData.name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates BPMN event elements.
|
||||||
|
*/
|
||||||
|
private Map<String, Event> createEvents(BPMNProcess process,
|
||||||
|
Event referenceEvent) throws BPMNModelException {
|
||||||
|
|
||||||
|
Map<String, Event> createdEvents = new HashMap<>();
|
||||||
|
|
||||||
|
for (EventData eventData : events) {
|
||||||
|
double[] pos = layoutCalculator.getEventPosition(eventData.sourceTaskId, eventData.eventId);
|
||||||
|
if (pos == null)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
Event event = (Event) process.cloneBPMNElementNode(referenceEvent);
|
||||||
|
event.setName(eventData.name);
|
||||||
|
event.setPosition(new BPMNPoint(pos[0], pos[1]));
|
||||||
|
// Calculate activity ID: first event = 10, second = 20, etc. (per task)
|
||||||
|
int eventIndex = getEventIndex(eventData.sourceTaskId, eventData.eventId);
|
||||||
|
int activityId = (eventIndex + 1) * 10;
|
||||||
|
event.setAttribute("imixs:activityid", String.valueOf(activityId));
|
||||||
|
|
||||||
|
createdEvents.put(eventData.getKey(), event);
|
||||||
|
logger.info("Created event: " + eventData.getKey() + " - " + eventData.name);
|
||||||
|
}
|
||||||
|
|
||||||
|
return createdEvents;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates sequence flows between tasks and events.
|
||||||
|
*/
|
||||||
|
private void createSequenceFlows(BPMNProcess process,
|
||||||
|
Map<String, Event> createdEvents) throws BPMNModelException {
|
||||||
|
|
||||||
|
for (EventData eventData : events) {
|
||||||
|
Activity sourceTask = tasks.get(eventData.sourceTaskId);
|
||||||
|
Event event = createdEvents.get(eventData.getKey());
|
||||||
|
Activity targetTask = tasks.get(eventData.targetTaskId);
|
||||||
|
|
||||||
|
if (sourceTask == null || event == null || targetTask == null)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
if (eventData.sourceTaskId == eventData.targetTaskId) {
|
||||||
|
// Self-loop (CatchEvent): only sequence flow from event to task
|
||||||
|
process.addSequenceFlow("sf-" + sequenceFlowCounter++, event.getId(), targetTask.getId());
|
||||||
|
} else {
|
||||||
|
// Normal flow: task -> event -> target task
|
||||||
|
process.addSequenceFlow("sf-" + sequenceFlowCounter++, sourceTask.getId(), event.getId());
|
||||||
|
process.addSequenceFlow("sf-" + sequenceFlowCounter++, event.getId(), targetTask.getId());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the index of an event among all events of a source task.
|
||||||
|
*/
|
||||||
|
private int getEventIndex(int taskId, int eventId) {
|
||||||
|
int index = 0;
|
||||||
|
for (EventData e : events) {
|
||||||
|
if (e.sourceTaskId == taskId) {
|
||||||
|
if (e.eventId == eventId)
|
||||||
|
return index;
|
||||||
|
index++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the layout calculator for configuration.
|
||||||
|
*/
|
||||||
|
public LayoutCalculator getLayoutCalculator() {
|
||||||
|
return layoutCalculator;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,303 @@
|
||||||
|
package ai.dynamixs.model.builder;
|
||||||
|
|
||||||
|
import java.io.BufferedReader;
|
||||||
|
import java.io.FileReader;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.logging.Logger;
|
||||||
|
import java.util.regex.Matcher;
|
||||||
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
|
import org.openbpmn.bpmn.elements.Activity;
|
||||||
|
import org.openbpmn.bpmn.elements.BPMNProcess;
|
||||||
|
import org.openbpmn.bpmn.elements.Event;
|
||||||
|
import org.openbpmn.bpmn.elements.core.BPMNPoint;
|
||||||
|
import org.openbpmn.bpmn.exceptions.BPMNModelException;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Parses a process description file and generates BPMN elements. Uses
|
||||||
|
* LayoutCalculator for positioning of elements.
|
||||||
|
*/
|
||||||
|
public class ProcessDescriptionParserGemini {
|
||||||
|
|
||||||
|
private static final Logger logger = Logger.getLogger(ProcessDescriptionParser.class.getName());
|
||||||
|
|
||||||
|
// Regex patterns
|
||||||
|
private static final Pattern TASK_PATTERN = Pattern.compile(
|
||||||
|
"\\|-\\s*\\[Task:\\s*(\\d+)\\]\\s*(.+)$");
|
||||||
|
private static final Pattern EVENT_PATTERN = Pattern.compile(
|
||||||
|
"\\|--\\s*\\[Event:\\s*(\\d+)\\]\\s*([^(]+)\\s*\\([^)]*\\)\\s*-->\\s*\\[Task:\\s*(\\d+)\\]");
|
||||||
|
|
||||||
|
// Layout calculator
|
||||||
|
private LayoutCalculator layoutCalculator = new LayoutCalculator();
|
||||||
|
|
||||||
|
// Storage for created elements
|
||||||
|
private Map<Integer, Activity> tasks = new HashMap<>();
|
||||||
|
private List<EventData> events = new ArrayList<>();
|
||||||
|
private Map<Integer, String> taskLanes = new HashMap<>();
|
||||||
|
private int sequenceFlowCounter = 1;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Internal class to hold event data before creating BPMN elements.
|
||||||
|
*/
|
||||||
|
private static class EventData {
|
||||||
|
int eventId;
|
||||||
|
String name;
|
||||||
|
int sourceTaskId;
|
||||||
|
int targetTaskId;
|
||||||
|
|
||||||
|
EventData(int eventId, String name, int sourceTaskId, int targetTaskId) {
|
||||||
|
this.eventId = eventId;
|
||||||
|
this.name = name;
|
||||||
|
this.sourceTaskId = sourceTaskId;
|
||||||
|
this.targetTaskId = targetTaskId;
|
||||||
|
}
|
||||||
|
|
||||||
|
String getKey() {
|
||||||
|
return sourceTaskId + "_" + eventId;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Simple data holder for tasks during parsing.
|
||||||
|
*/
|
||||||
|
private static class TaskData {
|
||||||
|
int id;
|
||||||
|
String name;
|
||||||
|
String description;
|
||||||
|
String team;
|
||||||
|
|
||||||
|
TaskData(int id, String name) {
|
||||||
|
this.id = id;
|
||||||
|
this.name = name;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Parses the description file and creates all BPMN elements in the process.
|
||||||
|
*/
|
||||||
|
public void parseAndGenerate(String filePath, BPMNProcess process,
|
||||||
|
Activity referenceTask, Event referenceEvent) throws IOException, BPMNModelException {
|
||||||
|
|
||||||
|
tasks.clear();
|
||||||
|
events.clear();
|
||||||
|
taskLanes.clear();
|
||||||
|
|
||||||
|
// Parse file and collect task/event data
|
||||||
|
List<TaskData> taskDataList = parseFile(filePath);
|
||||||
|
|
||||||
|
// Collect unique lanes (in order of first appearance)
|
||||||
|
List<String> laneNames = new ArrayList<>();
|
||||||
|
for (TaskData taskData : taskDataList) {
|
||||||
|
if (taskData.team != null && !laneNames.contains(taskData.team)) {
|
||||||
|
laneNames.add(taskData.team);
|
||||||
|
}
|
||||||
|
taskLanes.put(taskData.id, taskData.team);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Create BPMN lanes
|
||||||
|
for (String laneName : laneNames) {
|
||||||
|
process.addLane(laneName);
|
||||||
|
logger.info("Created lane: " + laneName);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Calculate layout
|
||||||
|
layoutCalculator.calculateLanePositions(laneNames);
|
||||||
|
|
||||||
|
List<Integer> taskIds = taskDataList.stream().map(t -> t.id).toList();
|
||||||
|
layoutCalculator.calculateTaskPositions(taskIds, taskLanes);
|
||||||
|
|
||||||
|
// Calculate layout for all events
|
||||||
|
for (EventData eventData : events) {
|
||||||
|
int eventIndex = getEventIndex(eventData.sourceTaskId, eventData.eventId);
|
||||||
|
String laneName = taskLanes.get(eventData.sourceTaskId);
|
||||||
|
layoutCalculator.calculateEventPosition(eventData.sourceTaskId, eventData.eventId, eventIndex, laneName);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Create BPMN tasks
|
||||||
|
createTasks(taskDataList, process, referenceTask);
|
||||||
|
|
||||||
|
// Create BPMN events
|
||||||
|
Map<String, Event> createdEvents = createEvents(process, referenceEvent);
|
||||||
|
|
||||||
|
// Create sequence flows
|
||||||
|
createSequenceFlows(process, createdEvents);
|
||||||
|
|
||||||
|
logger.info("Generated " + tasks.size() + " tasks, " + createdEvents.size() + " events, " + laneNames.size()
|
||||||
|
+ " lanes");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Parses the file and returns task data list. Also populates events list.
|
||||||
|
*/
|
||||||
|
private List<TaskData> parseFile(String filePath) throws IOException {
|
||||||
|
List<TaskData> taskDataList = new ArrayList<>();
|
||||||
|
|
||||||
|
try (BufferedReader reader = new BufferedReader(new FileReader(filePath))) {
|
||||||
|
String line;
|
||||||
|
TaskData currentTask = null;
|
||||||
|
StringBuilder descBuilder = new StringBuilder();
|
||||||
|
boolean readingDesc = false;
|
||||||
|
|
||||||
|
while ((line = reader.readLine()) != null) {
|
||||||
|
String trimmed = line.trim();
|
||||||
|
|
||||||
|
// Match task
|
||||||
|
Matcher taskMatcher = TASK_PATTERN.matcher(trimmed);
|
||||||
|
if (taskMatcher.find()) {
|
||||||
|
if (currentTask != null) {
|
||||||
|
currentTask.description = descBuilder.toString().trim();
|
||||||
|
}
|
||||||
|
currentTask = new TaskData(
|
||||||
|
Integer.parseInt(taskMatcher.group(1)),
|
||||||
|
taskMatcher.group(2).trim());
|
||||||
|
taskDataList.add(currentTask);
|
||||||
|
descBuilder = new StringBuilder();
|
||||||
|
readingDesc = false;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Match team
|
||||||
|
if (trimmed.contains("Team:") && currentTask != null) {
|
||||||
|
int teamIndex = trimmed.indexOf("Team:");
|
||||||
|
currentTask.team = trimmed.substring(teamIndex + 5).trim();
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Match event
|
||||||
|
Matcher eventMatcher = EVENT_PATTERN.matcher(trimmed);
|
||||||
|
if (eventMatcher.find() && currentTask != null) {
|
||||||
|
readingDesc = false;
|
||||||
|
events.add(new EventData(
|
||||||
|
Integer.parseInt(eventMatcher.group(1)),
|
||||||
|
eventMatcher.group(2).trim(),
|
||||||
|
currentTask.id,
|
||||||
|
Integer.parseInt(eventMatcher.group(3))));
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Description handling
|
||||||
|
if (trimmed.contains("Description:")) {
|
||||||
|
readingDesc = true;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (readingDesc && currentTask != null && !trimmed.startsWith("|--")) {
|
||||||
|
String descLine = trimmed.replaceAll("^\\|\\s*", "").trim();
|
||||||
|
if (!descLine.isEmpty()) {
|
||||||
|
if (descBuilder.length() > 0)
|
||||||
|
descBuilder.append(" ");
|
||||||
|
descBuilder.append(descLine);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (currentTask != null) {
|
||||||
|
currentTask.description = descBuilder.toString().trim();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return taskDataList;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates BPMN task elements.
|
||||||
|
*/
|
||||||
|
private void createTasks(List<TaskData> taskDataList, BPMNProcess process,
|
||||||
|
Activity referenceTask) throws BPMNModelException {
|
||||||
|
|
||||||
|
for (TaskData taskData : taskDataList) {
|
||||||
|
double[] pos = layoutCalculator.getTaskPosition(taskData.id);
|
||||||
|
|
||||||
|
Activity task = (Activity) process.cloneBPMNElementNode(referenceTask);
|
||||||
|
task.setName(taskData.name);
|
||||||
|
task.setPosition(new BPMNPoint(pos[0], pos[1]));
|
||||||
|
task.setAttribute("imixs:processid", String.valueOf(taskData.id));
|
||||||
|
|
||||||
|
if (taskData.description != null && !taskData.description.isEmpty()) {
|
||||||
|
task.setDocumentation(taskData.description);
|
||||||
|
}
|
||||||
|
|
||||||
|
tasks.put(taskData.id, task);
|
||||||
|
logger.info("Created task: " + taskData.id + " - " + taskData.name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates BPMN event elements.
|
||||||
|
*/
|
||||||
|
private Map<String, Event> createEvents(BPMNProcess process,
|
||||||
|
Event referenceEvent) throws BPMNModelException {
|
||||||
|
|
||||||
|
Map<String, Event> createdEvents = new HashMap<>();
|
||||||
|
|
||||||
|
for (EventData eventData : events) {
|
||||||
|
double[] pos = layoutCalculator.getEventPosition(eventData.sourceTaskId, eventData.eventId);
|
||||||
|
if (pos == null)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
Event event = (Event) process.cloneBPMNElementNode(referenceEvent);
|
||||||
|
event.setName(eventData.name);
|
||||||
|
event.setPosition(new BPMNPoint(pos[0], pos[1]));
|
||||||
|
// Calculate activity ID: first event = 10, second = 20, etc. (per task)
|
||||||
|
int eventIndex = getEventIndex(eventData.sourceTaskId, eventData.eventId);
|
||||||
|
int activityId = (eventIndex + 1) * 10;
|
||||||
|
event.setAttribute("imixs:activityid", String.valueOf(activityId));
|
||||||
|
|
||||||
|
createdEvents.put(eventData.getKey(), event);
|
||||||
|
logger.info("Created event: " + eventData.getKey() + " - " + eventData.name);
|
||||||
|
}
|
||||||
|
|
||||||
|
return createdEvents;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates sequence flows between tasks and events.
|
||||||
|
*/
|
||||||
|
private void createSequenceFlows(BPMNProcess process,
|
||||||
|
Map<String, Event> createdEvents) throws BPMNModelException {
|
||||||
|
|
||||||
|
for (EventData eventData : events) {
|
||||||
|
Activity sourceTask = tasks.get(eventData.sourceTaskId);
|
||||||
|
Event event = createdEvents.get(eventData.getKey());
|
||||||
|
Activity targetTask = tasks.get(eventData.targetTaskId);
|
||||||
|
|
||||||
|
if (sourceTask == null || event == null || targetTask == null)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
if (eventData.sourceTaskId == eventData.targetTaskId) {
|
||||||
|
// Self-loop (CatchEvent): only sequence flow from event to task
|
||||||
|
process.addSequenceFlow("sf-" + sequenceFlowCounter++, event.getId(), targetTask.getId());
|
||||||
|
} else {
|
||||||
|
// Normal flow: task -> event -> target task
|
||||||
|
process.addSequenceFlow("sf-" + sequenceFlowCounter++, sourceTask.getId(), event.getId());
|
||||||
|
process.addSequenceFlow("sf-" + sequenceFlowCounter++, event.getId(), targetTask.getId());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the index of an event among all events of a source task.
|
||||||
|
*/
|
||||||
|
private int getEventIndex(int taskId, int eventId) {
|
||||||
|
int index = 0;
|
||||||
|
for (EventData e : events) {
|
||||||
|
if (e.sourceTaskId == taskId) {
|
||||||
|
if (e.eventId == eventId)
|
||||||
|
return index;
|
||||||
|
index++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the layout calculator for configuration.
|
||||||
|
*/
|
||||||
|
public LayoutCalculator getLayoutCalculator() {
|
||||||
|
return layoutCalculator;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,597 @@
|
||||||
|
package ai.dynamixs.website;
|
||||||
|
|
||||||
|
import static org.junit.jupiter.api.Assertions.fail;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
|
import javax.xml.parsers.DocumentBuilder;
|
||||||
|
import javax.xml.parsers.DocumentBuilderFactory;
|
||||||
|
import javax.xml.transform.Transformer;
|
||||||
|
import javax.xml.transform.TransformerFactory;
|
||||||
|
import javax.xml.transform.dom.DOMSource;
|
||||||
|
import javax.xml.transform.stream.StreamResult;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
import org.w3c.dom.Document;
|
||||||
|
import org.w3c.dom.Element;
|
||||||
|
import org.w3c.dom.NodeList;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This class loads an SVG file and performs various cleanup and color
|
||||||
|
* replacement operations to create background textures in different color
|
||||||
|
* variants.
|
||||||
|
*/
|
||||||
|
public class SVGConverter {
|
||||||
|
|
||||||
|
private static Logger logger = Logger.getLogger(SVGConverter.class.getName());
|
||||||
|
|
||||||
|
// Color variants for different themes
|
||||||
|
private static final String COLOR_DEFAULT = "#ffffff24";
|
||||||
|
private static final String COLOR_DARK = "#00000024";
|
||||||
|
private static final String COLOR_LIGHT = "#ffffff0a";
|
||||||
|
|
||||||
|
// Scale factor for the SVG output
|
||||||
|
private static final double SCALE_FACTOR = 1.5;
|
||||||
|
|
||||||
|
// Current target color (set during conversion)
|
||||||
|
private String targetColor;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Loads an SVG file and generates three color variants.
|
||||||
|
*/
|
||||||
|
@Test
|
||||||
|
public void convertSVG() {
|
||||||
|
String input = "src/test/resources/website/background-001.svg";
|
||||||
|
String outputBase = "src/test/resources/website/background-001";
|
||||||
|
|
||||||
|
// Generate all three variants
|
||||||
|
convertWithColor(input, outputBase + "_default.svg", COLOR_DEFAULT);
|
||||||
|
convertWithColor(input, outputBase + "_dark.svg", COLOR_DARK);
|
||||||
|
convertWithColor(input, outputBase + "_light.svg", COLOR_LIGHT);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Converts an SVG file with a specific target color.
|
||||||
|
*
|
||||||
|
* @param input the input SVG file path
|
||||||
|
* @param output the output SVG file path
|
||||||
|
* @param color the target color to use
|
||||||
|
*/
|
||||||
|
private void convertWithColor(String input, String output, String color) {
|
||||||
|
try {
|
||||||
|
this.targetColor = color;
|
||||||
|
logger.info("Converting SVG with color: " + color);
|
||||||
|
|
||||||
|
// Load the SVG file
|
||||||
|
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
|
||||||
|
DocumentBuilder builder = factory.newDocumentBuilder();
|
||||||
|
Document document = builder.parse(new File(input));
|
||||||
|
|
||||||
|
// Get the root SVG element
|
||||||
|
Element svgRoot = document.getDocumentElement();
|
||||||
|
|
||||||
|
// Remove the style attribute from root element
|
||||||
|
if (svgRoot.hasAttribute("style")) {
|
||||||
|
svgRoot.removeAttribute("style");
|
||||||
|
logger.info("Removed 'style' attribute from SVG root element");
|
||||||
|
}
|
||||||
|
// Scale the SVG to 150%
|
||||||
|
scaleSVG(svgRoot, SCALE_FACTOR);
|
||||||
|
|
||||||
|
// Remove grid pattern and its usage
|
||||||
|
removeGridPattern(document);
|
||||||
|
|
||||||
|
// Replace colors in all element types
|
||||||
|
replaceTaskNodeColors(document);
|
||||||
|
replaceBPMNLabelColors(document);
|
||||||
|
replaceEdgeColors(document);
|
||||||
|
replaceDataElementColors(document);
|
||||||
|
replaceEventColors(document);
|
||||||
|
|
||||||
|
// Save the modified SVG to output file
|
||||||
|
TransformerFactory transformerFactory = TransformerFactory.newInstance();
|
||||||
|
Transformer transformer = transformerFactory.newTransformer();
|
||||||
|
DOMSource source = new DOMSource(document);
|
||||||
|
StreamResult result = new StreamResult(new File(output));
|
||||||
|
transformer.transform(source, result);
|
||||||
|
|
||||||
|
logger.info("...svg converted successful: " + output);
|
||||||
|
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
fail();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Removes the background grid pattern definition and all rect elements that
|
||||||
|
* reference it.
|
||||||
|
*/
|
||||||
|
private void removeGridPattern(Document document) {
|
||||||
|
List<Element> elementsToRemove = new ArrayList<>();
|
||||||
|
|
||||||
|
NodeList patterns = document.getElementsByTagName("pattern");
|
||||||
|
for (int i = 0; i < patterns.getLength(); i++) {
|
||||||
|
Element pattern = (Element) patterns.item(i);
|
||||||
|
String id = pattern.getAttribute("id");
|
||||||
|
if (id != null && id.startsWith("bpmn-grid-root")) {
|
||||||
|
elementsToRemove.add(pattern);
|
||||||
|
logger.info("Found grid pattern to remove: " + id);
|
||||||
|
|
||||||
|
NodeList rects = document.getElementsByTagName("rect");
|
||||||
|
for (int j = 0; j < rects.getLength(); j++) {
|
||||||
|
Element rect = (Element) rects.item(j);
|
||||||
|
String fill = rect.getAttribute("fill");
|
||||||
|
if (fill != null && fill.equals("url(#" + id + ")")) {
|
||||||
|
elementsToRemove.add(rect);
|
||||||
|
logger.info("Found rect using grid pattern to remove");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (Element element : elementsToRemove) {
|
||||||
|
element.getParentNode().removeChild(element);
|
||||||
|
}
|
||||||
|
|
||||||
|
logger.info("Removed " + elementsToRemove.size() + " grid-related elements");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Replaces colors in task node elements.
|
||||||
|
*/
|
||||||
|
private void replaceTaskNodeColors(Document document) {
|
||||||
|
int pathCount = 0;
|
||||||
|
int textCount = 0;
|
||||||
|
|
||||||
|
NodeList groups = document.getElementsByTagName("g");
|
||||||
|
for (int i = 0; i < groups.getLength(); i++) {
|
||||||
|
Element group = (Element) groups.item(i);
|
||||||
|
String className = group.getAttribute("class");
|
||||||
|
|
||||||
|
if (className != null && className.contains("node") && className.contains("task")) {
|
||||||
|
|
||||||
|
NodeList paths = group.getElementsByTagName("path");
|
||||||
|
for (int j = 0; j < paths.getLength(); j++) {
|
||||||
|
Element path = (Element) paths.item(j);
|
||||||
|
String pathClass = path.getAttribute("class");
|
||||||
|
|
||||||
|
if (pathClass != null && pathClass.contains("sprotty-node")) {
|
||||||
|
String style = path.getAttribute("style");
|
||||||
|
if (style != null && !style.isEmpty()) {
|
||||||
|
String newStyle = replaceStyleColors(style);
|
||||||
|
path.setAttribute("style", newStyle);
|
||||||
|
pathCount++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
NodeList texts = group.getElementsByTagName("text");
|
||||||
|
for (int j = 0; j < texts.getLength(); j++) {
|
||||||
|
Element text = (Element) texts.item(j);
|
||||||
|
String style = text.getAttribute("style");
|
||||||
|
if (style != null && !style.isEmpty()) {
|
||||||
|
String newStyle = replaceTextFillColor(style);
|
||||||
|
text.setAttribute("style", newStyle);
|
||||||
|
textCount++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
logger.info("Replaced colors in " + pathCount + " task node path elements");
|
||||||
|
logger.info("Replaced colors in " + textCount + " task node text elements");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Parses a CSS style string and replaces fill and stroke colors.
|
||||||
|
*/
|
||||||
|
private String replaceStyleColors(String style) {
|
||||||
|
StringBuilder newStyle = new StringBuilder();
|
||||||
|
|
||||||
|
String[] properties = style.split(";");
|
||||||
|
for (String property : properties) {
|
||||||
|
property = property.trim();
|
||||||
|
if (property.isEmpty()) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
int colonIndex = property.indexOf(':');
|
||||||
|
if (colonIndex == -1) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
String name = property.substring(0, colonIndex).trim();
|
||||||
|
String value = property.substring(colonIndex + 1).trim();
|
||||||
|
|
||||||
|
if (name.equals("fill")) {
|
||||||
|
value = "transparent";
|
||||||
|
} else if (name.equals("stroke")) {
|
||||||
|
value = targetColor;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (newStyle.length() > 0) {
|
||||||
|
newStyle.append(" ");
|
||||||
|
}
|
||||||
|
newStyle.append(name).append(": ").append(value).append(";");
|
||||||
|
}
|
||||||
|
|
||||||
|
return newStyle.toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Replaces colors in BPMNLabel elements.
|
||||||
|
*/
|
||||||
|
private void replaceBPMNLabelColors(Document document) {
|
||||||
|
int count = 0;
|
||||||
|
|
||||||
|
NodeList groups = document.getElementsByTagName("g");
|
||||||
|
for (int i = 0; i < groups.getLength(); i++) {
|
||||||
|
Element group = (Element) groups.item(i);
|
||||||
|
String className = group.getAttribute("class");
|
||||||
|
|
||||||
|
if (className != null && className.contains("BPMNLabel")) {
|
||||||
|
|
||||||
|
NodeList texts = group.getElementsByTagName("text");
|
||||||
|
for (int j = 0; j < texts.getLength(); j++) {
|
||||||
|
Element text = (Element) texts.item(j);
|
||||||
|
String textClass = text.getAttribute("class");
|
||||||
|
|
||||||
|
if (textClass != null && textClass.contains("sprotty-label")) {
|
||||||
|
String style = text.getAttribute("style");
|
||||||
|
if (style != null && !style.isEmpty()) {
|
||||||
|
String newStyle = replaceTextFillColor(style);
|
||||||
|
text.setAttribute("style", newStyle);
|
||||||
|
count++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
logger.info("Replaced colors in " + count + " BPMNLabel text elements");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Parses a CSS style string and replaces only the fill color (for text
|
||||||
|
* elements).
|
||||||
|
*/
|
||||||
|
private String replaceTextFillColor(String style) {
|
||||||
|
StringBuilder newStyle = new StringBuilder();
|
||||||
|
|
||||||
|
String[] properties = style.split(";");
|
||||||
|
for (String property : properties) {
|
||||||
|
property = property.trim();
|
||||||
|
if (property.isEmpty()) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
int colonIndex = property.indexOf(':');
|
||||||
|
if (colonIndex == -1) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
String name = property.substring(0, colonIndex).trim();
|
||||||
|
String value = property.substring(colonIndex + 1).trim();
|
||||||
|
|
||||||
|
if (name.equals("fill")) {
|
||||||
|
value = targetColor;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (newStyle.length() > 0) {
|
||||||
|
newStyle.append(" ");
|
||||||
|
}
|
||||||
|
newStyle.append(name).append(": ").append(value).append(";");
|
||||||
|
}
|
||||||
|
|
||||||
|
return newStyle.toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Replaces colors in edge elements (sequenceFlow, association, etc.).
|
||||||
|
*/
|
||||||
|
private void replaceEdgeColors(Document document) {
|
||||||
|
int groupCount = 0;
|
||||||
|
int arrowCount = 0;
|
||||||
|
int textCount = 0;
|
||||||
|
|
||||||
|
NodeList groups = document.getElementsByTagName("g");
|
||||||
|
for (int i = 0; i < groups.getLength(); i++) {
|
||||||
|
Element group = (Element) groups.item(i);
|
||||||
|
String className = group.getAttribute("class");
|
||||||
|
|
||||||
|
if (className != null && className.contains("sprotty-edge") && className.contains("bpmnedge")) {
|
||||||
|
|
||||||
|
String groupStyle = group.getAttribute("style");
|
||||||
|
if (groupStyle != null && !groupStyle.isEmpty()) {
|
||||||
|
String newStyle = replaceStrokeColor(groupStyle);
|
||||||
|
group.setAttribute("style", newStyle);
|
||||||
|
groupCount++;
|
||||||
|
}
|
||||||
|
|
||||||
|
NodeList paths = group.getElementsByTagName("path");
|
||||||
|
for (int j = 0; j < paths.getLength(); j++) {
|
||||||
|
Element path = (Element) paths.item(j);
|
||||||
|
String pathClass = path.getAttribute("class");
|
||||||
|
|
||||||
|
if (pathClass != null && pathClass.contains("arrow")) {
|
||||||
|
String style = path.getAttribute("style");
|
||||||
|
if (style != null && !style.isEmpty()) {
|
||||||
|
String newStyle = replaceTextFillColor(style);
|
||||||
|
path.setAttribute("style", newStyle);
|
||||||
|
arrowCount++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
NodeList texts = group.getElementsByTagName("text");
|
||||||
|
for (int j = 0; j < texts.getLength(); j++) {
|
||||||
|
Element text = (Element) texts.item(j);
|
||||||
|
String style = text.getAttribute("style");
|
||||||
|
if (style != null && !style.isEmpty()) {
|
||||||
|
String newStyle = replaceTextFillColor(style);
|
||||||
|
text.setAttribute("style", newStyle);
|
||||||
|
textCount++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
logger.info("Replaced colors in " + groupCount + " edge groups");
|
||||||
|
logger.info("Replaced colors in " + arrowCount + " edge arrows");
|
||||||
|
logger.info("Replaced colors in " + textCount + " edge text elements");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Parses a CSS style string and replaces only the stroke color.
|
||||||
|
*/
|
||||||
|
private String replaceStrokeColor(String style) {
|
||||||
|
StringBuilder newStyle = new StringBuilder();
|
||||||
|
|
||||||
|
String[] properties = style.split(";");
|
||||||
|
for (String property : properties) {
|
||||||
|
property = property.trim();
|
||||||
|
if (property.isEmpty()) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
int colonIndex = property.indexOf(':');
|
||||||
|
if (colonIndex == -1) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
String name = property.substring(0, colonIndex).trim();
|
||||||
|
String value = property.substring(colonIndex + 1).trim();
|
||||||
|
|
||||||
|
if (name.equals("stroke")) {
|
||||||
|
value = targetColor;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (newStyle.length() > 0) {
|
||||||
|
newStyle.append(" ");
|
||||||
|
}
|
||||||
|
newStyle.append(name).append(": ").append(value).append(";");
|
||||||
|
}
|
||||||
|
|
||||||
|
return newStyle.toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Replaces colors in dataStoreReference and dataObject elements.
|
||||||
|
*/
|
||||||
|
private void replaceDataElementColors(Document document) {
|
||||||
|
int count = 0;
|
||||||
|
|
||||||
|
NodeList groups = document.getElementsByTagName("g");
|
||||||
|
for (int i = 0; i < groups.getLength(); i++) {
|
||||||
|
Element group = (Element) groups.item(i);
|
||||||
|
String className = group.getAttribute("class");
|
||||||
|
|
||||||
|
if (className != null && (className.contains("dataStoreReference") || className.contains("dataObject"))) {
|
||||||
|
|
||||||
|
NodeList paths = group.getElementsByTagName("path");
|
||||||
|
for (int j = 0; j < paths.getLength(); j++) {
|
||||||
|
Element path = (Element) paths.item(j);
|
||||||
|
|
||||||
|
String stroke = path.getAttribute("stroke");
|
||||||
|
if (stroke != null && stroke.equals("currentColor")) {
|
||||||
|
path.setAttribute("stroke", targetColor);
|
||||||
|
count++;
|
||||||
|
}
|
||||||
|
|
||||||
|
String style = path.getAttribute("style");
|
||||||
|
if (style != null && !style.isEmpty()) {
|
||||||
|
String newStyle = replaceAllColors(style);
|
||||||
|
path.setAttribute("style", newStyle);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
NodeList ellipses = group.getElementsByTagName("ellipse");
|
||||||
|
for (int j = 0; j < ellipses.getLength(); j++) {
|
||||||
|
Element ellipse = (Element) ellipses.item(j);
|
||||||
|
|
||||||
|
String stroke = ellipse.getAttribute("stroke");
|
||||||
|
if (stroke != null && stroke.equals("currentColor")) {
|
||||||
|
ellipse.setAttribute("stroke", targetColor);
|
||||||
|
count++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
logger.info("Replaced colors in " + count + " data element shapes");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Parses a CSS style string and replaces both fill and stroke colors.
|
||||||
|
*/
|
||||||
|
private String replaceAllColors(String style) {
|
||||||
|
StringBuilder newStyle = new StringBuilder();
|
||||||
|
|
||||||
|
String[] properties = style.split(";");
|
||||||
|
for (String property : properties) {
|
||||||
|
property = property.trim();
|
||||||
|
if (property.isEmpty()) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
int colonIndex = property.indexOf(':');
|
||||||
|
if (colonIndex == -1) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
String name = property.substring(0, colonIndex).trim();
|
||||||
|
String value = property.substring(colonIndex + 1).trim();
|
||||||
|
|
||||||
|
if (name.equals("fill") && !value.equals("none")) {
|
||||||
|
value = targetColor;
|
||||||
|
} else if (name.equals("stroke") && !value.equals("none")) {
|
||||||
|
value = targetColor;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (newStyle.length() > 0) {
|
||||||
|
newStyle.append(" ");
|
||||||
|
}
|
||||||
|
newStyle.append(name).append(": ").append(value).append(";");
|
||||||
|
}
|
||||||
|
|
||||||
|
return newStyle.toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Replaces colors in event elements (startEvent, endEvent, etc.).
|
||||||
|
*/
|
||||||
|
private void replaceEventColors(Document document) {
|
||||||
|
int circleCount = 0;
|
||||||
|
int symbolCount = 0;
|
||||||
|
|
||||||
|
NodeList groups = document.getElementsByTagName("g");
|
||||||
|
for (int i = 0; i < groups.getLength(); i++) {
|
||||||
|
Element group = (Element) groups.item(i);
|
||||||
|
String className = group.getAttribute("class");
|
||||||
|
|
||||||
|
if (className != null && className.contains("event") && !className.contains("BPMNLabel")) {
|
||||||
|
|
||||||
|
NodeList circles = group.getElementsByTagName("circle");
|
||||||
|
for (int j = 0; j < circles.getLength(); j++) {
|
||||||
|
Element circle = (Element) circles.item(j);
|
||||||
|
String circleClass = circle.getAttribute("class");
|
||||||
|
|
||||||
|
if (circleClass != null && circleClass.contains("sprotty-node")) {
|
||||||
|
String style = circle.getAttribute("style");
|
||||||
|
if (style != null && !style.isEmpty()) {
|
||||||
|
String newStyle = replaceEventCircleStyle(style);
|
||||||
|
circle.setAttribute("style", newStyle);
|
||||||
|
circleCount++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
NodeList symbolGroups = group.getElementsByTagName("g");
|
||||||
|
for (int j = 0; j < symbolGroups.getLength(); j++) {
|
||||||
|
Element symbolGroup = (Element) symbolGroups.item(j);
|
||||||
|
String symbolClass = symbolGroup.getAttribute("class");
|
||||||
|
|
||||||
|
if (symbolClass != null && symbolClass.contains("symbol")) {
|
||||||
|
NodeList paths = symbolGroup.getElementsByTagName("path");
|
||||||
|
for (int k = 0; k < paths.getLength(); k++) {
|
||||||
|
Element path = (Element) paths.item(k);
|
||||||
|
String style = path.getAttribute("style");
|
||||||
|
if (style != null && !style.isEmpty()) {
|
||||||
|
String newStyle = replaceTextFillColor(style);
|
||||||
|
path.setAttribute("style", newStyle);
|
||||||
|
symbolCount++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
logger.info("Replaced colors in " + circleCount + " event circles");
|
||||||
|
logger.info("Replaced colors in " + symbolCount + " event symbols");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Parses a CSS style string for event circles. Sets fill to transparent and
|
||||||
|
* stroke to targetColor. Ensures stroke-width is visible (at least 2px).
|
||||||
|
*/
|
||||||
|
private String replaceEventCircleStyle(String style) {
|
||||||
|
StringBuilder newStyle = new StringBuilder();
|
||||||
|
boolean hasStrokeWidth = false;
|
||||||
|
|
||||||
|
String[] properties = style.split(";");
|
||||||
|
for (String property : properties) {
|
||||||
|
property = property.trim();
|
||||||
|
if (property.isEmpty()) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
int colonIndex = property.indexOf(':');
|
||||||
|
if (colonIndex == -1) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
String name = property.substring(0, colonIndex).trim();
|
||||||
|
String value = property.substring(colonIndex + 1).trim();
|
||||||
|
|
||||||
|
if (name.equals("fill")) {
|
||||||
|
value = "transparent";
|
||||||
|
} else if (name.equals("stroke")) {
|
||||||
|
value = targetColor;
|
||||||
|
} else if (name.equals("stroke-width")) {
|
||||||
|
hasStrokeWidth = true;
|
||||||
|
if (value.equals("0px") || value.equals("0")) {
|
||||||
|
value = "2px";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (newStyle.length() > 0) {
|
||||||
|
newStyle.append(" ");
|
||||||
|
}
|
||||||
|
newStyle.append(name).append(": ").append(value).append(";");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!hasStrokeWidth) {
|
||||||
|
newStyle.append(" stroke-width: 2px;");
|
||||||
|
}
|
||||||
|
|
||||||
|
return newStyle.toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Scales the SVG content by adjusting the viewBox. A smaller viewBox means the
|
||||||
|
* content appears larger.
|
||||||
|
*
|
||||||
|
* @param svgRoot the root SVG element
|
||||||
|
* @param scaleFactor the scale factor (e.g., 1.5 for 150%)
|
||||||
|
*/
|
||||||
|
private void scaleSVG(Element svgRoot, double scaleFactor) {
|
||||||
|
// Adjust viewBox to scale content (divide by scale factor to make content
|
||||||
|
// larger)
|
||||||
|
String viewBox = svgRoot.getAttribute("viewBox");
|
||||||
|
if (viewBox != null && !viewBox.isEmpty()) {
|
||||||
|
String[] parts = viewBox.split("\\s+");
|
||||||
|
if (parts.length == 4) {
|
||||||
|
double minX = Double.parseDouble(parts[0]);
|
||||||
|
double minY = Double.parseDouble(parts[1]);
|
||||||
|
double width = Double.parseDouble(parts[2]);
|
||||||
|
double height = Double.parseDouble(parts[3]);
|
||||||
|
|
||||||
|
// Divide by scale factor - smaller viewBox = larger content
|
||||||
|
double newWidth = width / scaleFactor;
|
||||||
|
double newHeight = height / scaleFactor;
|
||||||
|
|
||||||
|
String newViewBox = String.format("%.0f %.0f %.0f %.0f", minX, minY, newWidth, newHeight);
|
||||||
|
svgRoot.setAttribute("viewBox", newViewBox);
|
||||||
|
logger.info("Scaled viewBox: " + viewBox + " -> " + newViewBox);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Keep width and height as original (or remove them for responsive sizing)
|
||||||
|
// The viewBox change alone will scale the content
|
||||||
|
}
|
||||||
|
}
|
||||||
583
dynamixs-ai-app/src/test/resources/contract-de-1.0.0.bpmn
Normal file
583
dynamixs-ai-app/src/test/resources/contract-de-1.0.0.bpmn
Normal file
|
|
@ -0,0 +1,583 @@
|
||||||
|
<?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: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:ext="http://org.eclipse.bpmn2/ext" xmlns:imixs="http://www.imixs.org/bpmn2" xmlns:open-bpmn="http://open-bpmn.org/XMLSchema" xmlns:xs="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[offer-en-1.0]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="txtfieldmapping" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[Creator|$Creator]]></imixs:value>
|
||||||
|
<imixs:value><![CDATA[Current Editor|$Editor]]></imixs:value>
|
||||||
|
<imixs:value><![CDATA[Owner|$owner]]></imixs:value>
|
||||||
|
<imixs:value><![CDATA[Process Manager|process.manager]]></imixs:value>
|
||||||
|
<imixs:value><![CDATA[Process Team|process.team]]></imixs:value>
|
||||||
|
<imixs:value><![CDATA[Process Assist|process.assist]]></imixs:value>
|
||||||
|
<imixs:value><![CDATA[Department Manager|space.manager]]></imixs:value>
|
||||||
|
<imixs:value><![CDATA[Department Team|space.team]]></imixs:value>
|
||||||
|
<imixs:value><![CDATA[Department Assist|space.assist]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="txttimefieldmapping" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[Liefertermin|order.delivery]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="txtplugins" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[org.imixs.workflow.office.plugins.WorkitemLinkPlugin]]></imixs:value>
|
||||||
|
<imixs:value><![CDATA[org.imixs.ai.rag.RAGIndexPlugin]]></imixs:value>
|
||||||
|
<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.CommentPlugin]]></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.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:value><![CDATA[ai.dynamixs.cognition.CognitoPlugin]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<open-bpmn:auto-align>true</open-bpmn:auto-align>
|
||||||
|
</bpmn2:extensionElements>
|
||||||
|
<bpmn2:collaboration id="Collaboration_1" name="Collaboration 1">
|
||||||
|
<bpmn2:participant id="Participant_1" name="Example" processRef="Process_1">
|
||||||
|
<bpmn2:documentation id="documentation_3xKpCQ"/>
|
||||||
|
</bpmn2:participant>
|
||||||
|
<bpmn2:participant id="participant_hnZfjA" name="Default Process" processRef="process_2"/>
|
||||||
|
</bpmn2:collaboration>
|
||||||
|
<bpmn2:process definitionalCollaborationRef="Collaboration_1" id="Process_1" isExecutable="false" name="Example" processType="Private">
|
||||||
|
<bpmn2:laneSet id="LaneSet_1" name="Lane Set 1">
|
||||||
|
<bpmn2:lane id="Lane_1" name="Team">
|
||||||
|
<bpmn2:documentation id="documentation_gvQWYQ"/>
|
||||||
|
<bpmn2:flowNodeRef>StartEvent_1</bpmn2:flowNodeRef>
|
||||||
|
<bpmn2:flowNodeRef>EndEvent_2</bpmn2:flowNodeRef>
|
||||||
|
<bpmn2:flowNodeRef>task_yrC2dw</bpmn2:flowNodeRef>
|
||||||
|
<bpmn2:flowNodeRef>event_J0JjAg</bpmn2:flowNodeRef>
|
||||||
|
<bpmn2:flowNodeRef>event_1FAZgA</bpmn2:flowNodeRef>
|
||||||
|
<bpmn2:flowNodeRef>event_cjoSqg</bpmn2:flowNodeRef>
|
||||||
|
<bpmn2:flowNodeRef>gateway_SVo89A</bpmn2:flowNodeRef>
|
||||||
|
<bpmn2:flowNodeRef>event_5P6uhg</bpmn2:flowNodeRef>
|
||||||
|
</bpmn2:lane>
|
||||||
|
<bpmn2:lane id="lane_5RftUw" name="Contract Management">
|
||||||
|
<bpmn2:documentation id="documentation_AW2roA"/>
|
||||||
|
<bpmn2:flowNodeRef>task_0W5Llw</bpmn2:flowNodeRef>
|
||||||
|
<bpmn2:flowNodeRef>event_0k30Ug</bpmn2:flowNodeRef>
|
||||||
|
<bpmn2:flowNodeRef>task_vJ0eNA</bpmn2:flowNodeRef>
|
||||||
|
</bpmn2:lane>
|
||||||
|
<bpmn2:lane id="lane_a0dlhQ" name="Contract Owner">
|
||||||
|
<bpmn2:documentation id="documentation_fATy7A"/>
|
||||||
|
<bpmn2:flowNodeRef>task_GgAr6w</bpmn2:flowNodeRef>
|
||||||
|
<bpmn2:flowNodeRef>event_zpkT5A</bpmn2:flowNodeRef>
|
||||||
|
<bpmn2:flowNodeRef>event_v7oUjw</bpmn2:flowNodeRef>
|
||||||
|
</bpmn2:lane>
|
||||||
|
<bpmn2:lane id="lane_A6bDCA" name="Sales">
|
||||||
|
<bpmn2:documentation id="documentation_l0BSxA"/>
|
||||||
|
</bpmn2:lane>
|
||||||
|
</bpmn2:laneSet>
|
||||||
|
<bpmn2:startEvent id="StartEvent_1" name="Start">
|
||||||
|
<bpmn2:documentation id="documentation_IUTaAQ"/>
|
||||||
|
<bpmn2:outgoing>sequenceFlow_mCJiSA</bpmn2:outgoing>
|
||||||
|
</bpmn2:startEvent>
|
||||||
|
<bpmn2:endEvent id="EndEvent_2" name="End">
|
||||||
|
<bpmn2:documentation id="documentation_mHDfBQ"/>
|
||||||
|
</bpmn2:endEvent>
|
||||||
|
<bpmn2:task id="task_yrC2dw" imixs:processid="2100" name="Contract Creation">
|
||||||
|
<bpmn2:extensionElements>
|
||||||
|
<imixs:item name="txteditorid" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[form_basic]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="txtname" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[Rechnung erhalten]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="txtimageurl" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[typcn-business-card]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="txtworkflowsummary" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[<itemvalue>request.subject</itemvalue>]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="keyupdateacl" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[true]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="txttype" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[workitem]]></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="keyownershipfields" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[$Editor]]></imixs:value>
|
||||||
|
<imixs:value><![CDATA[process.assist]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="keyaddwritefields" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[process.assist]]></imixs:value>
|
||||||
|
<imixs:value><![CDATA[process.team]]></imixs:value>
|
||||||
|
<imixs:value><![CDATA[process.manager]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
</bpmn2:extensionElements>
|
||||||
|
<bpmn2:documentation id="documentation_BN3NHA"><![CDATA[Erstellung eines neuen Vertrags mit folgenden Pflichtfeldern: - **Vertragspartner** (Name, Adresse, Kontaktdaten, Vertragsnummer) - **Waren/Lieferungen** (Beschreibung, Menge, Einheit, Preis pro Einheit, Gesamtpreis, ggf. SKU/Artikelnummer) - **Lagerort** (falls relevant: Lagerstandort, Lagerverantwortlicher) - **Termine** (Liefertermin(e), Vertragslaufzeit, Fristen für Zahlungen/Meldungen) Optional: **Sonderbedingungen** (z. B. Rabatte, Penalties, Zahlungsmodalitäten).]]></bpmn2:documentation>
|
||||||
|
<bpmn2:incoming>sf-5</bpmn2:incoming>
|
||||||
|
<bpmn2:incoming>sequenceFlow_mCJiSA</bpmn2:incoming>
|
||||||
|
<bpmn2:outgoing>sf-8</bpmn2:outgoing>
|
||||||
|
</bpmn2:task>
|
||||||
|
<bpmn2:task id="task_vJ0eNA" imixs:processid="2300" name="Approval by Management">
|
||||||
|
<bpmn2:extensionElements>
|
||||||
|
<imixs:item name="txteditorid" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[form_basic]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="txtname" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[Rechnung erhalten]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="txtimageurl" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[typcn-business-card]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="txtworkflowsummary" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[<itemvalue>request.subject</itemvalue>]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="keyupdateacl" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[true]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="txttype" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[workitem]]></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="keyownershipfields" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[$Editor]]></imixs:value>
|
||||||
|
<imixs:value><![CDATA[process.assist]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="keyaddwritefields" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[process.assist]]></imixs:value>
|
||||||
|
<imixs:value><![CDATA[process.team]]></imixs:value>
|
||||||
|
<imixs:value><![CDATA[process.manager]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
</bpmn2:extensionElements>
|
||||||
|
<bpmn2:documentation id="documentation_6PFUVg"><![CDATA[Freigabe des Vertrags unter Berücksichtigung: - **Finanzielle Auswirkungen** (Budget, Liquidität, Forecast) - **Strategische Bedeutung** (Neukunde, Langfristpartner) - **Risikoanalyse** (Bonität des Partners, Marktrisiken)]]></bpmn2:documentation>
|
||||||
|
<bpmn2:incoming>sequenceFlow_4076SQ</bpmn2:incoming>
|
||||||
|
</bpmn2:task>
|
||||||
|
<bpmn2:task id="task_XQfsfg" imixs:processid="2400" name="Contract Execution">
|
||||||
|
<bpmn2:extensionElements>
|
||||||
|
<imixs:item name="txteditorid" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[form_basic]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="txtname" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[Rechnung erhalten]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="txtimageurl" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[typcn-business-card]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="txtworkflowsummary" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[<itemvalue>request.subject</itemvalue>]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="keyupdateacl" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[true]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="txttype" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[workitem]]></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="keyownershipfields" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[$Editor]]></imixs:value>
|
||||||
|
<imixs:value><![CDATA[process.assist]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="keyaddwritefields" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[process.assist]]></imixs:value>
|
||||||
|
<imixs:value><![CDATA[process.team]]></imixs:value>
|
||||||
|
<imixs:value><![CDATA[process.manager]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
</bpmn2:extensionElements>
|
||||||
|
<bpmn2:documentation id="documentation_ds3A0w"><![CDATA[**Finaler Schritt zur Vertragsaktivierung:** - **Vertragsunterzeichnung** (digital/physisch) durch beide Parteien. - **Datenaktualisierung im System**: - **Vertragspartner** → CRM/ERP (z. B. SAP, Salesforce). - **Waren/Lieferungen** → Lagerverwaltung/Logistik (z. B. Warehouse-Management-System). - **Termine** → Kalender/Projektmanagement (z. B. Microsoft Project, Jira). - **Finanzen** → Buchhaltung (Rechnungslauf, Zahlungspläne). - **Lagerort** → Bei physischen Gütern: Einlagerung und Zuordnung (z. B. per Barcode).]]></bpmn2:documentation>
|
||||||
|
</bpmn2:task>
|
||||||
|
<bpmn2:task id="task_GgAr6w" imixs:processid="2900" name="Contract Completed">
|
||||||
|
<bpmn2:extensionElements>
|
||||||
|
<imixs:item name="txteditorid" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[form_basic]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="txtname" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[Rechnung erhalten]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="txtimageurl" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[typcn-business-card]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="txtworkflowsummary" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[<itemvalue>request.subject</itemvalue>]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="keyupdateacl" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[true]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="txttype" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[workitem]]></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="keyownershipfields" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[$Editor]]></imixs:value>
|
||||||
|
<imixs:value><![CDATA[process.assist]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="keyaddwritefields" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[process.assist]]></imixs:value>
|
||||||
|
<imixs:value><![CDATA[process.team]]></imixs:value>
|
||||||
|
<imixs:value><![CDATA[process.manager]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
</bpmn2:extensionElements>
|
||||||
|
<bpmn2:documentation id="documentation_uK2mxw"><![CDATA[**Vertragsbeendigung:** - Kündigungsfristen einhalten. - **Liquidation**: - Offene Rechnungen prüfen (Zahlungseingang/Stornierung). - Lagerbestände bereinigen (Rücklieferung/Rücknahme). - **Dokumentation**: - Grund der Kündigung festhalten (für zukünftige Entscheidungen). - Vertrag aus dem System löschen.]]></bpmn2:documentation>
|
||||||
|
<bpmn2:outgoing>sf-44</bpmn2:outgoing>
|
||||||
|
</bpmn2:task>
|
||||||
|
<bpmn2:task id="task_0W5Llw" imixs:processid="2990" name="Request/Contract Rejected">
|
||||||
|
<bpmn2:extensionElements>
|
||||||
|
<imixs:item name="txteditorid" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[form_basic]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="txtname" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[Rechnung erhalten]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="txtimageurl" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[typcn-business-card]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="txtworkflowsummary" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[<itemvalue>request.subject</itemvalue>]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="keyupdateacl" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[true]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="txttype" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[workitem]]></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="keyownershipfields" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[$Editor]]></imixs:value>
|
||||||
|
<imixs:value><![CDATA[process.assist]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="keyaddwritefields" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[process.assist]]></imixs:value>
|
||||||
|
<imixs:value><![CDATA[process.team]]></imixs:value>
|
||||||
|
<imixs:value><![CDATA[process.manager]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
</bpmn2:extensionElements>
|
||||||
|
<bpmn2:documentation id="documentation_XDZRNw"><![CDATA[**Abgelehter Vertrag oder Anfrage:** - Grund für die Ablehnung dokumentieren (z. B. "Partner nicht solvent"). - Feedback an Initiator geben. - END]]></bpmn2:documentation>
|
||||||
|
<bpmn2:incoming>sf-4</bpmn2:incoming>
|
||||||
|
<bpmn2:incoming>sf-9</bpmn2:incoming>
|
||||||
|
<bpmn2:incoming>sf-45</bpmn2:incoming>
|
||||||
|
</bpmn2:task>
|
||||||
|
<bpmn2:intermediateCatchEvent id="event_5P6uhg" imixs:activityid="20" name="Reject Request">
|
||||||
|
<bpmn2:documentation id="documentation_FFCYJw"/>
|
||||||
|
<bpmn2:outgoing>sf-4</bpmn2:outgoing>
|
||||||
|
</bpmn2:intermediateCatchEvent>
|
||||||
|
<bpmn2:intermediateCatchEvent id="event_J0JjAg" imixs:activityid="10" name="Save Draft">
|
||||||
|
<bpmn2:documentation id="documentation_2D4qfg"/>
|
||||||
|
<bpmn2:outgoing>sf-5</bpmn2:outgoing>
|
||||||
|
</bpmn2:intermediateCatchEvent>
|
||||||
|
<bpmn2:intermediateCatchEvent id="event_cjoSqg" imixs:activityid="20" name="Submit for Review">
|
||||||
|
<bpmn2:documentation id="documentation_44KEYA"/>
|
||||||
|
<bpmn2:incoming>sf-6</bpmn2:incoming>
|
||||||
|
<bpmn2:outgoing>sequenceFlow_4076SQ</bpmn2:outgoing>
|
||||||
|
</bpmn2:intermediateCatchEvent>
|
||||||
|
<bpmn2:intermediateCatchEvent id="event_1FAZgA" imixs:activityid="30" name="Cancel Request">
|
||||||
|
<bpmn2:documentation id="documentation_ysbsYg"/>
|
||||||
|
<bpmn2:incoming>sequenceFlow_Jp2oQQ</bpmn2:incoming>
|
||||||
|
<bpmn2:outgoing>sf-9</bpmn2:outgoing>
|
||||||
|
</bpmn2:intermediateCatchEvent>
|
||||||
|
<bpmn2:intermediateCatchEvent id="event_0k30Ug" imixs:activityid="10" name="Request Adjustments">
|
||||||
|
<bpmn2:documentation id="documentation_gmDYqA"/>
|
||||||
|
</bpmn2:intermediateCatchEvent>
|
||||||
|
<bpmn2:intermediateCatchEvent id="event_Xdll0Q" imixs:activityid="20" name="Final Approval">
|
||||||
|
<bpmn2:documentation id="documentation_md4VQA"/>
|
||||||
|
</bpmn2:intermediateCatchEvent>
|
||||||
|
<bpmn2:intermediateCatchEvent id="event_W0tDdA" imixs:activityid="30" name="Decline Approval">
|
||||||
|
<bpmn2:documentation id="documentation_mRacqQ"/>
|
||||||
|
</bpmn2:intermediateCatchEvent>
|
||||||
|
<bpmn2:intermediateCatchEvent id="event_yurw7A" imixs:activityid="10" name="Completed">
|
||||||
|
<bpmn2:documentation id="documentation_sqwDNg"/>
|
||||||
|
</bpmn2:intermediateCatchEvent>
|
||||||
|
<bpmn2:intermediateCatchEvent id="event_c4BtJg" imixs:activityid="20" name="Execution Failed">
|
||||||
|
<bpmn2:documentation id="documentation_thihzw"/>
|
||||||
|
</bpmn2:intermediateCatchEvent>
|
||||||
|
<bpmn2:intermediateCatchEvent id="event_zpkT5A" imixs:activityid="20" name="Correction Needed">
|
||||||
|
<bpmn2:documentation id="documentation_iUtChg"/>
|
||||||
|
</bpmn2:intermediateCatchEvent>
|
||||||
|
<bpmn2:intermediateCatchEvent id="event_v7oUjw" imixs:activityid="10" name="Termination Completed">
|
||||||
|
<bpmn2:documentation id="documentation_bwy4xQ"/>
|
||||||
|
<bpmn2:incoming>sf-44</bpmn2:incoming>
|
||||||
|
<bpmn2:outgoing>sf-45</bpmn2:outgoing>
|
||||||
|
</bpmn2:intermediateCatchEvent>
|
||||||
|
<bpmn2:sequenceFlow id="sf-4" sourceRef="event_5P6uhg" targetRef="task_0W5Llw">
|
||||||
|
<bpmn2:documentation id="documentation_rBwcmQ"/>
|
||||||
|
</bpmn2:sequenceFlow>
|
||||||
|
<bpmn2:sequenceFlow id="sf-5" sourceRef="event_J0JjAg" targetRef="task_yrC2dw">
|
||||||
|
<bpmn2:documentation id="documentation_QaeCdA"/>
|
||||||
|
</bpmn2:sequenceFlow>
|
||||||
|
<bpmn2:sequenceFlow id="sf-6" sourceRef="gateway_SVo89A" targetRef="event_cjoSqg">
|
||||||
|
<bpmn2:documentation id="documentation_BUeEdQ"/>
|
||||||
|
</bpmn2:sequenceFlow>
|
||||||
|
<bpmn2:sequenceFlow id="sf-8" sourceRef="task_yrC2dw" targetRef="gateway_SVo89A">
|
||||||
|
<bpmn2:documentation id="documentation_Sd5bvw"/>
|
||||||
|
</bpmn2:sequenceFlow>
|
||||||
|
<bpmn2:sequenceFlow id="sf-9" sourceRef="event_1FAZgA" targetRef="task_0W5Llw">
|
||||||
|
<bpmn2:documentation id="documentation_bJindA"/>
|
||||||
|
</bpmn2:sequenceFlow>
|
||||||
|
<bpmn2:sequenceFlow id="sf-44" sourceRef="task_GgAr6w" targetRef="event_v7oUjw">
|
||||||
|
<bpmn2:documentation id="documentation_to0tvg"/>
|
||||||
|
</bpmn2:sequenceFlow>
|
||||||
|
<bpmn2:sequenceFlow id="sf-45" sourceRef="event_v7oUjw" targetRef="task_0W5Llw">
|
||||||
|
<bpmn2:documentation id="documentation_CjUGog"/>
|
||||||
|
</bpmn2:sequenceFlow>
|
||||||
|
<bpmn2:intermediateCatchEvent id="event_H7qtPg" imixs:activityid="20" name="Create Kundenauftrag">
|
||||||
|
<bpmn2:documentation id="documentation_w9TwIQ"/>
|
||||||
|
</bpmn2:intermediateCatchEvent>
|
||||||
|
<bpmn2:sequenceFlow id="sequenceFlow_mCJiSA" sourceRef="StartEvent_1" targetRef="task_yrC2dw">
|
||||||
|
<bpmn2:documentation id="documentation_rnZlMw"/>
|
||||||
|
</bpmn2:sequenceFlow>
|
||||||
|
<bpmn2:sequenceFlow id="sequenceFlow_4076SQ" sourceRef="event_cjoSqg" targetRef="task_vJ0eNA">
|
||||||
|
<bpmn2:documentation id="documentation_2UZmwA"/>
|
||||||
|
</bpmn2:sequenceFlow>
|
||||||
|
<bpmn2:eventBasedGateway gatewayDirection="Diverging" id="gateway_SVo89A" name="">
|
||||||
|
<bpmn2:documentation id="documentation_C4eyaQ"/>
|
||||||
|
<bpmn2:incoming>sf-8</bpmn2:incoming>
|
||||||
|
<bpmn2:outgoing>sequenceFlow_Jp2oQQ</bpmn2:outgoing>
|
||||||
|
<bpmn2:outgoing>sf-6</bpmn2:outgoing>
|
||||||
|
</bpmn2:eventBasedGateway>
|
||||||
|
<bpmn2:sequenceFlow id="sequenceFlow_Jp2oQQ" sourceRef="gateway_SVo89A" targetRef="event_1FAZgA">
|
||||||
|
<bpmn2:documentation id="documentation_Wzw9Yg"/>
|
||||||
|
</bpmn2:sequenceFlow>
|
||||||
|
</bpmn2:process>
|
||||||
|
<bpmn2:process id="process_2" name="Default Process" processType="Public">
|
||||||
|
<bpmn2:documentation id="documentation_imRbaw"/>
|
||||||
|
<bpmn2:extensionElements>
|
||||||
|
<open-bpmn:auto-align>true</open-bpmn:auto-align>
|
||||||
|
</bpmn2:extensionElements>
|
||||||
|
</bpmn2:process>
|
||||||
|
<bpmn2:signal id="signal_3" name="org.imixs.ai.workflow.OpenAIAPIAdapter"/>
|
||||||
|
<bpmn2:signal id="signal_4" name="org.imixs.ai.rag.RAGRetrievalAdapter"/>
|
||||||
|
<bpmn2:message id="message_1" name="Message 1">
|
||||||
|
<bpmn2:documentation id="documentation_lq3hSg"/>
|
||||||
|
</bpmn2:message>
|
||||||
|
<bpmn2:signal id="signal_5" name="org.imixs.ai.workflow.ImixsAIAssistantAdapter"/>
|
||||||
|
<bpmndi:BPMNDiagram id="BPMNDiagram_1">
|
||||||
|
<bpmndi:BPMNPlane bpmnElement="Collaboration_1" id="BPMNPlane_Process_1">
|
||||||
|
<bpmndi:BPMNShape bpmnElement="Participant_1" id="BPMNShape_Participant_1" isHorizontal="true">
|
||||||
|
<dc:Bounds height="2300.0" width="4430.0" x="130.0" y="90.0"/>
|
||||||
|
</bpmndi:BPMNShape>
|
||||||
|
<bpmndi:BPMNShape bpmnElement="Lane_1" id="BPMNShape_Lane_1" isHorizontal="true">
|
||||||
|
<dc:Bounds height="420.25001525878906" width="4400.0" x="160.0" y="90.0"/>
|
||||||
|
</bpmndi:BPMNShape>
|
||||||
|
<bpmndi:BPMNShape bpmnElement="StartEvent_1" id="BPMNShape_StartEvent_1">
|
||||||
|
<dc:Bounds height="36.0" width="36.0" x="217.0" y="177.0"/>
|
||||||
|
<bpmndi:BPMNLabel id="BPMNLabel_1" labelStyle="BPMNLabelStyle_1">
|
||||||
|
<dc:Bounds height="20.0" width="100.0" x="189.5" y="214.10797119140625"/>
|
||||||
|
</bpmndi:BPMNLabel>
|
||||||
|
</bpmndi:BPMNShape>
|
||||||
|
<bpmndi:BPMNShape id="BPMNShape_TextAnnotation_1">
|
||||||
|
<dc:Bounds height="73.0" width="131.0" x="130.0" y="581.0"/>
|
||||||
|
<bpmndi:BPMNLabel id="BPMNLabel_30">
|
||||||
|
<dc:Bounds height="67.0" width="119.0" x="136.0" y="581.0"/>
|
||||||
|
</bpmndi:BPMNLabel>
|
||||||
|
</bpmndi:BPMNShape>
|
||||||
|
<bpmndi:BPMNShape bpmnElement="EndEvent_2" id="BPMNShape_EndEvent_2">
|
||||||
|
<dc:Bounds height="36.0" width="36.0" x="1027.0" y="197.0"/>
|
||||||
|
<bpmndi:BPMNLabel id="BPMNLabel_110" labelStyle="BPMNLabelStyle_1">
|
||||||
|
<dc:Bounds height="20.0" width="100.0" x="1001.138671875" y="235.10791015625"/>
|
||||||
|
</bpmndi:BPMNLabel>
|
||||||
|
</bpmndi:BPMNShape>
|
||||||
|
<bpmndi:BPMNShape bpmnElement="participant_hnZfjA" id="BPMNShape_iHhp5Q">
|
||||||
|
<dc:Bounds height="210.0" width="800.0" x="0.0" y="0.0"/>
|
||||||
|
</bpmndi:BPMNShape>
|
||||||
|
<bpmndi:BPMNShape bpmnElement="message_1" id="BPMNShape_5X9D7w">
|
||||||
|
<dc:Bounds height="20.0" width="30.0" x="80.0" y="10.0"/>
|
||||||
|
<bpmndi:BPMNLabel id="BPMNLabel_20MvBw">
|
||||||
|
<dc:Bounds height="20.0" width="100.0" x="45.86090087890625" y="37.66443634033203"/>
|
||||||
|
</bpmndi:BPMNLabel>
|
||||||
|
</bpmndi:BPMNShape>
|
||||||
|
<bpmndi:BPMNShape bpmnElement="lane_5RftUw" id="BPMNShape_Lane_EXH7Fg">
|
||||||
|
<dc:Bounds height="651.2500152587891" width="4400.0" x="160.0" y="510.25001525878906"/>
|
||||||
|
</bpmndi:BPMNShape>
|
||||||
|
<bpmndi:BPMNShape bpmnElement="lane_a0dlhQ" id="BPMNShape_Lane_lMjKqQ">
|
||||||
|
<dc:Bounds height="614.2500152587891" width="4400.0" x="160.0" y="1161.5000305175781"/>
|
||||||
|
</bpmndi:BPMNShape>
|
||||||
|
<bpmndi:BPMNShape bpmnElement="lane_A6bDCA" id="BPMNShape_Lane_ErklDA">
|
||||||
|
<dc:Bounds height="614.2500152587891" width="4400.0" x="160.0" y="1775.7500457763672"/>
|
||||||
|
</bpmndi:BPMNShape>
|
||||||
|
<bpmndi:BPMNShape bpmnElement="task_yrC2dw" id="BPMNShape_mtNu0w">
|
||||||
|
<dc:Bounds height="50.0" width="110.0" x="340.0" y="170.0"/>
|
||||||
|
</bpmndi:BPMNShape>
|
||||||
|
<bpmndi:BPMNShape bpmnElement="task_vJ0eNA" id="BPMNShape_VSjVPA">
|
||||||
|
<dc:Bounds height="50.0" width="110.0" x="980.0" y="670.0"/>
|
||||||
|
</bpmndi:BPMNShape>
|
||||||
|
<bpmndi:BPMNShape bpmnElement="task_XQfsfg" id="BPMNShape_Vk1kAw">
|
||||||
|
<dc:Bounds height="50.0" width="110.0" x="1540.0" y="1080.0"/>
|
||||||
|
</bpmndi:BPMNShape>
|
||||||
|
<bpmndi:BPMNShape bpmnElement="task_GgAr6w" id="BPMNShape_PSzHWw">
|
||||||
|
<dc:Bounds height="50.0" width="110.0" x="2260.0" y="1300.0"/>
|
||||||
|
</bpmndi:BPMNShape>
|
||||||
|
<bpmndi:BPMNShape bpmnElement="task_0W5Llw" id="BPMNShape_WjH04g">
|
||||||
|
<dc:Bounds height="50.0" width="110.0" x="2420.0" y="400.0"/>
|
||||||
|
</bpmndi:BPMNShape>
|
||||||
|
<bpmndi:BPMNShape bpmnElement="event_5P6uhg" id="BPMNShape_1ACHNw">
|
||||||
|
<dc:Bounds height="36.0" width="36.0" x="1227.0" y="397.0"/>
|
||||||
|
<bpmndi:BPMNLabel id="BPMNLabel_IsYLwA">
|
||||||
|
<dc:Bounds height="20.0" width="100.0" x="1195.0" y="436.0"/>
|
||||||
|
</bpmndi:BPMNLabel>
|
||||||
|
</bpmndi:BPMNShape>
|
||||||
|
<bpmndi:BPMNShape bpmnElement="event_J0JjAg" id="BPMNShape_zrh0rg">
|
||||||
|
<dc:Bounds height="36.0" width="36.0" x="377.0" y="97.0"/>
|
||||||
|
<bpmndi:BPMNLabel id="BPMNLabel_fwqgDg">
|
||||||
|
<dc:Bounds height="20.0" width="100.0" x="345.0" y="136.0"/>
|
||||||
|
</bpmndi:BPMNLabel>
|
||||||
|
</bpmndi:BPMNShape>
|
||||||
|
<bpmndi:BPMNShape bpmnElement="event_cjoSqg" id="BPMNShape_POp4IQ">
|
||||||
|
<dc:Bounds height="36.0" width="36.0" x="827.0" y="367.0"/>
|
||||||
|
<bpmndi:BPMNLabel id="BPMNLabel_zhSm0g">
|
||||||
|
<dc:Bounds height="20.0" width="100.0" x="795.0" y="406.0"/>
|
||||||
|
</bpmndi:BPMNLabel>
|
||||||
|
</bpmndi:BPMNShape>
|
||||||
|
<bpmndi:BPMNShape bpmnElement="event_1FAZgA" id="BPMNShape_bSO6tQ">
|
||||||
|
<dc:Bounds height="36.0" width="36.0" x="897.0" y="177.0"/>
|
||||||
|
<bpmndi:BPMNLabel id="BPMNLabel_gAvpBQ">
|
||||||
|
<dc:Bounds height="20.0" width="100.0" x="865.0" y="216.0"/>
|
||||||
|
</bpmndi:BPMNLabel>
|
||||||
|
</bpmndi:BPMNShape>
|
||||||
|
<bpmndi:BPMNShape bpmnElement="event_0k30Ug" id="BPMNShape_Zn0P3A">
|
||||||
|
<dc:Bounds height="36.0" width="36.0" x="757.0" y="667.0"/>
|
||||||
|
<bpmndi:BPMNLabel id="BPMNLabel_umknQA">
|
||||||
|
<dc:Bounds height="20.0" width="100.0" x="725.0" y="706.0"/>
|
||||||
|
</bpmndi:BPMNLabel>
|
||||||
|
</bpmndi:BPMNShape>
|
||||||
|
<bpmndi:BPMNShape bpmnElement="event_Xdll0Q" id="BPMNShape_Eq39Kg">
|
||||||
|
<dc:Bounds height="36.0" width="36.0" x="1317.0" y="920.0"/>
|
||||||
|
<bpmndi:BPMNLabel id="BPMNLabel_G1WeRA">
|
||||||
|
<dc:Bounds height="20.0" width="100.0" x="1285.0" y="959.0"/>
|
||||||
|
</bpmndi:BPMNLabel>
|
||||||
|
</bpmndi:BPMNShape>
|
||||||
|
<bpmndi:BPMNShape bpmnElement="event_W0tDdA" id="BPMNShape_5yHEow">
|
||||||
|
<dc:Bounds height="36.0" width="36.0" x="1407.0" y="857.0"/>
|
||||||
|
<bpmndi:BPMNLabel id="BPMNLabel_HkKcBw">
|
||||||
|
<dc:Bounds height="20.0" width="100.0" x="1375.0" y="896.0"/>
|
||||||
|
</bpmndi:BPMNLabel>
|
||||||
|
</bpmndi:BPMNShape>
|
||||||
|
<bpmndi:BPMNShape bpmnElement="event_yurw7A" id="BPMNShape_rWONBg">
|
||||||
|
<dc:Bounds height="36.0" width="36.0" x="1887.0" y="1147.0"/>
|
||||||
|
<bpmndi:BPMNLabel id="BPMNLabel_s0S0ng">
|
||||||
|
<dc:Bounds height="20.0" width="100.0" x="1855.0" y="1186.0"/>
|
||||||
|
</bpmndi:BPMNLabel>
|
||||||
|
</bpmndi:BPMNShape>
|
||||||
|
<bpmndi:BPMNShape bpmnElement="event_c4BtJg" id="BPMNShape_iclF5g">
|
||||||
|
<dc:Bounds height="36.0" width="36.0" x="1857.0" y="1047.0"/>
|
||||||
|
<bpmndi:BPMNLabel id="BPMNLabel_Gi1kIA">
|
||||||
|
<dc:Bounds height="20.0" width="100.0" x="1825.0" y="1086.0"/>
|
||||||
|
</bpmndi:BPMNLabel>
|
||||||
|
</bpmndi:BPMNShape>
|
||||||
|
<bpmndi:BPMNShape bpmnElement="event_zpkT5A" id="BPMNShape_TbcBcA">
|
||||||
|
<dc:Bounds height="36.0" width="36.0" x="1487.0" y="1317.0"/>
|
||||||
|
<bpmndi:BPMNLabel id="BPMNLabel_9UFuzg">
|
||||||
|
<dc:Bounds height="20.0" width="100.0" x="1455.0" y="1356.0"/>
|
||||||
|
</bpmndi:BPMNLabel>
|
||||||
|
</bpmndi:BPMNShape>
|
||||||
|
<bpmndi:BPMNShape bpmnElement="event_v7oUjw" id="BPMNShape_p2C5FA">
|
||||||
|
<dc:Bounds height="36.0" width="36.0" x="2727.0" y="1357.0"/>
|
||||||
|
<bpmndi:BPMNLabel id="BPMNLabel_DFJutA">
|
||||||
|
<dc:Bounds height="20.0" width="100.0" x="2695.0" y="1396.0"/>
|
||||||
|
</bpmndi:BPMNLabel>
|
||||||
|
</bpmndi:BPMNShape>
|
||||||
|
<bpmndi:BPMNShape bpmnElement="event_H7qtPg" id="BPMNShape_zXH5Wg">
|
||||||
|
<dc:Bounds height="36.0" width="36.0" x="1317.0" y="1087.0"/>
|
||||||
|
<bpmndi:BPMNLabel id="BPMNLabel_BcZSCQ">
|
||||||
|
<dc:Bounds height="20.0" width="100.0" x="1285.0" y="1126.0"/>
|
||||||
|
</bpmndi:BPMNLabel>
|
||||||
|
</bpmndi:BPMNShape>
|
||||||
|
<bpmndi:BPMNShape bpmnElement="gateway_SVo89A" id="BPMNShape_rffh8A">
|
||||||
|
<dc:Bounds height="50.0" width="50.0" x="600.0" y="170.0"/>
|
||||||
|
<bpmndi:BPMNLabel id="BPMNLabel_eaxusQ">
|
||||||
|
<dc:Bounds height="20.0" width="100.0" x="575.0" y="223.0"/>
|
||||||
|
</bpmndi:BPMNLabel>
|
||||||
|
</bpmndi:BPMNShape>
|
||||||
|
<bpmndi:BPMNEdge bpmnElement="sf-4" id="BPMNEdge_oO9ZTA" sourceElement="BPMNShape_1ACHNw" targetElement="BPMNShape_WjH04g">
|
||||||
|
<di:waypoint x="1263.0" y="415.0"/>
|
||||||
|
<di:waypoint x="1267.0" y="415.0"/>
|
||||||
|
<di:waypoint x="1267.0" y="425.0"/>
|
||||||
|
<di:waypoint x="2420.0" y="425.0"/>
|
||||||
|
</bpmndi:BPMNEdge>
|
||||||
|
<bpmndi:BPMNEdge bpmnElement="sf-5" id="BPMNEdge_GZrbVw" sourceElement="BPMNShape_zrh0rg" targetElement="BPMNShape_mtNu0w">
|
||||||
|
<di:waypoint x="395.0" y="133.0"/>
|
||||||
|
<di:waypoint x="395.0" y="170.0"/>
|
||||||
|
</bpmndi:BPMNEdge>
|
||||||
|
<bpmndi:BPMNEdge bpmnElement="sf-6" id="BPMNEdge_SKcIKQ" sourceElement="BPMNShape_rffh8A" targetElement="BPMNShape_POp4IQ">
|
||||||
|
<di:waypoint x="625.0" y="220.0"/>
|
||||||
|
<di:waypoint x="625.0" y="385.0"/>
|
||||||
|
<di:waypoint x="827.0" y="385.0"/>
|
||||||
|
</bpmndi:BPMNEdge>
|
||||||
|
<bpmndi:BPMNEdge bpmnElement="sf-8" id="BPMNEdge_J17Pgg" sourceElement="BPMNShape_mtNu0w" targetElement="BPMNShape_rffh8A">
|
||||||
|
<di:waypoint x="450.0" y="195.0"/>
|
||||||
|
<di:waypoint x="600.0" y="195.0"/>
|
||||||
|
</bpmndi:BPMNEdge>
|
||||||
|
<bpmndi:BPMNEdge bpmnElement="sf-9" id="BPMNEdge_oJE2uQ" sourceElement="BPMNShape_bSO6tQ" targetElement="BPMNShape_WjH04g">
|
||||||
|
<di:waypoint x="933.0" y="195.0"/>
|
||||||
|
<di:waypoint x="1677.0" y="195.0"/>
|
||||||
|
<di:waypoint x="1677.0" y="425.0"/>
|
||||||
|
<di:waypoint x="2420.0" y="425.0"/>
|
||||||
|
</bpmndi:BPMNEdge>
|
||||||
|
<bpmndi:BPMNEdge bpmnElement="sf-44" id="BPMNEdge_IzbEkA" sourceElement="BPMNShape_PSzHWw" targetElement="BPMNShape_p2C5FA">
|
||||||
|
<di:waypoint x="2370.0" y="1329.0"/>
|
||||||
|
<di:waypoint x="3230.0" y="1329.0"/>
|
||||||
|
<di:waypoint x="3230.0" y="1375.0"/>
|
||||||
|
<di:waypoint x="2763.0" y="1375.0"/>
|
||||||
|
</bpmndi:BPMNEdge>
|
||||||
|
<bpmndi:BPMNEdge bpmnElement="sf-45" id="BPMNEdge_TxZz3A" sourceElement="BPMNShape_p2C5FA" targetElement="BPMNShape_WjH04g">
|
||||||
|
<di:waypoint x="2763.0" y="1375.0"/>
|
||||||
|
<di:waypoint x="3282.0" y="1375.0"/>
|
||||||
|
<di:waypoint x="2474.0" y="1375.0"/>
|
||||||
|
<di:waypoint x="2474.0" y="450.0"/>
|
||||||
|
</bpmndi:BPMNEdge>
|
||||||
|
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_mCJiSA" id="BPMNEdge_m1mtfw" sourceElement="BPMNShape_StartEvent_1" targetElement="BPMNShape_mtNu0w">
|
||||||
|
<di:waypoint x="253.0" y="195.0"/>
|
||||||
|
<di:waypoint x="340.0" y="195.0"/>
|
||||||
|
</bpmndi:BPMNEdge>
|
||||||
|
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_4076SQ" id="BPMNEdge_8zpyew" sourceElement="BPMNShape_POp4IQ" targetElement="BPMNShape_VSjVPA">
|
||||||
|
<di:waypoint x="863.0" y="385.0"/>
|
||||||
|
<di:waypoint x="917.0" y="385.0"/>
|
||||||
|
<di:waypoint x="917.0" y="695.0"/>
|
||||||
|
<di:waypoint x="980.0" y="695.0"/>
|
||||||
|
</bpmndi:BPMNEdge>
|
||||||
|
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_Jp2oQQ" id="BPMNEdge_HivQDQ" sourceElement="BPMNShape_rffh8A" targetElement="BPMNShape_bSO6tQ">
|
||||||
|
<di:waypoint x="650.0" y="195.0"/>
|
||||||
|
<di:waypoint x="897.0" y="195.0"/>
|
||||||
|
</bpmndi:BPMNEdge>
|
||||||
|
</bpmndi:BPMNPlane>
|
||||||
|
<bpmndi:BPMNLabelStyle id="BPMNLabelStyle_1">
|
||||||
|
<dc:Font name="arial" size="9.0"/>
|
||||||
|
</bpmndi:BPMNLabelStyle>
|
||||||
|
</bpmndi:BPMNDiagram>
|
||||||
|
</bpmn2:definitions>
|
||||||
144
dynamixs-ai-app/src/test/resources/contract.txt
Normal file
144
dynamixs-ai-app/src/test/resources/contract.txt
Normal file
|
|
@ -0,0 +1,144 @@
|
||||||
|
START
|
||||||
|
|
|
||||||
|
|- [Task: 2000] **New Contract Request**
|
||||||
|
Team: **Contract Management**
|
||||||
|
Description:
|
||||||
|
Ein neuer Vertragsanfrag wird eingereicht (z. B. durch Vertrieb oder Einkauf). Grundlegende Daten wie Vertragstyp (Kauf/Verkauf/Leasing) und Verantwortlicher müssen erfasst werden.
|
||||||
|
|-- [Event: 10] **Forward to Contract Creation** --> [Task: 2100] **Contract Creation**
|
||||||
|
|-- [Event: 20] **Reject Request** --> [Task: 2990] **Request Rejected**
|
||||||
|
|
||||||
|
|
|
||||||
|
|- [Task: 2100] **Contract Creation**
|
||||||
|
Team: **Contract Management**
|
||||||
|
Description:
|
||||||
|
Erstellung eines neuen Vertrags mit folgenden Pflichtfeldern:
|
||||||
|
- **Vertragspartner** (Name, Adresse, Kontaktdaten, Vertragsnummer)
|
||||||
|
- **Waren/Lieferungen** (Beschreibung, Menge, Einheit, Preis pro Einheit, Gesamtpreis, ggf. SKU/Artikelnummer)
|
||||||
|
- **Lagerort** (falls relevant: Lagerstandort, Lagerverantwortlicher)
|
||||||
|
- **Termine** (Liefertermin(e), Vertragslaufzeit, Fristen für Zahlungen/Meldungen)
|
||||||
|
Optional: **Sonderbedingungen** (z. B. Rabatte, Penalties, Zahlungsmodalitäten).
|
||||||
|
|-- [Event: 10] **Save Draft** --> [Task: 2100] **Contract Creation** *(Iteration für Korrekturen)*
|
||||||
|
|-- [Event: 20] **Submit for Review** --> [Task: 2200] **Legal Review**
|
||||||
|
|-- [Event: 30] **Cancel Request** --> [Task: 2990] **Request Rejected**
|
||||||
|
|
||||||
|
|
|
||||||
|
|- [Task: 2200] **Legal Review**
|
||||||
|
Team: **Legal/Compliance**
|
||||||
|
Description:
|
||||||
|
Prüfung auf rechtliche Korrektheit und Vollständigkeit:
|
||||||
|
- Vertragsklauseln (AGB, Gewährleistungen, Haftung)
|
||||||
|
- Compliance mit internen Richtlinien (z. B. Risikobewertung bei neuen Partnern)
|
||||||
|
- Terminpläne (z. B. Prüfung von Fristen)
|
||||||
|
|-- [Event: 10] **Request Changes** --> [Task: 2100] **Contract Creation** *(Rückgabe zur Korrektur)*
|
||||||
|
|-- [Event: 20] **Approve Contract** --> [Task: 2300] **Approval by Management**
|
||||||
|
|-- [Event: 30] **Reject Contract** --> [Task: 2990] **Contract Rejected**
|
||||||
|
|
||||||
|
|
|
||||||
|
|- [Task: 2300] **Approval by Management**
|
||||||
|
Team: **Senior Management/Finance**
|
||||||
|
Description:
|
||||||
|
Freigabe des Vertrags unter Berücksichtigung:
|
||||||
|
- **Finanzielle Auswirkungen** (Budget, Liquidität, Forecast)
|
||||||
|
- **Strategische Bedeutung** (Neukunde, Langfristpartner)
|
||||||
|
- **Risikoanalyse** (Bonität des Partners, Marktrisiken)
|
||||||
|
|-- [Event: 10] **Request Adjustments** --> [Task: 2100] **Contract Creation** *(z. B. Preisanpassung)*
|
||||||
|
|-- [Event: 20] **Final Approval** --> [Task: 2400] **Contract Execution**
|
||||||
|
|-- [Event: 30] **Decline Approval** --> [Task: 2990] **Contract Rejected**
|
||||||
|
|
||||||
|
|
|
||||||
|
|- [Task: 2400] **Contract Execution**
|
||||||
|
Team: **Contract Management / Operations**
|
||||||
|
Description:
|
||||||
|
**Finaler Schritt zur Vertragsaktivierung:**
|
||||||
|
- **Vertragsunterzeichnung** (digital/physisch) durch beide Parteien.
|
||||||
|
- **Datenaktualisierung im System**:
|
||||||
|
- **Vertragspartner** → CRM/ERP (z. B. SAP, Salesforce).
|
||||||
|
- **Waren/Lieferungen** → Lagerverwaltung/Logistik (z. B. Warehouse-Management-System).
|
||||||
|
- **Termine** → Kalender/Projektmanagement (z. B. Microsoft Project, Jira).
|
||||||
|
- **Finanzen** → Buchhaltung (Rechnungslauf, Zahlungspläne).
|
||||||
|
- **Lagerort** → Bei physischen Gütern: Einlagerung und Zuordnung (z. B. per Barcode).
|
||||||
|
|-- [Event: 10] **Contract Signed** --> [Task: 2500] **Post-Contract Setup**
|
||||||
|
|-- [Event: 20] **Execution Failed** --> [Task: 2990] **Contract Rejected** *(z. B. Unterzeichnung gescheitert)*
|
||||||
|
|
||||||
|
|
|
||||||
|
|- [Task: 2500] **Post-Contract Setup**
|
||||||
|
Team: **Cross-Functional (Logistik, Sales, Finance)**
|
||||||
|
Description:
|
||||||
|
**Nachbereitung nach Vertragsunterzeichnung:**
|
||||||
|
- **Logistik**:
|
||||||
|
- Lagerbestände anpassen (bei Lieferverträgen).
|
||||||
|
- Lieferpläne erstellen (Termine, Routen, Verantwortliche).
|
||||||
|
- **Vertrieb**:
|
||||||
|
- Kundenkommunikation (Bestätigungsmail, nächste Schritte).
|
||||||
|
- **Finanzen**:
|
||||||
|
- Zahlungsbedingungen konfigurieren (z. B. Skonto, Raten).
|
||||||
|
- Budgetreservierungen freigeben.
|
||||||
|
- **Monitoring**:
|
||||||
|
- **KPIs** festlegen (z. B. Liefertreue, Zahlungseingänge).
|
||||||
|
- **Audit-Trail** für Nachverfolgung.
|
||||||
|
|-- [Event: 10] **Setup Completed** --> [Task: 2600] **Contract Active**
|
||||||
|
|-- [Event: 20] **Correction Needed** --> [Task: 2400] **Contract Execution** *(z. B. Lagerfehler korrigieren)*
|
||||||
|
|
||||||
|
|
|
||||||
|
|- [Task: 2600] **Contract Active**
|
||||||
|
Team: **Contract Owner (z. B. Account Manager)**
|
||||||
|
Description:
|
||||||
|
**Laufender Vertrag:**
|
||||||
|
- **Regelmäßige Überprüfungen**:
|
||||||
|
- Terminpläne (Lieferungen, Zahlungen, Kündigungsfristen).
|
||||||
|
- Performance des Partners (z. B. Lieferzuverlässigkeit).
|
||||||
|
- **Änderungsmanagement**:
|
||||||
|
- Anpassungen (z. B. Mengenänderungen, Preisanpassungen) müssen neu freigegeben werden (→ Rückkehr zu [Task: 2100]).
|
||||||
|
|-- [Event: 10] **Renewal Due** --> [Task: 2700] **Contract Renewal**
|
||||||
|
|-- [Event: 20] **Termination Requested** --> [Task: 2900] **Contract Termination**
|
||||||
|
|-- [Event: 30] **Escalation** --> [Task: 2800] **Contract Dispute**
|
||||||
|
|
||||||
|
|
|
||||||
|
|- [Task: 2700] **Contract Renewal**
|
||||||
|
Team: **Contract Management / Sales**
|
||||||
|
Description:
|
||||||
|
**Vertragsverlängerung/Anpassung:**
|
||||||
|
- Analyse der Vertragsperformance (z. B. Umsatz, Partnerzufriedenheit).
|
||||||
|
- Angebot für Verlängerung oder neue Bedingungen erstellen.
|
||||||
|
- Prozess wie [Task: 2100] **Contract Creation** wiederholen.
|
||||||
|
|-- [Event: 10] **Renewal Approved** --> [Task: 2600] **Contract Active**
|
||||||
|
|-- [Event: 20] **Renewal Rejected** --> [Task: 2900] **Contract Termination**
|
||||||
|
|
||||||
|
|
|
||||||
|
|- [Task: 2800] **Contract Dispute**
|
||||||
|
Team: **Legal / Dispute Resolution**
|
||||||
|
Description:
|
||||||
|
**Konfliktmanagement:**
|
||||||
|
- Ursache analysieren (z. B. nicht erfüllte Liefertermine, Preisstreitigkeiten).
|
||||||
|
- Mediation oder rechtliche Schritte einleiten.
|
||||||
|
- Bei Einigung: Anpassung des Vertrags ([Task: 2100]).
|
||||||
|
- Bei Scheitern: [Task: 2900] **Contract Termination**.
|
||||||
|
|-- [Event: 10] **Dispute Resolved** --> [Task: 2600] **Contract Active**
|
||||||
|
|-- [Event: 20] **Termination Due to Dispute** --> [Task: 2900] **Contract Termination**
|
||||||
|
|
||||||
|
|
|
||||||
|
|- [Task: 2900] **Contract Termination**
|
||||||
|
Team: **Contract Management / Legal**
|
||||||
|
Description:
|
||||||
|
**Vertragsbeendigung:**
|
||||||
|
- Kündigungsfristen einhalten.
|
||||||
|
- **Liquidation**:
|
||||||
|
- Offene Rechnungen prüfen (Zahlungseingang/Stornierung).
|
||||||
|
- Lagerbestände bereinigen (Rücklieferung/Rücknahme).
|
||||||
|
- **Dokumentation**:
|
||||||
|
- Grund der Kündigung festhalten (für zukünftige Entscheidungen).
|
||||||
|
- Vertrag aus dem System löschen.
|
||||||
|
|-- [Event: 10] **Termination Completed** --> [Task: 2990] **Process Ended**
|
||||||
|
|
||||||
|
|
|
||||||
|
|- [Task: 2990] **Request/Contract Rejected**
|
||||||
|
Team: **Contract Management**
|
||||||
|
Description:
|
||||||
|
**Abgelehter Vertrag oder Anfrage:**
|
||||||
|
- Grund für die Ablehnung dokumentieren (z. B. "Partner nicht solvent").
|
||||||
|
- Feedback an Initiator geben.
|
||||||
|
|-- [Event: 10] **Close Case** --> END
|
||||||
|
|
||||||
|
|
|
||||||
|
|- END
|
||||||
|
Description: **Workflow abgeschlossen** (Vertrag aktiv, beendet oder abgelehnt).
|
||||||
|
|
@ -1,73 +1,78 @@
|
||||||
Business Process: Supplier Compliance Check
|
Business Process: Risk Management
|
||||||
|
|
||||||
START
|
START
|
||||||
|
|
|
|
||||||
|- [Task: 2000] Supplier Data Input
|
|- [Task: 1000] Risk Identification
|
||||||
| Team: Purchasing
|
| Team: Risk Owner (Operational Unit)
|
||||||
| Description:
|
| Description:
|
||||||
| A new potential supplier needs to be checked for compliance. All relevant data (e.g., company details, location, product category) is initially entered or imported into the system.
|
| A potential risk has been identified within an operational unit. The Risk Owner captures basic data (Category, Description, Early Warning Indicators) to initiate the process in accordance with KonTraG.
|
||||||
| |-- [Event: 10] Submit for Initial Check (Data complete) --> [Task: 2100] Initial Compliance Screening
|
| |-- [Event: 10] Submit Proposal (Forward to Central Risk Management) --> [Task: 1100] Validation
|
||||||
| |-- [Event: 20] Hold (Data incomplete/waiting for further information) --> [Task: 2000] Supplier Data Input
|
| |-- [Event: 20] Discard (Draft deleted) --> [Task: 1990] Deleted
|
||||||
|
|
|
|
||||||
|- [Task: 2100] Initial Compliance Screening
|
|- [Task: 1100] Validation
|
||||||
| Team: Compliance Department
|
| Team: Central Risk Management
|
||||||
| Description:
|
| Description:
|
||||||
| The Compliance Department performs an automated and manual screening based on external and internal blacklists, sanctions lists, and basic regulatory requirements.
|
| Central function checks if the identified issued qualifies as a relevant risk or if it is a duplicate.
|
||||||
| |-- [Event: 10] Cleared for DDQ (Initial screening passed) --> [Task: 2200] Send Due Diligence Questionnaire (DDQ)
|
| |-- [Event: 10] Confirm Risk (Risk is valid, proceed to assessment) --> [Task: 1200] Gross Assessment
|
||||||
| |-- [Event: 20] Needs Manual Review (Potential red flags found, requires in-depth investigation) --> [Task: 2150] Detailed Compliance Review
|
| |-- [Event: 20] Reject (Not a risk or duplicate) --> [Task: 1900] Archived
|
||||||
| |-- [Event: 30] Immediate Reject (Severe red flag or sanction match) --> [Task: 2900] Rejected
|
| |-- [Event: 30] Request Info (Send back to Owner for details) --> [Task: 1000] Risk Identification
|
||||||
|
|
|
|
||||||
|- [Task: 2150] Detailed Compliance Review
|
|- [Task: 1200] Gross Assessment
|
||||||
| Team: Compliance Department
|
| Team: Risk Owner (Operational Unit)
|
||||||
| Description:
|
| Description:
|
||||||
| Manual and in-depth investigation of potential risks identified during the initial screening. This involves checking public records and specific compliance databases.
|
| Quantitative assessment of the risk WITHOUT considering planned or existing measures. Impact and Probability are estimated to determine the Gross Risk Score.
|
||||||
| |-- [Event: 10] Cleared for DDQ (Review successful) --> [Task: 2200] Send Due Diligence Questionnaire (DDQ)
|
| |-- [Event: 10] Save Gross Data (Proceed to Measure Definition) --> [Task: 1300] Measure Definition
|
||||||
| |-- [Event: 20] Request More Info (Information is missing from supplier) --> [Task: 2250] Wait for Supplier Response
|
|
||||||
| |-- [Event: 30] Final Reject (Risk confirmed after review) --> [Task: 2900] Rejected
|
|
||||||
|
|
|
|
||||||
|- [Task: 2200] Send Due Diligence Questionnaire (DDQ)
|
|- [Task: 1300] Measure Definition
|
||||||
| Team: Compliance Department
|
| Team: Risk Owner (Operational Unit)
|
||||||
| Description:
|
| Description:
|
||||||
| The system automatically sends the Due Diligence Questionnaire (DDQ) to the supplier's contact person.
|
| Definition of risk mitigating measures (Avoid, Reduce, Transfer, Accept). Documentation of costs and responsibilities for these measures.
|
||||||
| |-- [Event: 10] DDQ Sent (Waiting for supplier response) --> [Task: 2250] Wait for Supplier Response
|
| |-- [Event: 10] Measures Defined (Proceed to Net Assessment) --> [Task: 1400] Net Assessment
|
||||||
|
| |-- [Event: 20] Update Assessment (Go back to Gross Assessment) --> [Task: 1200] Gross Assessment
|
||||||
|
|
|
|
||||||
|- [Task: 2250] Wait for Supplier Response
|
|- [Task: 1400] Net Assessment
|
||||||
| Team: System / Purchasing
|
| Team: Risk Owner (Operational Unit)
|
||||||
| Description:
|
| Description:
|
||||||
| The process waits for the supplier to submit the completed DDQ. Automated reminders are sent if the deadline approaches.
|
| Re-evaluation of Impact and Probability taking the defined measures into account (Residual Risk). Crucial for IDW PS 340 compliance.
|
||||||
| |-- [Event: 10] DDQ Received (Supplier submitted the questionnaire) --> [Task: 2300] Review DDQ
|
| |-- [Event: 10] Submit for Aggregation (Forward to Central RM) --> [Task: 1500] Aggregation & Analysis
|
||||||
| |-- [Event: 20] Send Reminder (Automated or manual reminder sent) --> [Task: 2250] Wait for Supplier Response
|
|
||||||
| |-- [Event: 30] Timeout (DDQ not received within the deadline) --> [Task: 2900] Rejected
|
|
||||||
|
|
|
|
||||||
|- [Task: 2300] Review DDQ
|
|- [Task: 1500] Aggregation & Analysis
|
||||||
| Team: Compliance Department
|
| Team: Central Risk Management
|
||||||
| Description:
|
| Description:
|
||||||
| Compliance checks the submitted DDQ for completeness and verifies the provided answers.
|
| The risk is analyzed in the context of the total risk portfolio (Risk Aggregation/Monte Carlo Simulation) to check against the company's Risk Bearing Capacity.
|
||||||
| |-- [Event: 10] Accept DDQ (All questions answered and satisfactory) --> [Task: 2400] Final Approval
|
| |-- [Event: 10] Approve (Risk within appetite, standard monitoring) --> [Task: 1600] Monitoring
|
||||||
| |-- [Event: 20] Request Clarification (Follow-up questions needed for specific answers) --> [Task: 2250] Wait for Supplier Response
|
| |-- [Event: 20] Insufficient Mitigation (Measures not enough, send back) --> [Task: 1300] Measure Definition
|
||||||
| |-- [Event: 30] Reject DDQ (High compliance risk identified in answers) --> [Task: 2900] Rejected
|
| |-- [Event: 30] Critical Escalation (Threat to existence, forward to Board) --> [Task: 1550] Board Review
|
||||||
|
|
|
|
||||||
|- [Task: 2400] Final Approval
|
|- [Task: 1550] Board Review
|
||||||
| Team: Compliance Management
|
| Team: Management Board / Risk Committee
|
||||||
| Description:
|
| Description:
|
||||||
| Final sign-off by Compliance Management based on the DDQ and all previous screenings.
|
| High-level decision required. Risk exceeds risk bearing capacity or is a "bestandsgefährdendes Risiko" (§91 Abs. 2 AktG).
|
||||||
| |-- [Event: 10] Approved (Supplier cleared for onboarding) --> [Task: 2800] Approved
|
| |-- [Event: 10] Accept Risk (Special approval granted) --> [Task: 1600] Monitoring
|
||||||
| |-- [Event: 20] Rejected (Compliance risk too high) --> [Task: 2900] Rejected
|
| |-- [Event: 20] Demand Action (Force new measures) --> [Task: 1300] Measure Definition
|
||||||
|
|
|
|
||||||
|- [Task: 2800] Approved
|
|- [Task: 1600] Monitoring
|
||||||
| Team: Purchasing
|
| Team: Risk Owner (Operational Unit)
|
||||||
| Description:
|
| Description:
|
||||||
| Supplier compliance check completed and approved. Supplier status is updated, and the process moves to supplier onboarding (e.g., contract negotiation).
|
| Continuous surveillance of the risk and the effectiveness of measures. Periodic review (e.g., quarterly).
|
||||||
| |-- [Event: 10] Close Process (Compliance status recorded) --> [Task: 2990] Completed
|
| |-- [Event: 10] Report: No Change (Keep monitoring) --> [Task: 1600] Monitoring
|
||||||
|
| |-- [Event: 20] Risk Changed (Values or measures changed) --> [Task: 1200] Gross Assessment
|
||||||
|
| |-- [Event: 30] Risk Obsolete (Risk no longer exists) --> [Task: 1800] Closure Review
|
||||||
|
|
|
|
||||||
|- [Task: 2900] Rejected
|
|- [Task: 1800] Closure Review
|
||||||
| Team: Compliance Department
|
| Team: Central Risk Management
|
||||||
| Description:
|
| Description:
|
||||||
| The supplier was rejected at a specific stage due to non-compliance issues. Purchasing is notified.
|
| Final check if the risk can really be closed.
|
||||||
| |-- [Event: 10] Add Comment --> [Task: 2900] Rejected
|
| |-- [Event: 10] Close Risk (Archive) --> [Task: 1900] Archived
|
||||||
| |-- [Event: 20] Close Process (Rejection reason recorded) --> [Task: 2990] Completed
|
| |-- [Event: 20] Deny Closure (Keep active) --> [Task: 1600] Monitoring
|
||||||
|
|
|
||||||
|
|- [Task: 1900] Archived
|
||||||
|
| Team: System
|
||||||
|
| Description:
|
||||||
|
| Risk is closed but kept for audit trails and historical data analysis.
|
||||||
|
| |-- [Event: 10] Reactivate --> [Task: 1100] Validation
|
||||||
|
|
|
|
||||||
END
|
END
|
||||||
|
|
|
|
||||||
|- [Task: 2990] Completed
|
|- [Task: 1990] Deleted
|
||||||
|
|
|
|
||||||
77
dynamixs-ai-app/src/test/resources/riskmanagement.txt
Normal file
77
dynamixs-ai-app/src/test/resources/riskmanagement.txt
Normal file
|
|
@ -0,0 +1,77 @@
|
||||||
|
Business Process: Risk Management Cycle (IDW PS 340)
|
||||||
|
|
||||||
|
START
|
||||||
|
|
|
||||||
|
|- [Task: 1000] Risk Identification
|
||||||
|
| Team: Risk Owner (Operational Unit)
|
||||||
|
| Description:
|
||||||
|
| A potential risk has been identified within an operational unit. The Risk Owner captures basic data (Category, Description, Early Warning Indicators) to initiate the process in accordance with KonTraG.
|
||||||
|
| |-- [Event: 10] Submit Proposal (Forward to Central Risk Management) --> [Task: 1100] Validation
|
||||||
|
| |-- [Event: 20] Discard (Draft deleted) --> [Task: 1990] Deleted
|
||||||
|
|
|
||||||
|
|- [Task: 1100] Validation
|
||||||
|
| Team: Central Risk Management
|
||||||
|
| Description:
|
||||||
|
| Central function checks if the identified issue qualifies as a relevant risk or if it is a duplicate.
|
||||||
|
| |-- [Event: 10] Confirm Risk (Risk is valid, proceed to assessment) --> [Task: 1200] Gross Assessment
|
||||||
|
| |-- [Event: 20] Reject (Not a risk or duplicate) --> [Task: 1900] Archived
|
||||||
|
| |-- [Event: 30] Request Info (Send back to Owner for details) --> [Task: 1000] Risk Identification
|
||||||
|
|
|
||||||
|
|- [Task: 1200] Gross Assessment
|
||||||
|
| Team: Risk Owner (Operational Unit)
|
||||||
|
| Description:
|
||||||
|
| Quantitative assessment of the risk WITHOUT considering planned or existing measures. Impact and Probability are estimated to determine the Gross Risk Score.
|
||||||
|
| |-- [Event: 10] Save Gross Data (Proceed to Measure Definition) --> [Task: 1300] Measure Definition
|
||||||
|
|
|
||||||
|
|- [Task: 1300] Measure Definition
|
||||||
|
| Team: Risk Owner (Operational Unit)
|
||||||
|
| Description:
|
||||||
|
| Definition of risk mitigating measures (Avoid, Reduce, Transfer, Accept). Documentation of costs and responsibilities for these measures.
|
||||||
|
| |-- [Event: 10] Measures Defined (Proceed to Net Assessment) --> [Task: 1400] Net Assessment
|
||||||
|
| |-- [Event: 20] Update Assessment (Go back to Gross Assessment) --> [Task: 1200] Gross Assessment
|
||||||
|
|
|
||||||
|
|- [Task: 1400] Net Assessment
|
||||||
|
| Team: Risk Owner (Operational Unit)
|
||||||
|
| Description:
|
||||||
|
| Re-evaluation of Impact and Probability taking the defined measures into account (Residual Risk). Crucial for IDW PS 340 compliance.
|
||||||
|
| |-- [Event: 10] Submit for Aggregation (Forward to Central RM) --> [Task: 1500] Aggregation & Analysis
|
||||||
|
|
|
||||||
|
|- [Task: 1500] Aggregation & Analysis
|
||||||
|
| Team: Central Risk Management
|
||||||
|
| Description:
|
||||||
|
| The risk is analyzed in the context of the total risk portfolio (Risk Aggregation/Monte Carlo Simulation) to check against the company's Risk Bearing Capacity.
|
||||||
|
| |-- [Event: 10] Approve (Risk within appetite, standard monitoring) --> [Task: 1600] Monitoring
|
||||||
|
| |-- [Event: 20] Insufficient Mitigation (Measures not enough, send back) --> [Task: 1300] Measure Definition
|
||||||
|
| |-- [Event: 30] Critical Escalation (Threat to existence, forward to Board) --> [Task: 1550] Board Review
|
||||||
|
|
|
||||||
|
|- [Task: 1550] Board Review
|
||||||
|
| Team: Management Board / Risk Committee
|
||||||
|
| Description:
|
||||||
|
| High-level decision required. Risk exceeds risk bearing capacity or is a "bestandsgefährdendes Risiko" (§91 Abs. 2 AktG).
|
||||||
|
| |-- [Event: 10] Accept Risk (Special approval granted) --> [Task: 1600] Monitoring
|
||||||
|
| |-- [Event: 20] Demand Action (Force new measures) --> [Task: 1300] Measure Definition
|
||||||
|
|
|
||||||
|
|- [Task: 1600] Monitoring
|
||||||
|
| Team: Risk Owner (Operational Unit)
|
||||||
|
| Description:
|
||||||
|
| Continuous surveillance of the risk and the effectiveness of measures. Periodic review (e.g., quarterly).
|
||||||
|
| |-- [Event: 10] Report: No Change (Keep monitoring) --> [Task: 1600] Monitoring
|
||||||
|
| |-- [Event: 20] Risk Changed (Values or measures changed) --> [Task: 1200] Gross Assessment
|
||||||
|
| |-- [Event: 30] Risk Obsolete (Risk no longer exists) --> [Task: 1800] Closure Review
|
||||||
|
|
|
||||||
|
|- [Task: 1800] Closure Review
|
||||||
|
| Team: Central Risk Management
|
||||||
|
| Description:
|
||||||
|
| Final check if the risk can really be closed.
|
||||||
|
| |-- [Event: 10] Close Risk (Archive) --> [Task: 1900] Archived
|
||||||
|
| |-- [Event: 20] Deny Closure (Keep active) --> [Task: 1600] Monitoring
|
||||||
|
|
|
||||||
|
|- [Task: 1900] Archived
|
||||||
|
| Team: System
|
||||||
|
| Description:
|
||||||
|
| Risk is closed but kept for audit trails and historical data analysis.
|
||||||
|
| |-- [Event: 10] Reactivate --> [Task: 1100] Validation
|
||||||
|
|
|
||||||
|
END
|
||||||
|
|
|
||||||
|
|- [Task: 1990] Deleted
|
||||||
File diff suppressed because it is too large
Load diff
146
dynamixs-ai-app/src/test/resources/website/background-001.bpmn
Normal file
146
dynamixs-ai-app/src/test/resources/website/background-001.bpmn
Normal file
|
|
@ -0,0 +1,146 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<bpmn2:definitions xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL" 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:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" exporter="org.openbpmn" exporterVersion="1.0.0" targetNamespace="http://open-bpmn.org">
|
||||||
|
<bpmn2:extensionElements>
|
||||||
|
<imixs:item name="txtworkflowmodelversion" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[default-en-1.0]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="txtplugins" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[org.imixs.workflow.engine.plugins.RulePlugin]]></imixs:value>
|
||||||
|
<imixs:value><![CDATA[org.imixs.workflow.engine.plugins.SplitAndJoinPlugin]]></imixs:value>
|
||||||
|
<imixs:value><![CDATA[org.imixs.workflow.engine.plugins.OwnerPlugin]]></imixs:value>
|
||||||
|
<imixs:value><![CDATA[org.imixs.workflow.engine.plugins.ApproverPlugin]]></imixs:value>
|
||||||
|
<imixs:value><![CDATA[org.imixs.workflow.engine.plugins.HistoryPlugin]]></imixs:value>
|
||||||
|
<imixs:value><![CDATA[org.imixs.workflow.engine.plugins.ApplicationPlugin]]></imixs:value>
|
||||||
|
<imixs:value><![CDATA[org.imixs.workflow.engine.plugins.IntervalPlugin]]></imixs:value>
|
||||||
|
<imixs:value><![CDATA[org.imixs.workflow.engine.plugins.MailPlugin]]></imixs:value>
|
||||||
|
<imixs:value><![CDATA[org.imixs.workflow.engine.plugins.ResultPlugin]]></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:item>
|
||||||
|
</bpmn2:extensionElements>
|
||||||
|
<bpmn2:process id="process_1" name="Default Process" processType="Public">
|
||||||
|
<bpmn2:documentation id="documentation_dIsJlQ"/>
|
||||||
|
<bpmn2:extensionElements>
|
||||||
|
<open-bpmn:auto-align>true</open-bpmn:auto-align>
|
||||||
|
</bpmn2:extensionElements>
|
||||||
|
<bpmn2:task id="task_DzBmHg" imixs:processid="100" name="Approve">
|
||||||
|
<bpmn2:documentation id="documentation_Dz7pPQ"/>
|
||||||
|
<bpmn2:incoming>sequenceFlow_3VLCbQ</bpmn2:incoming>
|
||||||
|
<bpmn2:outgoing>sequenceFlow_cE44xg</bpmn2:outgoing>
|
||||||
|
</bpmn2:task>
|
||||||
|
<bpmn2:sequenceFlow id="sequenceFlow_3VLCbQ" sourceRef="event_BQQVcw" targetRef="task_DzBmHg">
|
||||||
|
<bpmn2:documentation id="documentation_Ib3jJg"/>
|
||||||
|
</bpmn2:sequenceFlow>
|
||||||
|
<bpmn2:task id="task_Qx2B4g" imixs:processid="200" name="Send">
|
||||||
|
<bpmn2:extensionElements/>
|
||||||
|
<bpmn2:documentation id="documentation_rvNWnQ"/>
|
||||||
|
<bpmn2:incoming>sequenceFlow_cE44xg</bpmn2:incoming>
|
||||||
|
<bpmn2:outgoing>sequenceFlow_Sl9ddA</bpmn2:outgoing>
|
||||||
|
</bpmn2:task>
|
||||||
|
<bpmn2:sequenceFlow id="sequenceFlow_cE44xg" sourceRef="task_DzBmHg" targetRef="task_Qx2B4g">
|
||||||
|
<bpmn2:documentation id="documentation_aElYrg"/>
|
||||||
|
</bpmn2:sequenceFlow>
|
||||||
|
<bpmn2:dataStoreReference id="dataStoreReference_7e3Lqw" name="Data Store">
|
||||||
|
<bpmn2:documentation id="documentation_7z4JLw"/>
|
||||||
|
</bpmn2:dataStoreReference>
|
||||||
|
<bpmn2:association id="association_iA0M8A" sourceRef="task_Qx2B4g" targetRef="dataStoreReference_7e3Lqw">
|
||||||
|
<bpmn2:documentation id="documentation_UrXC7A"/>
|
||||||
|
</bpmn2:association>
|
||||||
|
<bpmn2:dataObject id="dataObject_gtbRDw" imixs:datatype="prompt-data" name="Data">
|
||||||
|
<bpmn2:documentation id="documentation_0uxQUw"><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<PromptDefinition>
|
||||||
|
<prompt_options>{}</prompt_options>
|
||||||
|
<prompt><![CDATA[<itemvalue>request.subject</itemvalue>
|
||||||
|
|
||||||
|
<FILECONTEXT>^.+\.eml$</FILECONTEXT>
|
||||||
|
]]]]><![CDATA[>
|
||||||
|
</prompt>
|
||||||
|
<loglevel>FINE</loglevel>
|
||||||
|
</PromptDefinition> ]]></bpmn2:documentation>
|
||||||
|
</bpmn2:dataObject>
|
||||||
|
<bpmn2:association id="association_lWHmDQ" sourceRef="task_DzBmHg" targetRef="dataObject_gtbRDw">
|
||||||
|
<bpmn2:documentation id="documentation_Fj4EFA"/>
|
||||||
|
</bpmn2:association>
|
||||||
|
<bpmn2:association id="association_pNef4Q" sourceRef="event_BQQVcw" targetRef="dataStoreReference_7e3Lqw">
|
||||||
|
<bpmn2:documentation id="documentation_pbD1Sw"/>
|
||||||
|
</bpmn2:association>
|
||||||
|
<bpmn2:startEvent id="event_BQQVcw" name="Start">
|
||||||
|
<bpmn2:documentation id="documentation_KSXkdw"/>
|
||||||
|
<bpmn2:outgoing>association_pNef4Q</bpmn2:outgoing>
|
||||||
|
<bpmn2:outgoing>sequenceFlow_3VLCbQ</bpmn2:outgoing>
|
||||||
|
</bpmn2:startEvent>
|
||||||
|
<bpmn2:endEvent id="event_uRSh7g" name="Completed">
|
||||||
|
<bpmn2:documentation id="documentation_uzqyIA"/>
|
||||||
|
<bpmn2:incoming>sequenceFlow_Sl9ddA</bpmn2:incoming>
|
||||||
|
</bpmn2:endEvent>
|
||||||
|
<bpmn2:sequenceFlow id="sequenceFlow_Sl9ddA" sourceRef="task_Qx2B4g" targetRef="event_uRSh7g">
|
||||||
|
<bpmn2:documentation id="documentation_SpLy3Q"/>
|
||||||
|
</bpmn2:sequenceFlow>
|
||||||
|
</bpmn2:process>
|
||||||
|
<bpmndi:BPMNDiagram id="BPMNDiagram_1" name="OpenBPMN Diagram">
|
||||||
|
<bpmndi:BPMNPlane bpmnElement="process_1" id="BPMNPlane_d1zbGg">
|
||||||
|
<bpmndi:BPMNShape bpmnElement="task_DzBmHg" id="BPMNShape_06Te5Q">
|
||||||
|
<dc:Bounds height="50.0" width="110.0" x="200.0" y="40.0"/>
|
||||||
|
</bpmndi:BPMNShape>
|
||||||
|
<bpmndi:BPMNShape bpmnElement="task_Qx2B4g" id="BPMNShape_yer4kw">
|
||||||
|
<dc:Bounds height="50.0" width="110.0" x="450.0" y="40.0"/>
|
||||||
|
</bpmndi:BPMNShape>
|
||||||
|
<bpmndi:BPMNShape bpmnElement="dataStoreReference_7e3Lqw" id="BPMNShape_xwZRRA">
|
||||||
|
<dc:Bounds height="50.0" width="50.0" x="520.0" y="180.0"/>
|
||||||
|
<bpmndi:BPMNLabel id="BPMNLabel_RaeA2w">
|
||||||
|
<dc:Bounds height="20.0" width="100.0" x="495.0" y="230.0"/>
|
||||||
|
</bpmndi:BPMNLabel>
|
||||||
|
</bpmndi:BPMNShape>
|
||||||
|
<bpmndi:BPMNShape bpmnElement="dataObject_gtbRDw" id="BPMNShape_31X79A">
|
||||||
|
<dc:Bounds height="50.0" width="35.0" x="270.0" y="150.0"/>
|
||||||
|
<bpmndi:BPMNLabel id="BPMNLabel_bCydww">
|
||||||
|
<dc:Bounds height="20.0" width="100.0" x="237.5" y="205.0"/>
|
||||||
|
</bpmndi:BPMNLabel>
|
||||||
|
</bpmndi:BPMNShape>
|
||||||
|
<bpmndi:BPMNShape bpmnElement="event_BQQVcw" id="BPMNShape_aIKvbQ">
|
||||||
|
<dc:Bounds height="36.0" width="36.0" x="57.0" y="47.0"/>
|
||||||
|
<bpmndi:BPMNLabel id="BPMNLabel_b5BxyA">
|
||||||
|
<dc:Bounds height="20.0" width="100.0" x="25.0" y="86.0"/>
|
||||||
|
</bpmndi:BPMNLabel>
|
||||||
|
</bpmndi:BPMNShape>
|
||||||
|
<bpmndi:BPMNShape bpmnElement="event_uRSh7g" id="BPMNShape_pDh8Gw">
|
||||||
|
<dc:Bounds height="36.0" width="36.0" x="657.0" y="47.0"/>
|
||||||
|
<bpmndi:BPMNLabel id="BPMNLabel_c4C4GQ">
|
||||||
|
<dc:Bounds height="20.0" width="100.0" x="625.0" y="86.0"/>
|
||||||
|
</bpmndi:BPMNLabel>
|
||||||
|
</bpmndi:BPMNShape>
|
||||||
|
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_3VLCbQ" id="BPMNEdge_lrjXGw" sourceElement="BPMNShape_aIKvbQ" targetElement="BPMNShape_06Te5Q">
|
||||||
|
<di:waypoint x="93.0" y="65.0"/>
|
||||||
|
<di:waypoint x="200.0" y="65.0"/>
|
||||||
|
</bpmndi:BPMNEdge>
|
||||||
|
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_cE44xg" id="BPMNEdge_cZ0SNA" sourceElement="BPMNShape_06Te5Q" targetElement="BPMNShape_yer4kw">
|
||||||
|
<di:waypoint x="310.0" y="65.0"/>
|
||||||
|
<di:waypoint x="450.0" y="65.0"/>
|
||||||
|
</bpmndi:BPMNEdge>
|
||||||
|
<bpmndi:BPMNEdge bpmnElement="association_iA0M8A" id="BPMNEdge_xP9rlQ" sourceElement="BPMNShape_yer4kw" targetElement="BPMNShape_xwZRRA">
|
||||||
|
<di:waypoint x="504.0" y="90.0"/>
|
||||||
|
<di:waypoint x="504.0" y="137.0"/>
|
||||||
|
<di:waypoint x="540.0" y="137.0"/>
|
||||||
|
<di:waypoint x="540.0" y="180.0"/>
|
||||||
|
</bpmndi:BPMNEdge>
|
||||||
|
<bpmndi:BPMNEdge bpmnElement="association_lWHmDQ" id="BPMNEdge_kg3SHw" sourceElement="BPMNShape_06Te5Q" targetElement="BPMNShape_31X79A">
|
||||||
|
<di:waypoint x="254.0" y="90.0"/>
|
||||||
|
<di:waypoint x="254.0" y="174.0"/>
|
||||||
|
<di:waypoint x="270.0" y="174.0"/>
|
||||||
|
</bpmndi:BPMNEdge>
|
||||||
|
<bpmndi:BPMNEdge bpmnElement="association_pNef4Q" id="BPMNEdge_PH7UMQ" sourceElement="BPMNShape_aIKvbQ" targetElement="BPMNShape_xwZRRA">
|
||||||
|
<di:waypoint x="75.0" y="83.0"/>
|
||||||
|
<di:waypoint x="75.0" y="243.0"/>
|
||||||
|
<di:waypoint x="544.0" y="243.0"/>
|
||||||
|
<di:waypoint x="544.0" y="230.0"/>
|
||||||
|
</bpmndi:BPMNEdge>
|
||||||
|
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_Sl9ddA" id="BPMNEdge_KkWFiA" sourceElement="BPMNShape_yer4kw" targetElement="BPMNShape_pDh8Gw">
|
||||||
|
<di:waypoint x="560.0" y="65.0"/>
|
||||||
|
<di:waypoint x="657.0" y="65.0"/>
|
||||||
|
</bpmndi:BPMNEdge>
|
||||||
|
</bpmndi:BPMNPlane>
|
||||||
|
</bpmndi:BPMNDiagram>
|
||||||
|
</bpmn2:definitions>
|
||||||
254
dynamixs-ai-app/src/test/resources/website/background-001.svg
Normal file
254
dynamixs-ai-app/src/test/resources/website/background-001.svg
Normal file
File diff suppressed because one or more lines are too long
|
After Width: | Height: | Size: 62 KiB |
|
|
@ -0,0 +1,148 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" class="sprotty-graph bpmnextension-imixs" height="818" id="bpmn-diagram_5_root_pTGI10VcLg3PlNVo" version="1.1" viewBox="0 0 815 545" width="1223">
|
||||||
|
<defs>
|
||||||
|
|
||||||
|
</defs>
|
||||||
|
<g transform="scale(1) translate(0,0)">
|
||||||
|
|
||||||
|
<g class="graph-content">
|
||||||
|
<g class="node task bpmnextension-imixs" id="bpmn-diagram_5_task_DzBmHg" transform="translate(200, 40)">
|
||||||
|
<defs>
|
||||||
|
<clipPath id="task_DzBmHg_clip_path">
|
||||||
|
<path d="M2,5q0,-3 3,-3h100q3,0 3,3v40q0,3 -3,3h-100q-3,0 -3,-3z "/>
|
||||||
|
</clipPath>
|
||||||
|
</defs>
|
||||||
|
<path class="sprotty-node" d="M0,5q0,-5 5,-5h100q5,0 5,5v40q0,5 -5,5h-100q-5,0 -5,-5z " style="fill: transparent; stroke: #00000024; stroke-width: 2px;"/>
|
||||||
|
<g class="extension">
|
||||||
|
<text style="fill: #00000024; font-family: sans-serif; font-size: 9.33333px; stroke: rgb(0, 0, 0); stroke-width: 0px;" transform="translate(3,46)">Id:
|
||||||
|
100</text>
|
||||||
|
</g>
|
||||||
|
<g class="bpmn-text-node" id="bpmn-diagram_5_task_DzBmHg_multiline" transform="translate(0, 8)">
|
||||||
|
<text class="sprotty-label" style="fill: #00000024; font-family: sans-serif; font-size: 10.6667px; perspective-origin: 9.92188px 6px; stroke: rgb(0, 0, 0); stroke-width: 0px; text-anchor: middle;" transform="translate(55,0)">
|
||||||
|
<tspan dy="10" x="0">Approve </tspan>
|
||||||
|
</text>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g class="node task bpmnextension-imixs" id="bpmn-diagram_5_task_Qx2B4g" transform="translate(450, 40)">
|
||||||
|
<defs>
|
||||||
|
<clipPath id="task_Qx2B4g_clip_path">
|
||||||
|
<path d="M2,5q0,-3 3,-3h100q3,0 3,3v40q0,3 -3,3h-100q-3,0 -3,-3z "/>
|
||||||
|
</clipPath>
|
||||||
|
</defs>
|
||||||
|
<path class="sprotty-node" d="M0,5q0,-5 5,-5h100q5,0 5,5v40q0,5 -5,5h-100q-5,0 -5,-5z " style="fill: transparent; stroke: #00000024; stroke-width: 2px;"/>
|
||||||
|
<g class="extension">
|
||||||
|
<text style="fill: #00000024; font-family: sans-serif; font-size: 9.33333px; stroke: rgb(0, 0, 0); stroke-width: 0px;" transform="translate(3,46)">Id:
|
||||||
|
200</text>
|
||||||
|
</g>
|
||||||
|
<g class="bpmn-text-node" id="bpmn-diagram_5_task_Qx2B4g_multiline" transform="translate(0, 8)">
|
||||||
|
<text class="sprotty-label" style="fill: #00000024; font-family: sans-serif; font-size: 10.6667px; perspective-origin: 6.21875px 6px; stroke: rgb(0, 0, 0); stroke-width: 0px; text-anchor: middle;" transform="translate(55,0)">
|
||||||
|
<tspan dy="10" x="0">Send </tspan>
|
||||||
|
</text>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g class="startEvent event" id="bpmn-diagram_5_event_BQQVcw" transform="translate(57, 47)">
|
||||||
|
<circle class="sprotty-node" cx="18" cy="18" r="18" style="fill: transparent; stroke: #00000024; stroke-width: 2px;"/>
|
||||||
|
<g class="symbol">
|
||||||
|
<path d="" style="fill: #00000024; stroke-width: 0px;" transform="scale(1.5),translate(4,4)"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g class="BPMNLabel" id="bpmn-diagram_5_event_BQQVcw_bpmnlabel" transform="translate(25, 86)">
|
||||||
|
<rect class="sprotty-node" height="22" style="fill: rgba(0, 0, 0, 0); stroke: rgb(0, 0, 0); stroke-width: 0px;" width="100" x="0" y="0"/>
|
||||||
|
<g class="comp sprotty-comp label-container" id="bpmn-diagram_5_1dabf9f7-0b63-4258-9ad2-4187f7af92c2" style="fill: rgba(0, 0, 0, 0); stroke: rgba(0, 0, 0, 0);" transform="translate(5, 5)">
|
||||||
|
<g class="bpmn-text-node" id="bpmn-diagram_5_event_BQQVcw_bpmnlabel_multiline">
|
||||||
|
<text class="sprotty-label" style="fill: #00000024; font-family: sans-serif; font-size: 10.6667px; perspective-origin: 5.625px 6px; stroke: rgb(0, 0, 0); stroke-width: 0px; text-anchor: middle;" transform="translate(45,0)">
|
||||||
|
<tspan dy="10" x="0">Start </tspan>
|
||||||
|
</text>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g class="endEvent event" id="bpmn-diagram_5_event_uRSh7g" transform="translate(657, 47)">
|
||||||
|
<circle class="sprotty-node" cx="18" cy="18" r="18" style="fill: transparent; stroke: #00000024; stroke-width: 3px;"/>
|
||||||
|
<g class="symbol">
|
||||||
|
<path d="" style="fill: #00000024; stroke-width: 0px;" transform="scale(1.5),translate(4,4)"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g class="BPMNLabel" id="bpmn-diagram_5_event_uRSh7g_bpmnlabel" transform="translate(625, 86)">
|
||||||
|
<rect class="sprotty-node" height="22" style="fill: rgba(0, 0, 0, 0); stroke: rgb(0, 0, 0); stroke-width: 0px;" width="100" x="0" y="0"/>
|
||||||
|
<g class="comp sprotty-comp label-container" id="bpmn-diagram_5_63a5fcfa-f28f-48d1-a957-e5d4e974b3e0" style="fill: rgba(0, 0, 0, 0); stroke: rgba(0, 0, 0, 0);" transform="translate(5, 5)">
|
||||||
|
<g class="bpmn-text-node" id="bpmn-diagram_5_event_uRSh7g_bpmnlabel_multiline">
|
||||||
|
<text class="sprotty-label" style="fill: #00000024; font-family: sans-serif; font-size: 10.6667px; perspective-origin: 12.875px 6px; stroke: rgb(0, 0, 0); stroke-width: 0px; text-anchor: middle;" transform="translate(45,0)">
|
||||||
|
<tspan dy="10" x="0">Completed </tspan>
|
||||||
|
</text>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g class="dataObject bpmnextension-imixs" id="bpmn-diagram_5_dataObject_gtbRDw" transform="translate(270, 150)">
|
||||||
|
<rect class="sprotty-node" height="50" style="fill: rgba(0, 0, 0, 0); stroke: rgb(0, 144, 241); stroke-width: 0px;" width="35" x="0" y="0"/>
|
||||||
|
<g class="sprotty-icon" style="stroke-width: 2px;">
|
||||||
|
<path d=" M 0,0 L 25,0 L 35,10 L 35,50 L 0,50 Z" fill="none" stroke="#00000024" stroke-width="1.5" style="fill: #00000024;"/>
|
||||||
|
<g class="symbol">
|
||||||
|
<path d="M6.25 9.016C6.66421 9.016 7 9.35089 7 9.76399V11.26C7 11.6731 6.66421 12.008 6.25 12.008C5.83579 12.008 5.5 11.6731 5.5 11.26V9.76399C5.5 9.35089 5.83579 9.016 6.25 9.016Z M10.5 9.76399C10.5 9.35089 10.1642 9.016 9.75 9.016C9.33579 9.016 9 9.35089 9 9.76399V11.26C9 11.6731 9.33579 12.008 9.75 12.008C10.1642 12.008 10.5 11.6731 10.5 11.26V9.76399Z M7.86079 1.80482C7.91028 1.8577 7.95663 1.91232 8 1.96856C8.04337 1.91232 8.08972 1.8577 8.13921 1.80482C8.82116 1.07611 9.87702 0.90832 11.0828 1.04194C12.3131 1.17827 13.2283 1.56829 13.8072 2.29916C14.3725 3.01276 14.5 3.90895 14.5 4.77735C14.5 5.34785 14.447 5.92141 14.2459 6.428L14.4135 7.26391L14.4798 7.29699C15.4115 7.76158 16 8.71126 16 9.7501V11.0107C16 11.2495 15.9143 11.4478 15.844 11.5763C15.7691 11.7131 15.6751 11.8368 15.5851 11.9416C15.4049 12.1512 15.181 12.3534 14.9801 12.5202C14.7751 12.6907 14.5728 12.8419 14.4235 12.9494C14.1842 13.1217 13.9389 13.2807 13.6826 13.4277C13.3756 13.6038 12.9344 13.8361 12.3867 14.0679C11.2956 14.5296 9.75604 15 8 15C6.24396 15 4.70442 14.5296 3.61334 14.0679C3.06559 13.8361 2.62435 13.6038 2.31739 13.4277C2.0611 13.2807 1.81581 13.1217 1.57651 12.9494C1.42716 12.8419 1.2249 12.6907 1.01986 12.5202C0.819 12.3534 0.595113 12.1512 0.414932 11.9416C0.3249 11.8368 0.230849 11.7131 0.156031 11.5763C0.0857453 11.4478 0 11.2495 1.90735e-06 11.0107L0 9.7501C0 8.71126 0.588507 7.76158 1.52017 7.29699L1.5865 7.26391L1.75413 6.42799C1.55295 5.9214 1.5 5.34785 1.5 4.77735C1.5 3.90895 1.62745 3.01276 2.19275 2.29916C2.77172 1.56829 3.68694 1.17827 4.91718 1.04194C6.12298 0.90832 7.17884 1.07611 7.86079 1.80482ZM3.0231 7.7282L3 7.8434V12.0931C3.02086 12.1053 3.04268 12.1179 3.06543 12.131C3.32878 12.2821 3.71567 12.4861 4.19916 12.6907C5.17058 13.1017 6.50604 13.504 8 13.504C9.49396 13.504 10.8294 13.1017 11.8008 12.6907C12.2843 12.4861 12.6712 12.2821 12.9346 12.131C12.9573 12.1179 12.9791 12.1053 13 12.0931V7.8434L12.9769 7.7282C12.4867 7.93728 11.9022 8.01867 11.25 8.01867C10.1037 8.01867 9.19051 7.69201 8.54033 7.03004C8.3213 6.80703 8.14352 6.55741 8 6.28924C7.85648 6.55741 7.6787 6.80703 7.45967 7.03004C6.80949 7.69201 5.89633 8.01867 4.75 8.01867C4.09776 8.01867 3.51325 7.93728 3.0231 7.7282ZM6.76421 2.82557C6.57116 2.61928 6.12702 2.41307 5.08282 2.52878C4.06306 2.64179 3.60328 2.93176 3.36975 3.22656C3.12255 3.53861 3 4.01374 3 4.77735C3 5.56754 3.12905 5.94499 3.3082 6.1441C3.47045 6.32443 3.82768 6.52267 4.75 6.52267C5.60367 6.52267 6.08903 6.28769 6.38811 5.98319C6.70349 5.66209 6.91507 5.1591 7.00579 4.43524C7.12274 3.50212 6.96805 3.04338 6.76421 2.82557ZM9.23579 2.82557C9.03195 3.04338 8.87726 3.50212 8.99421 4.43524C9.08493 5.1591 9.29651 5.66209 9.61189 5.98319C9.91097 6.28769 10.3963 6.52267 11.25 6.52267C12.1723 6.52267 12.5295 6.32443 12.6918 6.1441C12.871 5.94499 13 5.56754 13 4.77735C13 4.01374 12.8775 3.53861 12.6303 3.22656C12.3967 2.93176 11.9369 2.64179 10.9172 2.52878C9.87298 2.41307 9.42884 2.61928 9.23579 2.82557Z" style="fill: #00000024; stroke-width: 0px;" transform="scale(1.5),translate(4,8)"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g class="BPMNLabel" id="bpmn-diagram_5_dataObject_gtbRDw_bpmnlabel" transform="translate(237.5, 205)">
|
||||||
|
<rect class="sprotty-node" height="22" style="fill: rgba(0, 0, 0, 0); stroke: rgb(0, 0, 0); stroke-width: 0px;" width="100" x="0" y="0"/>
|
||||||
|
<g class="comp sprotty-comp label-container" id="bpmn-diagram_5_1fa04718-497b-43aa-9a90-d5ba73fe6ebc" style="fill: rgba(0, 0, 0, 0); stroke: rgba(0, 0, 0, 0);" transform="translate(5, 5)">
|
||||||
|
<g class="bpmn-text-node" id="bpmn-diagram_5_dataObject_gtbRDw_bpmnlabel_multiline">
|
||||||
|
<text class="sprotty-label" style="fill: #00000024; font-family: sans-serif; font-size: 10.6667px; perspective-origin: 5.625px 6px; stroke: rgb(0, 0, 0); stroke-width: 0px; text-anchor: middle;" transform="translate(45,0)">
|
||||||
|
<tspan dy="10" x="0">Data </tspan>
|
||||||
|
</text>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g class="dataStoreReference" id="bpmn-diagram_5_dataStoreReference_7e3Lqw" transform="translate(520, 180)">
|
||||||
|
<rect class="sprotty-node" height="50" style="fill: rgba(0, 0, 0, 0); stroke: rgb(0, 0, 0); stroke-width: 0px;" width="50" x="0" y="0"/>
|
||||||
|
<g class="sprotty-icon" style="stroke-width: 2px;" transform="translate(0,10)">
|
||||||
|
<path d="M0 0 L0 30" fill="none" stroke="#00000024" stroke-width="1.5"/>
|
||||||
|
<path d="M50 0 L50 30" fill="none" stroke="#00000024" stroke-width="1.5"/>
|
||||||
|
<path d="M0 30 A25 8.5 0 0 0 50 30" fill="none" stroke="#00000024" stroke-width="1.5"/>
|
||||||
|
<path d="M0 15 A25 8.5 0 0 0 50 15" fill="none" stroke="#00000024" stroke-width="1.5"/>
|
||||||
|
<ellipse cx="25" cy="0" fill="none" rx="25" ry="8.5" stroke="#00000024" stroke-width="1.5"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g class="BPMNLabel" id="bpmn-diagram_5_dataStoreReference_7e3Lqw_bpmnlabel" transform="translate(495, 230)">
|
||||||
|
<rect class="sprotty-node" height="22" style="fill: rgba(0, 0, 0, 0); stroke: rgb(0, 0, 0); stroke-width: 0px;" width="100" x="0" y="0"/>
|
||||||
|
<g class="comp sprotty-comp label-container" id="bpmn-diagram_5_da9e09dd-e430-42ae-adbe-c2014dd27244" style="fill: rgba(0, 0, 0, 0); stroke: rgba(0, 0, 0, 0);" transform="translate(5, 5)">
|
||||||
|
<g class="bpmn-text-node" id="bpmn-diagram_5_dataStoreReference_7e3Lqw_bpmnlabel_multiline">
|
||||||
|
<text class="sprotty-label" style="fill: #00000024; font-family: sans-serif; font-size: 10.6667px; perspective-origin: 12.7344px 6px; stroke: rgb(0, 0, 0); stroke-width: 0px; text-anchor: middle;" transform="translate(45,0)">
|
||||||
|
<tspan dy="10" x="0">Data Store </tspan>
|
||||||
|
</text>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g class="sprotty-edge sequenceFlow bpmnedge" id="bpmn-diagram_5_sequenceFlow_3VLCbQ" style="fill: none; stroke: #00000024; stroke-width: 1.5px;">
|
||||||
|
<path class="sprotty-edge line" d="M 93,65 L 200,65"/>
|
||||||
|
<path class="sprotty-edge arrow" d="M 1,0 L 14,-4 L 14,4 Z" style="fill: #00000024;" transform="rotate(180 200 65) translate(200 65 )"/>
|
||||||
|
<path class="mouse-handle" d="M 93,65 L 200,65" style="stroke-width: 20; stroke: transparent; stroke-dasharray: none; stroke-dashoffset: 0;"/>
|
||||||
|
<text class="heading sprotty-label" id="bpmn-diagram_5_sequenceFlow_3VLCbQ_bpmnlabel" style="fill: #00000024; font-family: sans-serif; font-size: 10.6667px; stroke-width: 0px; text-align: center; text-anchor: middle;" transform="translate(146.5, 65) translate(0, -3)"/>
|
||||||
|
</g>
|
||||||
|
<g class="sprotty-edge sequenceFlow bpmnedge" id="bpmn-diagram_5_sequenceFlow_cE44xg" style="fill: none; stroke: #00000024; stroke-width: 1.5px;">
|
||||||
|
<path class="sprotty-edge line" d="M 310,65 L 450,65"/>
|
||||||
|
<path class="sprotty-edge arrow" d="M 1,0 L 14,-4 L 14,4 Z" style="fill: #00000024;" transform="rotate(180 450 65) translate(450 65 )"/>
|
||||||
|
<path class="mouse-handle" d="M 310,65 L 450,65" style="stroke-width: 20; stroke: transparent; stroke-dasharray: none; stroke-dashoffset: 0;"/>
|
||||||
|
<text class="heading sprotty-label" id="bpmn-diagram_5_sequenceFlow_cE44xg_bpmnlabel" style="fill: #00000024; font-family: sans-serif; font-size: 10.6667px; stroke-width: 0px; text-align: center; text-anchor: middle;" transform="translate(380, 65) translate(0, -3)"/>
|
||||||
|
</g>
|
||||||
|
<g class="sprotty-edge sequenceFlow bpmnedge" id="bpmn-diagram_5_sequenceFlow_Sl9ddA" style="fill: none; stroke: #00000024; stroke-width: 1.5px;">
|
||||||
|
<path class="sprotty-edge line" d="M 560,65 L 657,65"/>
|
||||||
|
<path class="sprotty-edge arrow" d="M 1,0 L 14,-4 L 14,4 Z" style="fill: #00000024;" transform="rotate(180 657 65) translate(657 65 )"/>
|
||||||
|
<path class="mouse-handle" d="M 560,65 L 657,65" style="stroke-width: 20; stroke: transparent; stroke-dasharray: none; stroke-dashoffset: 0;"/>
|
||||||
|
<text class="heading sprotty-label" id="bpmn-diagram_5_sequenceFlow_Sl9ddA_bpmnlabel" style="fill: #00000024; font-family: sans-serif; font-size: 10.6667px; stroke-width: 0px; text-align: center; text-anchor: middle;" transform="translate(608.5, 65) translate(0, -3)"/>
|
||||||
|
</g>
|
||||||
|
<g class="sprotty-edge association bpmnedge" id="bpmn-diagram_5_association_iA0M8A" style="fill: none; stroke: #00000024; stroke-width: 1.5px;">
|
||||||
|
<path class="sprotty-edge line" d="M 504,90 L 504,127 Q 504,137 514,137 L 530,137 Q 540,137 540,147 L 540,180" style="stroke-dasharray: 4px, 4px;"/>
|
||||||
|
<path class="mouse-handle" d="M 504,90 L 504,127 Q 504,137 514,137 L 530,137 Q 540,137 540,147 L 540,180" style="stroke-width: 20; stroke: transparent; stroke-dasharray: none; stroke-dashoffset: 0;"/>
|
||||||
|
<text class="heading sprotty-label" id="bpmn-diagram_5_association_iA0M8A_bpmnlabel" style="fill: #00000024; font-family: sans-serif; font-size: 10.6667px; stroke-width: 0px; text-align: center; text-anchor: middle;" transform="translate(520, 137) translate(0, -3)"/>
|
||||||
|
</g>
|
||||||
|
<g class="sprotty-edge association bpmnedge" id="bpmn-diagram_5_association_lWHmDQ" style="fill: none; stroke: #00000024; stroke-width: 1.5px;">
|
||||||
|
<path class="sprotty-edge line" d="M 254,90 L 254,166.8 Q 254,174 261.2,174 L 270,174" style="stroke-dasharray: 4px, 4px;"/>
|
||||||
|
<path class="mouse-handle" d="M 254,90 L 254,166.8 Q 254,174 261.2,174 L 270,174" style="stroke-width: 20; stroke: transparent; stroke-dasharray: none; stroke-dashoffset: 0;"/>
|
||||||
|
<text class="heading sprotty-label" id="bpmn-diagram_5_association_lWHmDQ_bpmnlabel" style="fill: #00000024; font-family: sans-serif; font-size: 10.6667px; stroke-width: 0px; text-align: center; text-anchor: middle;" transform="translate(254, 140) translate(-3, 0)"/>
|
||||||
|
</g>
|
||||||
|
<g class="sprotty-edge association bpmnedge" id="bpmn-diagram_5_association_pNef4Q" style="fill: none; stroke: #00000024; stroke-width: 1.5px;">
|
||||||
|
<path class="sprotty-edge line" d="M 75,83 L 75,233 Q 75,243 85,243 L 538.1,243 Q 544,243 544,237.1 L 544,230" style="stroke-dasharray: 4px, 4px;"/>
|
||||||
|
<path class="mouse-handle" d="M 75,83 L 75,233 Q 75,243 85,243 L 538.1,243 Q 544,243 544,237.1 L 544,230" style="stroke-width: 20; stroke: transparent; stroke-dasharray: none; stroke-dashoffset: 0;"/>
|
||||||
|
<text class="heading sprotty-label" id="bpmn-diagram_5_association_pNef4Q_bpmnlabel" style="fill: #00000024; font-family: sans-serif; font-size: 10.6667px; stroke-width: 0px; text-align: center; text-anchor: middle;" transform="translate(236, 243) translate(0, -3)"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 17 KiB |
|
|
@ -0,0 +1,148 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" class="sprotty-graph bpmnextension-imixs" height="818" id="bpmn-diagram_5_root_pTGI10VcLg3PlNVo" version="1.1" viewBox="0 0 815 545" width="1223">
|
||||||
|
<defs>
|
||||||
|
|
||||||
|
</defs>
|
||||||
|
<g transform="scale(1) translate(0,0)">
|
||||||
|
|
||||||
|
<g class="graph-content">
|
||||||
|
<g class="node task bpmnextension-imixs" id="bpmn-diagram_5_task_DzBmHg" transform="translate(200, 40)">
|
||||||
|
<defs>
|
||||||
|
<clipPath id="task_DzBmHg_clip_path">
|
||||||
|
<path d="M2,5q0,-3 3,-3h100q3,0 3,3v40q0,3 -3,3h-100q-3,0 -3,-3z "/>
|
||||||
|
</clipPath>
|
||||||
|
</defs>
|
||||||
|
<path class="sprotty-node" d="M0,5q0,-5 5,-5h100q5,0 5,5v40q0,5 -5,5h-100q-5,0 -5,-5z " style="fill: transparent; stroke: #ffffff24; stroke-width: 2px;"/>
|
||||||
|
<g class="extension">
|
||||||
|
<text style="fill: #ffffff24; font-family: sans-serif; font-size: 9.33333px; stroke: rgb(0, 0, 0); stroke-width: 0px;" transform="translate(3,46)">Id:
|
||||||
|
100</text>
|
||||||
|
</g>
|
||||||
|
<g class="bpmn-text-node" id="bpmn-diagram_5_task_DzBmHg_multiline" transform="translate(0, 8)">
|
||||||
|
<text class="sprotty-label" style="fill: #ffffff24; font-family: sans-serif; font-size: 10.6667px; perspective-origin: 9.92188px 6px; stroke: rgb(0, 0, 0); stroke-width: 0px; text-anchor: middle;" transform="translate(55,0)">
|
||||||
|
<tspan dy="10" x="0">Approve </tspan>
|
||||||
|
</text>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g class="node task bpmnextension-imixs" id="bpmn-diagram_5_task_Qx2B4g" transform="translate(450, 40)">
|
||||||
|
<defs>
|
||||||
|
<clipPath id="task_Qx2B4g_clip_path">
|
||||||
|
<path d="M2,5q0,-3 3,-3h100q3,0 3,3v40q0,3 -3,3h-100q-3,0 -3,-3z "/>
|
||||||
|
</clipPath>
|
||||||
|
</defs>
|
||||||
|
<path class="sprotty-node" d="M0,5q0,-5 5,-5h100q5,0 5,5v40q0,5 -5,5h-100q-5,0 -5,-5z " style="fill: transparent; stroke: #ffffff24; stroke-width: 2px;"/>
|
||||||
|
<g class="extension">
|
||||||
|
<text style="fill: #ffffff24; font-family: sans-serif; font-size: 9.33333px; stroke: rgb(0, 0, 0); stroke-width: 0px;" transform="translate(3,46)">Id:
|
||||||
|
200</text>
|
||||||
|
</g>
|
||||||
|
<g class="bpmn-text-node" id="bpmn-diagram_5_task_Qx2B4g_multiline" transform="translate(0, 8)">
|
||||||
|
<text class="sprotty-label" style="fill: #ffffff24; font-family: sans-serif; font-size: 10.6667px; perspective-origin: 6.21875px 6px; stroke: rgb(0, 0, 0); stroke-width: 0px; text-anchor: middle;" transform="translate(55,0)">
|
||||||
|
<tspan dy="10" x="0">Send </tspan>
|
||||||
|
</text>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g class="startEvent event" id="bpmn-diagram_5_event_BQQVcw" transform="translate(57, 47)">
|
||||||
|
<circle class="sprotty-node" cx="18" cy="18" r="18" style="fill: transparent; stroke: #ffffff24; stroke-width: 2px;"/>
|
||||||
|
<g class="symbol">
|
||||||
|
<path d="" style="fill: #ffffff24; stroke-width: 0px;" transform="scale(1.5),translate(4,4)"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g class="BPMNLabel" id="bpmn-diagram_5_event_BQQVcw_bpmnlabel" transform="translate(25, 86)">
|
||||||
|
<rect class="sprotty-node" height="22" style="fill: rgba(0, 0, 0, 0); stroke: rgb(0, 0, 0); stroke-width: 0px;" width="100" x="0" y="0"/>
|
||||||
|
<g class="comp sprotty-comp label-container" id="bpmn-diagram_5_1dabf9f7-0b63-4258-9ad2-4187f7af92c2" style="fill: rgba(0, 0, 0, 0); stroke: rgba(0, 0, 0, 0);" transform="translate(5, 5)">
|
||||||
|
<g class="bpmn-text-node" id="bpmn-diagram_5_event_BQQVcw_bpmnlabel_multiline">
|
||||||
|
<text class="sprotty-label" style="fill: #ffffff24; font-family: sans-serif; font-size: 10.6667px; perspective-origin: 5.625px 6px; stroke: rgb(0, 0, 0); stroke-width: 0px; text-anchor: middle;" transform="translate(45,0)">
|
||||||
|
<tspan dy="10" x="0">Start </tspan>
|
||||||
|
</text>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g class="endEvent event" id="bpmn-diagram_5_event_uRSh7g" transform="translate(657, 47)">
|
||||||
|
<circle class="sprotty-node" cx="18" cy="18" r="18" style="fill: transparent; stroke: #ffffff24; stroke-width: 3px;"/>
|
||||||
|
<g class="symbol">
|
||||||
|
<path d="" style="fill: #ffffff24; stroke-width: 0px;" transform="scale(1.5),translate(4,4)"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g class="BPMNLabel" id="bpmn-diagram_5_event_uRSh7g_bpmnlabel" transform="translate(625, 86)">
|
||||||
|
<rect class="sprotty-node" height="22" style="fill: rgba(0, 0, 0, 0); stroke: rgb(0, 0, 0); stroke-width: 0px;" width="100" x="0" y="0"/>
|
||||||
|
<g class="comp sprotty-comp label-container" id="bpmn-diagram_5_63a5fcfa-f28f-48d1-a957-e5d4e974b3e0" style="fill: rgba(0, 0, 0, 0); stroke: rgba(0, 0, 0, 0);" transform="translate(5, 5)">
|
||||||
|
<g class="bpmn-text-node" id="bpmn-diagram_5_event_uRSh7g_bpmnlabel_multiline">
|
||||||
|
<text class="sprotty-label" style="fill: #ffffff24; font-family: sans-serif; font-size: 10.6667px; perspective-origin: 12.875px 6px; stroke: rgb(0, 0, 0); stroke-width: 0px; text-anchor: middle;" transform="translate(45,0)">
|
||||||
|
<tspan dy="10" x="0">Completed </tspan>
|
||||||
|
</text>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g class="dataObject bpmnextension-imixs" id="bpmn-diagram_5_dataObject_gtbRDw" transform="translate(270, 150)">
|
||||||
|
<rect class="sprotty-node" height="50" style="fill: rgba(0, 0, 0, 0); stroke: rgb(0, 144, 241); stroke-width: 0px;" width="35" x="0" y="0"/>
|
||||||
|
<g class="sprotty-icon" style="stroke-width: 2px;">
|
||||||
|
<path d=" M 0,0 L 25,0 L 35,10 L 35,50 L 0,50 Z" fill="none" stroke="#ffffff24" stroke-width="1.5" style="fill: #ffffff24;"/>
|
||||||
|
<g class="symbol">
|
||||||
|
<path d="M6.25 9.016C6.66421 9.016 7 9.35089 7 9.76399V11.26C7 11.6731 6.66421 12.008 6.25 12.008C5.83579 12.008 5.5 11.6731 5.5 11.26V9.76399C5.5 9.35089 5.83579 9.016 6.25 9.016Z M10.5 9.76399C10.5 9.35089 10.1642 9.016 9.75 9.016C9.33579 9.016 9 9.35089 9 9.76399V11.26C9 11.6731 9.33579 12.008 9.75 12.008C10.1642 12.008 10.5 11.6731 10.5 11.26V9.76399Z M7.86079 1.80482C7.91028 1.8577 7.95663 1.91232 8 1.96856C8.04337 1.91232 8.08972 1.8577 8.13921 1.80482C8.82116 1.07611 9.87702 0.90832 11.0828 1.04194C12.3131 1.17827 13.2283 1.56829 13.8072 2.29916C14.3725 3.01276 14.5 3.90895 14.5 4.77735C14.5 5.34785 14.447 5.92141 14.2459 6.428L14.4135 7.26391L14.4798 7.29699C15.4115 7.76158 16 8.71126 16 9.7501V11.0107C16 11.2495 15.9143 11.4478 15.844 11.5763C15.7691 11.7131 15.6751 11.8368 15.5851 11.9416C15.4049 12.1512 15.181 12.3534 14.9801 12.5202C14.7751 12.6907 14.5728 12.8419 14.4235 12.9494C14.1842 13.1217 13.9389 13.2807 13.6826 13.4277C13.3756 13.6038 12.9344 13.8361 12.3867 14.0679C11.2956 14.5296 9.75604 15 8 15C6.24396 15 4.70442 14.5296 3.61334 14.0679C3.06559 13.8361 2.62435 13.6038 2.31739 13.4277C2.0611 13.2807 1.81581 13.1217 1.57651 12.9494C1.42716 12.8419 1.2249 12.6907 1.01986 12.5202C0.819 12.3534 0.595113 12.1512 0.414932 11.9416C0.3249 11.8368 0.230849 11.7131 0.156031 11.5763C0.0857453 11.4478 0 11.2495 1.90735e-06 11.0107L0 9.7501C0 8.71126 0.588507 7.76158 1.52017 7.29699L1.5865 7.26391L1.75413 6.42799C1.55295 5.9214 1.5 5.34785 1.5 4.77735C1.5 3.90895 1.62745 3.01276 2.19275 2.29916C2.77172 1.56829 3.68694 1.17827 4.91718 1.04194C6.12298 0.90832 7.17884 1.07611 7.86079 1.80482ZM3.0231 7.7282L3 7.8434V12.0931C3.02086 12.1053 3.04268 12.1179 3.06543 12.131C3.32878 12.2821 3.71567 12.4861 4.19916 12.6907C5.17058 13.1017 6.50604 13.504 8 13.504C9.49396 13.504 10.8294 13.1017 11.8008 12.6907C12.2843 12.4861 12.6712 12.2821 12.9346 12.131C12.9573 12.1179 12.9791 12.1053 13 12.0931V7.8434L12.9769 7.7282C12.4867 7.93728 11.9022 8.01867 11.25 8.01867C10.1037 8.01867 9.19051 7.69201 8.54033 7.03004C8.3213 6.80703 8.14352 6.55741 8 6.28924C7.85648 6.55741 7.6787 6.80703 7.45967 7.03004C6.80949 7.69201 5.89633 8.01867 4.75 8.01867C4.09776 8.01867 3.51325 7.93728 3.0231 7.7282ZM6.76421 2.82557C6.57116 2.61928 6.12702 2.41307 5.08282 2.52878C4.06306 2.64179 3.60328 2.93176 3.36975 3.22656C3.12255 3.53861 3 4.01374 3 4.77735C3 5.56754 3.12905 5.94499 3.3082 6.1441C3.47045 6.32443 3.82768 6.52267 4.75 6.52267C5.60367 6.52267 6.08903 6.28769 6.38811 5.98319C6.70349 5.66209 6.91507 5.1591 7.00579 4.43524C7.12274 3.50212 6.96805 3.04338 6.76421 2.82557ZM9.23579 2.82557C9.03195 3.04338 8.87726 3.50212 8.99421 4.43524C9.08493 5.1591 9.29651 5.66209 9.61189 5.98319C9.91097 6.28769 10.3963 6.52267 11.25 6.52267C12.1723 6.52267 12.5295 6.32443 12.6918 6.1441C12.871 5.94499 13 5.56754 13 4.77735C13 4.01374 12.8775 3.53861 12.6303 3.22656C12.3967 2.93176 11.9369 2.64179 10.9172 2.52878C9.87298 2.41307 9.42884 2.61928 9.23579 2.82557Z" style="fill: #ffffff24; stroke-width: 0px;" transform="scale(1.5),translate(4,8)"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g class="BPMNLabel" id="bpmn-diagram_5_dataObject_gtbRDw_bpmnlabel" transform="translate(237.5, 205)">
|
||||||
|
<rect class="sprotty-node" height="22" style="fill: rgba(0, 0, 0, 0); stroke: rgb(0, 0, 0); stroke-width: 0px;" width="100" x="0" y="0"/>
|
||||||
|
<g class="comp sprotty-comp label-container" id="bpmn-diagram_5_1fa04718-497b-43aa-9a90-d5ba73fe6ebc" style="fill: rgba(0, 0, 0, 0); stroke: rgba(0, 0, 0, 0);" transform="translate(5, 5)">
|
||||||
|
<g class="bpmn-text-node" id="bpmn-diagram_5_dataObject_gtbRDw_bpmnlabel_multiline">
|
||||||
|
<text class="sprotty-label" style="fill: #ffffff24; font-family: sans-serif; font-size: 10.6667px; perspective-origin: 5.625px 6px; stroke: rgb(0, 0, 0); stroke-width: 0px; text-anchor: middle;" transform="translate(45,0)">
|
||||||
|
<tspan dy="10" x="0">Data </tspan>
|
||||||
|
</text>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g class="dataStoreReference" id="bpmn-diagram_5_dataStoreReference_7e3Lqw" transform="translate(520, 180)">
|
||||||
|
<rect class="sprotty-node" height="50" style="fill: rgba(0, 0, 0, 0); stroke: rgb(0, 0, 0); stroke-width: 0px;" width="50" x="0" y="0"/>
|
||||||
|
<g class="sprotty-icon" style="stroke-width: 2px;" transform="translate(0,10)">
|
||||||
|
<path d="M0 0 L0 30" fill="none" stroke="#ffffff24" stroke-width="1.5"/>
|
||||||
|
<path d="M50 0 L50 30" fill="none" stroke="#ffffff24" stroke-width="1.5"/>
|
||||||
|
<path d="M0 30 A25 8.5 0 0 0 50 30" fill="none" stroke="#ffffff24" stroke-width="1.5"/>
|
||||||
|
<path d="M0 15 A25 8.5 0 0 0 50 15" fill="none" stroke="#ffffff24" stroke-width="1.5"/>
|
||||||
|
<ellipse cx="25" cy="0" fill="none" rx="25" ry="8.5" stroke="#ffffff24" stroke-width="1.5"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g class="BPMNLabel" id="bpmn-diagram_5_dataStoreReference_7e3Lqw_bpmnlabel" transform="translate(495, 230)">
|
||||||
|
<rect class="sprotty-node" height="22" style="fill: rgba(0, 0, 0, 0); stroke: rgb(0, 0, 0); stroke-width: 0px;" width="100" x="0" y="0"/>
|
||||||
|
<g class="comp sprotty-comp label-container" id="bpmn-diagram_5_da9e09dd-e430-42ae-adbe-c2014dd27244" style="fill: rgba(0, 0, 0, 0); stroke: rgba(0, 0, 0, 0);" transform="translate(5, 5)">
|
||||||
|
<g class="bpmn-text-node" id="bpmn-diagram_5_dataStoreReference_7e3Lqw_bpmnlabel_multiline">
|
||||||
|
<text class="sprotty-label" style="fill: #ffffff24; font-family: sans-serif; font-size: 10.6667px; perspective-origin: 12.7344px 6px; stroke: rgb(0, 0, 0); stroke-width: 0px; text-anchor: middle;" transform="translate(45,0)">
|
||||||
|
<tspan dy="10" x="0">Data Store </tspan>
|
||||||
|
</text>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g class="sprotty-edge sequenceFlow bpmnedge" id="bpmn-diagram_5_sequenceFlow_3VLCbQ" style="fill: none; stroke: #ffffff24; stroke-width: 1.5px;">
|
||||||
|
<path class="sprotty-edge line" d="M 93,65 L 200,65"/>
|
||||||
|
<path class="sprotty-edge arrow" d="M 1,0 L 14,-4 L 14,4 Z" style="fill: #ffffff24;" transform="rotate(180 200 65) translate(200 65 )"/>
|
||||||
|
<path class="mouse-handle" d="M 93,65 L 200,65" style="stroke-width: 20; stroke: transparent; stroke-dasharray: none; stroke-dashoffset: 0;"/>
|
||||||
|
<text class="heading sprotty-label" id="bpmn-diagram_5_sequenceFlow_3VLCbQ_bpmnlabel" style="fill: #ffffff24; font-family: sans-serif; font-size: 10.6667px; stroke-width: 0px; text-align: center; text-anchor: middle;" transform="translate(146.5, 65) translate(0, -3)"/>
|
||||||
|
</g>
|
||||||
|
<g class="sprotty-edge sequenceFlow bpmnedge" id="bpmn-diagram_5_sequenceFlow_cE44xg" style="fill: none; stroke: #ffffff24; stroke-width: 1.5px;">
|
||||||
|
<path class="sprotty-edge line" d="M 310,65 L 450,65"/>
|
||||||
|
<path class="sprotty-edge arrow" d="M 1,0 L 14,-4 L 14,4 Z" style="fill: #ffffff24;" transform="rotate(180 450 65) translate(450 65 )"/>
|
||||||
|
<path class="mouse-handle" d="M 310,65 L 450,65" style="stroke-width: 20; stroke: transparent; stroke-dasharray: none; stroke-dashoffset: 0;"/>
|
||||||
|
<text class="heading sprotty-label" id="bpmn-diagram_5_sequenceFlow_cE44xg_bpmnlabel" style="fill: #ffffff24; font-family: sans-serif; font-size: 10.6667px; stroke-width: 0px; text-align: center; text-anchor: middle;" transform="translate(380, 65) translate(0, -3)"/>
|
||||||
|
</g>
|
||||||
|
<g class="sprotty-edge sequenceFlow bpmnedge" id="bpmn-diagram_5_sequenceFlow_Sl9ddA" style="fill: none; stroke: #ffffff24; stroke-width: 1.5px;">
|
||||||
|
<path class="sprotty-edge line" d="M 560,65 L 657,65"/>
|
||||||
|
<path class="sprotty-edge arrow" d="M 1,0 L 14,-4 L 14,4 Z" style="fill: #ffffff24;" transform="rotate(180 657 65) translate(657 65 )"/>
|
||||||
|
<path class="mouse-handle" d="M 560,65 L 657,65" style="stroke-width: 20; stroke: transparent; stroke-dasharray: none; stroke-dashoffset: 0;"/>
|
||||||
|
<text class="heading sprotty-label" id="bpmn-diagram_5_sequenceFlow_Sl9ddA_bpmnlabel" style="fill: #ffffff24; font-family: sans-serif; font-size: 10.6667px; stroke-width: 0px; text-align: center; text-anchor: middle;" transform="translate(608.5, 65) translate(0, -3)"/>
|
||||||
|
</g>
|
||||||
|
<g class="sprotty-edge association bpmnedge" id="bpmn-diagram_5_association_iA0M8A" style="fill: none; stroke: #ffffff24; stroke-width: 1.5px;">
|
||||||
|
<path class="sprotty-edge line" d="M 504,90 L 504,127 Q 504,137 514,137 L 530,137 Q 540,137 540,147 L 540,180" style="stroke-dasharray: 4px, 4px;"/>
|
||||||
|
<path class="mouse-handle" d="M 504,90 L 504,127 Q 504,137 514,137 L 530,137 Q 540,137 540,147 L 540,180" style="stroke-width: 20; stroke: transparent; stroke-dasharray: none; stroke-dashoffset: 0;"/>
|
||||||
|
<text class="heading sprotty-label" id="bpmn-diagram_5_association_iA0M8A_bpmnlabel" style="fill: #ffffff24; font-family: sans-serif; font-size: 10.6667px; stroke-width: 0px; text-align: center; text-anchor: middle;" transform="translate(520, 137) translate(0, -3)"/>
|
||||||
|
</g>
|
||||||
|
<g class="sprotty-edge association bpmnedge" id="bpmn-diagram_5_association_lWHmDQ" style="fill: none; stroke: #ffffff24; stroke-width: 1.5px;">
|
||||||
|
<path class="sprotty-edge line" d="M 254,90 L 254,166.8 Q 254,174 261.2,174 L 270,174" style="stroke-dasharray: 4px, 4px;"/>
|
||||||
|
<path class="mouse-handle" d="M 254,90 L 254,166.8 Q 254,174 261.2,174 L 270,174" style="stroke-width: 20; stroke: transparent; stroke-dasharray: none; stroke-dashoffset: 0;"/>
|
||||||
|
<text class="heading sprotty-label" id="bpmn-diagram_5_association_lWHmDQ_bpmnlabel" style="fill: #ffffff24; font-family: sans-serif; font-size: 10.6667px; stroke-width: 0px; text-align: center; text-anchor: middle;" transform="translate(254, 140) translate(-3, 0)"/>
|
||||||
|
</g>
|
||||||
|
<g class="sprotty-edge association bpmnedge" id="bpmn-diagram_5_association_pNef4Q" style="fill: none; stroke: #ffffff24; stroke-width: 1.5px;">
|
||||||
|
<path class="sprotty-edge line" d="M 75,83 L 75,233 Q 75,243 85,243 L 538.1,243 Q 544,243 544,237.1 L 544,230" style="stroke-dasharray: 4px, 4px;"/>
|
||||||
|
<path class="mouse-handle" d="M 75,83 L 75,233 Q 75,243 85,243 L 538.1,243 Q 544,243 544,237.1 L 544,230" style="stroke-width: 20; stroke: transparent; stroke-dasharray: none; stroke-dashoffset: 0;"/>
|
||||||
|
<text class="heading sprotty-label" id="bpmn-diagram_5_association_pNef4Q_bpmnlabel" style="fill: #ffffff24; font-family: sans-serif; font-size: 10.6667px; stroke-width: 0px; text-align: center; text-anchor: middle;" transform="translate(236, 243) translate(0, -3)"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 17 KiB |
|
|
@ -0,0 +1,148 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" class="sprotty-graph bpmnextension-imixs" height="818" id="bpmn-diagram_5_root_pTGI10VcLg3PlNVo" version="1.1" viewBox="0 0 815 545" width="1223">
|
||||||
|
<defs>
|
||||||
|
|
||||||
|
</defs>
|
||||||
|
<g transform="scale(1) translate(0,0)">
|
||||||
|
|
||||||
|
<g class="graph-content">
|
||||||
|
<g class="node task bpmnextension-imixs" id="bpmn-diagram_5_task_DzBmHg" transform="translate(200, 40)">
|
||||||
|
<defs>
|
||||||
|
<clipPath id="task_DzBmHg_clip_path">
|
||||||
|
<path d="M2,5q0,-3 3,-3h100q3,0 3,3v40q0,3 -3,3h-100q-3,0 -3,-3z "/>
|
||||||
|
</clipPath>
|
||||||
|
</defs>
|
||||||
|
<path class="sprotty-node" d="M0,5q0,-5 5,-5h100q5,0 5,5v40q0,5 -5,5h-100q-5,0 -5,-5z " style="fill: transparent; stroke: #ffffff0a; stroke-width: 2px;"/>
|
||||||
|
<g class="extension">
|
||||||
|
<text style="fill: #ffffff0a; font-family: sans-serif; font-size: 9.33333px; stroke: rgb(0, 0, 0); stroke-width: 0px;" transform="translate(3,46)">Id:
|
||||||
|
100</text>
|
||||||
|
</g>
|
||||||
|
<g class="bpmn-text-node" id="bpmn-diagram_5_task_DzBmHg_multiline" transform="translate(0, 8)">
|
||||||
|
<text class="sprotty-label" style="fill: #ffffff0a; font-family: sans-serif; font-size: 10.6667px; perspective-origin: 9.92188px 6px; stroke: rgb(0, 0, 0); stroke-width: 0px; text-anchor: middle;" transform="translate(55,0)">
|
||||||
|
<tspan dy="10" x="0">Approve </tspan>
|
||||||
|
</text>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g class="node task bpmnextension-imixs" id="bpmn-diagram_5_task_Qx2B4g" transform="translate(450, 40)">
|
||||||
|
<defs>
|
||||||
|
<clipPath id="task_Qx2B4g_clip_path">
|
||||||
|
<path d="M2,5q0,-3 3,-3h100q3,0 3,3v40q0,3 -3,3h-100q-3,0 -3,-3z "/>
|
||||||
|
</clipPath>
|
||||||
|
</defs>
|
||||||
|
<path class="sprotty-node" d="M0,5q0,-5 5,-5h100q5,0 5,5v40q0,5 -5,5h-100q-5,0 -5,-5z " style="fill: transparent; stroke: #ffffff0a; stroke-width: 2px;"/>
|
||||||
|
<g class="extension">
|
||||||
|
<text style="fill: #ffffff0a; font-family: sans-serif; font-size: 9.33333px; stroke: rgb(0, 0, 0); stroke-width: 0px;" transform="translate(3,46)">Id:
|
||||||
|
200</text>
|
||||||
|
</g>
|
||||||
|
<g class="bpmn-text-node" id="bpmn-diagram_5_task_Qx2B4g_multiline" transform="translate(0, 8)">
|
||||||
|
<text class="sprotty-label" style="fill: #ffffff0a; font-family: sans-serif; font-size: 10.6667px; perspective-origin: 6.21875px 6px; stroke: rgb(0, 0, 0); stroke-width: 0px; text-anchor: middle;" transform="translate(55,0)">
|
||||||
|
<tspan dy="10" x="0">Send </tspan>
|
||||||
|
</text>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g class="startEvent event" id="bpmn-diagram_5_event_BQQVcw" transform="translate(57, 47)">
|
||||||
|
<circle class="sprotty-node" cx="18" cy="18" r="18" style="fill: transparent; stroke: #ffffff0a; stroke-width: 2px;"/>
|
||||||
|
<g class="symbol">
|
||||||
|
<path d="" style="fill: #ffffff0a; stroke-width: 0px;" transform="scale(1.5),translate(4,4)"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g class="BPMNLabel" id="bpmn-diagram_5_event_BQQVcw_bpmnlabel" transform="translate(25, 86)">
|
||||||
|
<rect class="sprotty-node" height="22" style="fill: rgba(0, 0, 0, 0); stroke: rgb(0, 0, 0); stroke-width: 0px;" width="100" x="0" y="0"/>
|
||||||
|
<g class="comp sprotty-comp label-container" id="bpmn-diagram_5_1dabf9f7-0b63-4258-9ad2-4187f7af92c2" style="fill: rgba(0, 0, 0, 0); stroke: rgba(0, 0, 0, 0);" transform="translate(5, 5)">
|
||||||
|
<g class="bpmn-text-node" id="bpmn-diagram_5_event_BQQVcw_bpmnlabel_multiline">
|
||||||
|
<text class="sprotty-label" style="fill: #ffffff0a; font-family: sans-serif; font-size: 10.6667px; perspective-origin: 5.625px 6px; stroke: rgb(0, 0, 0); stroke-width: 0px; text-anchor: middle;" transform="translate(45,0)">
|
||||||
|
<tspan dy="10" x="0">Start </tspan>
|
||||||
|
</text>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g class="endEvent event" id="bpmn-diagram_5_event_uRSh7g" transform="translate(657, 47)">
|
||||||
|
<circle class="sprotty-node" cx="18" cy="18" r="18" style="fill: transparent; stroke: #ffffff0a; stroke-width: 3px;"/>
|
||||||
|
<g class="symbol">
|
||||||
|
<path d="" style="fill: #ffffff0a; stroke-width: 0px;" transform="scale(1.5),translate(4,4)"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g class="BPMNLabel" id="bpmn-diagram_5_event_uRSh7g_bpmnlabel" transform="translate(625, 86)">
|
||||||
|
<rect class="sprotty-node" height="22" style="fill: rgba(0, 0, 0, 0); stroke: rgb(0, 0, 0); stroke-width: 0px;" width="100" x="0" y="0"/>
|
||||||
|
<g class="comp sprotty-comp label-container" id="bpmn-diagram_5_63a5fcfa-f28f-48d1-a957-e5d4e974b3e0" style="fill: rgba(0, 0, 0, 0); stroke: rgba(0, 0, 0, 0);" transform="translate(5, 5)">
|
||||||
|
<g class="bpmn-text-node" id="bpmn-diagram_5_event_uRSh7g_bpmnlabel_multiline">
|
||||||
|
<text class="sprotty-label" style="fill: #ffffff0a; font-family: sans-serif; font-size: 10.6667px; perspective-origin: 12.875px 6px; stroke: rgb(0, 0, 0); stroke-width: 0px; text-anchor: middle;" transform="translate(45,0)">
|
||||||
|
<tspan dy="10" x="0">Completed </tspan>
|
||||||
|
</text>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g class="dataObject bpmnextension-imixs" id="bpmn-diagram_5_dataObject_gtbRDw" transform="translate(270, 150)">
|
||||||
|
<rect class="sprotty-node" height="50" style="fill: rgba(0, 0, 0, 0); stroke: rgb(0, 144, 241); stroke-width: 0px;" width="35" x="0" y="0"/>
|
||||||
|
<g class="sprotty-icon" style="stroke-width: 2px;">
|
||||||
|
<path d=" M 0,0 L 25,0 L 35,10 L 35,50 L 0,50 Z" fill="none" stroke="#ffffff0a" stroke-width="1.5" style="fill: #ffffff0a;"/>
|
||||||
|
<g class="symbol">
|
||||||
|
<path d="M6.25 9.016C6.66421 9.016 7 9.35089 7 9.76399V11.26C7 11.6731 6.66421 12.008 6.25 12.008C5.83579 12.008 5.5 11.6731 5.5 11.26V9.76399C5.5 9.35089 5.83579 9.016 6.25 9.016Z M10.5 9.76399C10.5 9.35089 10.1642 9.016 9.75 9.016C9.33579 9.016 9 9.35089 9 9.76399V11.26C9 11.6731 9.33579 12.008 9.75 12.008C10.1642 12.008 10.5 11.6731 10.5 11.26V9.76399Z M7.86079 1.80482C7.91028 1.8577 7.95663 1.91232 8 1.96856C8.04337 1.91232 8.08972 1.8577 8.13921 1.80482C8.82116 1.07611 9.87702 0.90832 11.0828 1.04194C12.3131 1.17827 13.2283 1.56829 13.8072 2.29916C14.3725 3.01276 14.5 3.90895 14.5 4.77735C14.5 5.34785 14.447 5.92141 14.2459 6.428L14.4135 7.26391L14.4798 7.29699C15.4115 7.76158 16 8.71126 16 9.7501V11.0107C16 11.2495 15.9143 11.4478 15.844 11.5763C15.7691 11.7131 15.6751 11.8368 15.5851 11.9416C15.4049 12.1512 15.181 12.3534 14.9801 12.5202C14.7751 12.6907 14.5728 12.8419 14.4235 12.9494C14.1842 13.1217 13.9389 13.2807 13.6826 13.4277C13.3756 13.6038 12.9344 13.8361 12.3867 14.0679C11.2956 14.5296 9.75604 15 8 15C6.24396 15 4.70442 14.5296 3.61334 14.0679C3.06559 13.8361 2.62435 13.6038 2.31739 13.4277C2.0611 13.2807 1.81581 13.1217 1.57651 12.9494C1.42716 12.8419 1.2249 12.6907 1.01986 12.5202C0.819 12.3534 0.595113 12.1512 0.414932 11.9416C0.3249 11.8368 0.230849 11.7131 0.156031 11.5763C0.0857453 11.4478 0 11.2495 1.90735e-06 11.0107L0 9.7501C0 8.71126 0.588507 7.76158 1.52017 7.29699L1.5865 7.26391L1.75413 6.42799C1.55295 5.9214 1.5 5.34785 1.5 4.77735C1.5 3.90895 1.62745 3.01276 2.19275 2.29916C2.77172 1.56829 3.68694 1.17827 4.91718 1.04194C6.12298 0.90832 7.17884 1.07611 7.86079 1.80482ZM3.0231 7.7282L3 7.8434V12.0931C3.02086 12.1053 3.04268 12.1179 3.06543 12.131C3.32878 12.2821 3.71567 12.4861 4.19916 12.6907C5.17058 13.1017 6.50604 13.504 8 13.504C9.49396 13.504 10.8294 13.1017 11.8008 12.6907C12.2843 12.4861 12.6712 12.2821 12.9346 12.131C12.9573 12.1179 12.9791 12.1053 13 12.0931V7.8434L12.9769 7.7282C12.4867 7.93728 11.9022 8.01867 11.25 8.01867C10.1037 8.01867 9.19051 7.69201 8.54033 7.03004C8.3213 6.80703 8.14352 6.55741 8 6.28924C7.85648 6.55741 7.6787 6.80703 7.45967 7.03004C6.80949 7.69201 5.89633 8.01867 4.75 8.01867C4.09776 8.01867 3.51325 7.93728 3.0231 7.7282ZM6.76421 2.82557C6.57116 2.61928 6.12702 2.41307 5.08282 2.52878C4.06306 2.64179 3.60328 2.93176 3.36975 3.22656C3.12255 3.53861 3 4.01374 3 4.77735C3 5.56754 3.12905 5.94499 3.3082 6.1441C3.47045 6.32443 3.82768 6.52267 4.75 6.52267C5.60367 6.52267 6.08903 6.28769 6.38811 5.98319C6.70349 5.66209 6.91507 5.1591 7.00579 4.43524C7.12274 3.50212 6.96805 3.04338 6.76421 2.82557ZM9.23579 2.82557C9.03195 3.04338 8.87726 3.50212 8.99421 4.43524C9.08493 5.1591 9.29651 5.66209 9.61189 5.98319C9.91097 6.28769 10.3963 6.52267 11.25 6.52267C12.1723 6.52267 12.5295 6.32443 12.6918 6.1441C12.871 5.94499 13 5.56754 13 4.77735C13 4.01374 12.8775 3.53861 12.6303 3.22656C12.3967 2.93176 11.9369 2.64179 10.9172 2.52878C9.87298 2.41307 9.42884 2.61928 9.23579 2.82557Z" style="fill: #ffffff0a; stroke-width: 0px;" transform="scale(1.5),translate(4,8)"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g class="BPMNLabel" id="bpmn-diagram_5_dataObject_gtbRDw_bpmnlabel" transform="translate(237.5, 205)">
|
||||||
|
<rect class="sprotty-node" height="22" style="fill: rgba(0, 0, 0, 0); stroke: rgb(0, 0, 0); stroke-width: 0px;" width="100" x="0" y="0"/>
|
||||||
|
<g class="comp sprotty-comp label-container" id="bpmn-diagram_5_1fa04718-497b-43aa-9a90-d5ba73fe6ebc" style="fill: rgba(0, 0, 0, 0); stroke: rgba(0, 0, 0, 0);" transform="translate(5, 5)">
|
||||||
|
<g class="bpmn-text-node" id="bpmn-diagram_5_dataObject_gtbRDw_bpmnlabel_multiline">
|
||||||
|
<text class="sprotty-label" style="fill: #ffffff0a; font-family: sans-serif; font-size: 10.6667px; perspective-origin: 5.625px 6px; stroke: rgb(0, 0, 0); stroke-width: 0px; text-anchor: middle;" transform="translate(45,0)">
|
||||||
|
<tspan dy="10" x="0">Data </tspan>
|
||||||
|
</text>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g class="dataStoreReference" id="bpmn-diagram_5_dataStoreReference_7e3Lqw" transform="translate(520, 180)">
|
||||||
|
<rect class="sprotty-node" height="50" style="fill: rgba(0, 0, 0, 0); stroke: rgb(0, 0, 0); stroke-width: 0px;" width="50" x="0" y="0"/>
|
||||||
|
<g class="sprotty-icon" style="stroke-width: 2px;" transform="translate(0,10)">
|
||||||
|
<path d="M0 0 L0 30" fill="none" stroke="#ffffff0a" stroke-width="1.5"/>
|
||||||
|
<path d="M50 0 L50 30" fill="none" stroke="#ffffff0a" stroke-width="1.5"/>
|
||||||
|
<path d="M0 30 A25 8.5 0 0 0 50 30" fill="none" stroke="#ffffff0a" stroke-width="1.5"/>
|
||||||
|
<path d="M0 15 A25 8.5 0 0 0 50 15" fill="none" stroke="#ffffff0a" stroke-width="1.5"/>
|
||||||
|
<ellipse cx="25" cy="0" fill="none" rx="25" ry="8.5" stroke="#ffffff0a" stroke-width="1.5"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g class="BPMNLabel" id="bpmn-diagram_5_dataStoreReference_7e3Lqw_bpmnlabel" transform="translate(495, 230)">
|
||||||
|
<rect class="sprotty-node" height="22" style="fill: rgba(0, 0, 0, 0); stroke: rgb(0, 0, 0); stroke-width: 0px;" width="100" x="0" y="0"/>
|
||||||
|
<g class="comp sprotty-comp label-container" id="bpmn-diagram_5_da9e09dd-e430-42ae-adbe-c2014dd27244" style="fill: rgba(0, 0, 0, 0); stroke: rgba(0, 0, 0, 0);" transform="translate(5, 5)">
|
||||||
|
<g class="bpmn-text-node" id="bpmn-diagram_5_dataStoreReference_7e3Lqw_bpmnlabel_multiline">
|
||||||
|
<text class="sprotty-label" style="fill: #ffffff0a; font-family: sans-serif; font-size: 10.6667px; perspective-origin: 12.7344px 6px; stroke: rgb(0, 0, 0); stroke-width: 0px; text-anchor: middle;" transform="translate(45,0)">
|
||||||
|
<tspan dy="10" x="0">Data Store </tspan>
|
||||||
|
</text>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g class="sprotty-edge sequenceFlow bpmnedge" id="bpmn-diagram_5_sequenceFlow_3VLCbQ" style="fill: none; stroke: #ffffff0a; stroke-width: 1.5px;">
|
||||||
|
<path class="sprotty-edge line" d="M 93,65 L 200,65"/>
|
||||||
|
<path class="sprotty-edge arrow" d="M 1,0 L 14,-4 L 14,4 Z" style="fill: #ffffff0a;" transform="rotate(180 200 65) translate(200 65 )"/>
|
||||||
|
<path class="mouse-handle" d="M 93,65 L 200,65" style="stroke-width: 20; stroke: transparent; stroke-dasharray: none; stroke-dashoffset: 0;"/>
|
||||||
|
<text class="heading sprotty-label" id="bpmn-diagram_5_sequenceFlow_3VLCbQ_bpmnlabel" style="fill: #ffffff0a; font-family: sans-serif; font-size: 10.6667px; stroke-width: 0px; text-align: center; text-anchor: middle;" transform="translate(146.5, 65) translate(0, -3)"/>
|
||||||
|
</g>
|
||||||
|
<g class="sprotty-edge sequenceFlow bpmnedge" id="bpmn-diagram_5_sequenceFlow_cE44xg" style="fill: none; stroke: #ffffff0a; stroke-width: 1.5px;">
|
||||||
|
<path class="sprotty-edge line" d="M 310,65 L 450,65"/>
|
||||||
|
<path class="sprotty-edge arrow" d="M 1,0 L 14,-4 L 14,4 Z" style="fill: #ffffff0a;" transform="rotate(180 450 65) translate(450 65 )"/>
|
||||||
|
<path class="mouse-handle" d="M 310,65 L 450,65" style="stroke-width: 20; stroke: transparent; stroke-dasharray: none; stroke-dashoffset: 0;"/>
|
||||||
|
<text class="heading sprotty-label" id="bpmn-diagram_5_sequenceFlow_cE44xg_bpmnlabel" style="fill: #ffffff0a; font-family: sans-serif; font-size: 10.6667px; stroke-width: 0px; text-align: center; text-anchor: middle;" transform="translate(380, 65) translate(0, -3)"/>
|
||||||
|
</g>
|
||||||
|
<g class="sprotty-edge sequenceFlow bpmnedge" id="bpmn-diagram_5_sequenceFlow_Sl9ddA" style="fill: none; stroke: #ffffff0a; stroke-width: 1.5px;">
|
||||||
|
<path class="sprotty-edge line" d="M 560,65 L 657,65"/>
|
||||||
|
<path class="sprotty-edge arrow" d="M 1,0 L 14,-4 L 14,4 Z" style="fill: #ffffff0a;" transform="rotate(180 657 65) translate(657 65 )"/>
|
||||||
|
<path class="mouse-handle" d="M 560,65 L 657,65" style="stroke-width: 20; stroke: transparent; stroke-dasharray: none; stroke-dashoffset: 0;"/>
|
||||||
|
<text class="heading sprotty-label" id="bpmn-diagram_5_sequenceFlow_Sl9ddA_bpmnlabel" style="fill: #ffffff0a; font-family: sans-serif; font-size: 10.6667px; stroke-width: 0px; text-align: center; text-anchor: middle;" transform="translate(608.5, 65) translate(0, -3)"/>
|
||||||
|
</g>
|
||||||
|
<g class="sprotty-edge association bpmnedge" id="bpmn-diagram_5_association_iA0M8A" style="fill: none; stroke: #ffffff0a; stroke-width: 1.5px;">
|
||||||
|
<path class="sprotty-edge line" d="M 504,90 L 504,127 Q 504,137 514,137 L 530,137 Q 540,137 540,147 L 540,180" style="stroke-dasharray: 4px, 4px;"/>
|
||||||
|
<path class="mouse-handle" d="M 504,90 L 504,127 Q 504,137 514,137 L 530,137 Q 540,137 540,147 L 540,180" style="stroke-width: 20; stroke: transparent; stroke-dasharray: none; stroke-dashoffset: 0;"/>
|
||||||
|
<text class="heading sprotty-label" id="bpmn-diagram_5_association_iA0M8A_bpmnlabel" style="fill: #ffffff0a; font-family: sans-serif; font-size: 10.6667px; stroke-width: 0px; text-align: center; text-anchor: middle;" transform="translate(520, 137) translate(0, -3)"/>
|
||||||
|
</g>
|
||||||
|
<g class="sprotty-edge association bpmnedge" id="bpmn-diagram_5_association_lWHmDQ" style="fill: none; stroke: #ffffff0a; stroke-width: 1.5px;">
|
||||||
|
<path class="sprotty-edge line" d="M 254,90 L 254,166.8 Q 254,174 261.2,174 L 270,174" style="stroke-dasharray: 4px, 4px;"/>
|
||||||
|
<path class="mouse-handle" d="M 254,90 L 254,166.8 Q 254,174 261.2,174 L 270,174" style="stroke-width: 20; stroke: transparent; stroke-dasharray: none; stroke-dashoffset: 0;"/>
|
||||||
|
<text class="heading sprotty-label" id="bpmn-diagram_5_association_lWHmDQ_bpmnlabel" style="fill: #ffffff0a; font-family: sans-serif; font-size: 10.6667px; stroke-width: 0px; text-align: center; text-anchor: middle;" transform="translate(254, 140) translate(-3, 0)"/>
|
||||||
|
</g>
|
||||||
|
<g class="sprotty-edge association bpmnedge" id="bpmn-diagram_5_association_pNef4Q" style="fill: none; stroke: #ffffff0a; stroke-width: 1.5px;">
|
||||||
|
<path class="sprotty-edge line" d="M 75,83 L 75,233 Q 75,243 85,243 L 538.1,243 Q 544,243 544,237.1 L 544,230" style="stroke-dasharray: 4px, 4px;"/>
|
||||||
|
<path class="mouse-handle" d="M 75,83 L 75,233 Q 75,243 85,243 L 538.1,243 Q 544,243 544,237.1 L 544,230" style="stroke-width: 20; stroke: transparent; stroke-dasharray: none; stroke-dashoffset: 0;"/>
|
||||||
|
<text class="heading sprotty-label" id="bpmn-diagram_5_association_pNef4Q_bpmnlabel" style="fill: #ffffff0a; font-family: sans-serif; font-size: 10.6667px; stroke-width: 0px; text-align: center; text-anchor: middle;" transform="translate(236, 243) translate(0, -3)"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 17 KiB |
494
dynamixs-ai-app/src/test/resources/website/index.html
Normal file
494
dynamixs-ai-app/src/test/resources/website/index.html
Normal file
|
|
@ -0,0 +1,494 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="de">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>DYNAMIXS.AI - Die TRUSTED Enterprise AI Platform</title>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
/*
|
||||||
|
*************************************************
|
||||||
|
* CSS-GRUNDLAGEN (Zum schnellen Testen integriert) *
|
||||||
|
*************************************************
|
||||||
|
*/
|
||||||
|
:root {
|
||||||
|
--color-primary: #007bff;
|
||||||
|
/* Starkes Blau */
|
||||||
|
--color-secondary: #28a745;
|
||||||
|
/* Akzent Grün/Akzent */
|
||||||
|
--color-dark: #212529;
|
||||||
|
--color-light: #f8f9fa;
|
||||||
|
--font-family: 'Inter', sans-serif;
|
||||||
|
--section-padding: 80px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
font-family: var(--font-family);
|
||||||
|
line-height: 1.6;
|
||||||
|
margin: 0;
|
||||||
|
padding-top: 60px;
|
||||||
|
/* Platz für die Fixed-Navigation */
|
||||||
|
color: var(--color-dark);
|
||||||
|
background-color: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
h1,
|
||||||
|
h2,
|
||||||
|
h3 {
|
||||||
|
line-height: 1.2;
|
||||||
|
font-weight: 800;
|
||||||
|
margin-bottom: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
a {
|
||||||
|
color: var(--color-primary);
|
||||||
|
text-decoration: none;
|
||||||
|
transition: color 0.3s;
|
||||||
|
}
|
||||||
|
|
||||||
|
.container {
|
||||||
|
max-width: 1200px;
|
||||||
|
margin: 0 auto;
|
||||||
|
padding: 0 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
section {
|
||||||
|
padding: var(--section-padding);
|
||||||
|
scroll-margin-top: 60px;
|
||||||
|
/* Für smooth scrolling */
|
||||||
|
}
|
||||||
|
|
||||||
|
/* --- Navigation --- */
|
||||||
|
.header-nav {
|
||||||
|
position: fixed;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
background-color: white;
|
||||||
|
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
|
||||||
|
z-index: 1000;
|
||||||
|
}
|
||||||
|
|
||||||
|
.nav-content {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
padding: 10px 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.logo {
|
||||||
|
font-size: 1.5em;
|
||||||
|
font-weight: bold;
|
||||||
|
color: var(--color-dark);
|
||||||
|
}
|
||||||
|
|
||||||
|
.nav-menu ul {
|
||||||
|
list-style: none;
|
||||||
|
padding: 0;
|
||||||
|
margin: 0;
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
|
||||||
|
.nav-menu ul li a {
|
||||||
|
padding: 10px 15px;
|
||||||
|
display: block;
|
||||||
|
font-weight: 600;
|
||||||
|
color: var(--color-dark);
|
||||||
|
}
|
||||||
|
|
||||||
|
.nav-menu ul li a:hover {
|
||||||
|
color: var(--color-primary);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* --- CTAs --- */
|
||||||
|
.btn {
|
||||||
|
display: inline-block;
|
||||||
|
padding: 12px 25px;
|
||||||
|
margin-top: 10px;
|
||||||
|
border-radius: 5px;
|
||||||
|
text-transform: uppercase;
|
||||||
|
font-weight: 600;
|
||||||
|
transition: background-color 0.3s;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-primary {
|
||||||
|
background-color: var(--color-primary);
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-primary:hover {
|
||||||
|
background-color: #0056b3;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-secondary {
|
||||||
|
background-color: transparent;
|
||||||
|
color: var(--color-primary);
|
||||||
|
border: 2px solid var(--color-primary);
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-secondary:hover {
|
||||||
|
background-color: var(--color-primary);
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* --- Sektion: Hero/Home --- */
|
||||||
|
#home {
|
||||||
|
background-color: var(--color-light);
|
||||||
|
text-align: center;
|
||||||
|
padding: 100px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#home h1 {
|
||||||
|
font-size: 3em;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
color: var(--color-dark);
|
||||||
|
}
|
||||||
|
|
||||||
|
#home .subtitle {
|
||||||
|
font-size: 1.5em;
|
||||||
|
font-weight: 400;
|
||||||
|
margin-bottom: 40px;
|
||||||
|
color: #6c757d;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cta-group .btn {
|
||||||
|
margin: 0 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* --- Sektion: Problem (Kontrast-Sektion) --- */
|
||||||
|
#problem {
|
||||||
|
background-color: var(--color-dark);
|
||||||
|
color: white;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
#problem h2 {
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
#problem ul {
|
||||||
|
list-style: none;
|
||||||
|
padding: 0;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
gap: 40px;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
#problem ul li {
|
||||||
|
max-width: 250px;
|
||||||
|
text-align: left;
|
||||||
|
padding: 20px;
|
||||||
|
border: 1px solid rgba(255, 255, 255, 0.2);
|
||||||
|
border-radius: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* --- Sektion: Features (Grid) --- */
|
||||||
|
.feature-grid {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
|
||||||
|
gap: 40px;
|
||||||
|
margin-top: 40px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.feature-card {
|
||||||
|
background-color: var(--color-light);
|
||||||
|
padding: 30px;
|
||||||
|
border-radius: 10px;
|
||||||
|
box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
|
||||||
|
}
|
||||||
|
|
||||||
|
.feature-card h3 {
|
||||||
|
color: var(--color-primary);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* --- Sektion: Prozess (Linearer Ablauf) --- */
|
||||||
|
.process-step {
|
||||||
|
display: flex;
|
||||||
|
align-items: flex-start;
|
||||||
|
margin-bottom: 30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.step-number {
|
||||||
|
font-size: 2em;
|
||||||
|
font-weight: bold;
|
||||||
|
color: var(--color-secondary);
|
||||||
|
margin-right: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.step-content h3 {
|
||||||
|
margin-top: 0;
|
||||||
|
color: var(--color-primary);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* --- Sektion: Ergebnisse (Metriken/Testimonials) --- */
|
||||||
|
.metric-grid {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-around;
|
||||||
|
text-align: center;
|
||||||
|
margin-top: 40px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.metric strong {
|
||||||
|
display: block;
|
||||||
|
font-size: 3em;
|
||||||
|
color: var(--color-primary);
|
||||||
|
line-height: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.testimonial-card {
|
||||||
|
background-color: var(--color-light);
|
||||||
|
padding: 30px;
|
||||||
|
border-left: 5px solid var(--color-secondary);
|
||||||
|
margin-top: 30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* --- Footer --- */
|
||||||
|
footer {
|
||||||
|
background-color: var(--color-dark);
|
||||||
|
color: white;
|
||||||
|
padding: 40px 0;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 0.9em;
|
||||||
|
}
|
||||||
|
|
||||||
|
footer a {
|
||||||
|
color: white;
|
||||||
|
margin: 0 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* --- Media Queries für Responsivität --- */
|
||||||
|
@media (max-width: 768px) {
|
||||||
|
.nav-menu ul {
|
||||||
|
display: none;
|
||||||
|
/* Mobile Navigation vereinfacht (Hamburger-Menü würde hier folgen) */
|
||||||
|
}
|
||||||
|
|
||||||
|
.nav-content {
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
padding-top: 50px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.header-nav {
|
||||||
|
height: 50px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#home h1 {
|
||||||
|
font-size: 2.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.metric-grid {
|
||||||
|
flex-direction: column;
|
||||||
|
gap: 30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cta-group {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
gap: 10px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<header class="header-nav">
|
||||||
|
<div class="container nav-content">
|
||||||
|
<div class="logo">DYNAMIXS.AI</div>
|
||||||
|
<nav class="nav-menu">
|
||||||
|
<ul>
|
||||||
|
<li><a href="#home">Start</a></li>
|
||||||
|
<li><a href="#plattform">Plattform</a></li>
|
||||||
|
<li><a href="#prozess">Prozess</a></li>
|
||||||
|
<li><a href="#ergebnisse">Erfolge</a></li>
|
||||||
|
<li><a href="#kontakt" class="btn btn-primary">Demo</a></li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
<section id="home" class="container">
|
||||||
|
<h1>Ihre Geschäftsprozesse sind einzigartig.<br>Unsere KI versteht sie.</h1>
|
||||||
|
<p class="subtitle">Die **TRUSTED Enterprise AI Platform** – Modellierung, Verbesserung und Automatisierung
|
||||||
|
Ihrer Prozesse, geerdet in Ihrer Business-Realität.</p>
|
||||||
|
|
||||||
|
<div class="cta-group">
|
||||||
|
<a href="#plattform" class="btn btn-primary">Platform kennenlernen</a>
|
||||||
|
<a href="#kontakt" class="btn btn-secondary">Experten sprechen</a>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section id="problem">
|
||||||
|
<div class="container">
|
||||||
|
<h2>Warum KI allein nicht genug ist</h2>
|
||||||
|
<p>Ohne den Kontext Ihrer Abläufe bleibt KI eine Black Box. Die häufigsten Herausforderungen:</p>
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
<i class="fas fa-sitemap"></i>
|
||||||
|
<h3>Verstreute Workflows</h3>
|
||||||
|
<p>Komplexe Abläufe sind über viele Systeme verteilt, Tools halten nicht Schritt.</p>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<i class="fas fa-database"></i>
|
||||||
|
<h3>Datensilos</h3>
|
||||||
|
<p>Wichtige Informationen sind isoliert, was Entscheidungen verlangsamt und die Zuverlässigkeit
|
||||||
|
mindert.</p>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<i class="fas fa-lock"></i>
|
||||||
|
<h3>Sicherheitsrisiken</h3>
|
||||||
|
<p>Compliance- und Sicherheitsauflagen limitieren den Einsatz externer, unkontrollierter KI.</p>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section id="plattform" class="container">
|
||||||
|
<h2>Was DYNAMIXS.AI **anders** macht</h2>
|
||||||
|
<p class="subtitle">Wir starten mit Ihrer Business-Realität. Die DYNAMIXS.AI Plattform ist Ihre **Process
|
||||||
|
Context Engine**:</p>
|
||||||
|
|
||||||
|
<p>Ihre Workflows, Regeln, Dokumente und das Expertenwissen Ihrer Teams werden zusammengeführt, um der KI den
|
||||||
|
notwendigen Kontext zu liefern. Dadurch wird KI **präzise, geschäftsreif und vertrauenswürdig**.</p>
|
||||||
|
|
||||||
|
<img src="placeholder-grafik-context-engine.svg" alt="Visuelle Darstellung der Process Context Engine"
|
||||||
|
style="width: 100%; max-width: 600px; display: block; margin: 40px auto;">
|
||||||
|
|
||||||
|
<a href="#features" class="btn btn-primary">Mehr zu AI Modeling</a>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section id="features" class="container">
|
||||||
|
<h2>Drei Säulen für Ihren Erfolg</h2>
|
||||||
|
|
||||||
|
<div class="feature-grid">
|
||||||
|
<div class="feature-card">
|
||||||
|
<i class="fas fa-handshake fa-3x"></i>
|
||||||
|
<h3>Start mit Ihrer Geschäftsrealität</h3>
|
||||||
|
<p>Wir modellieren Prozesse, Daten und Regeln exakt so, wie sie existieren. Ihre individuelle Logik ist
|
||||||
|
die Basis für präzise KI-Aktionen.</p>
|
||||||
|
<a href="#">Mehr erfahren →</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="feature-card">
|
||||||
|
<i class="fas fa-robot fa-3x"></i>
|
||||||
|
<h3>AI transformiert Ihre Prozesse</h3>
|
||||||
|
<p>Ihre Workflows bilden den Rahmen für KI-gesteuerte Entscheidungen: **Smart, Secure und Trusted.** Das
|
||||||
|
System lernt mit jedem Workflow.</p>
|
||||||
|
<a href="#">AI Modeling ansehen →</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="feature-card">
|
||||||
|
<i class="fas fa-cogs fa-3x"></i>
|
||||||
|
<h3>Effiziente Anpassung mit Templates</h3>
|
||||||
|
<p>Vordefinierte Bausteine für Finance, HR und Logistik ermöglichen eine schnelle, kosteneffiziente
|
||||||
|
Implementierung in Stunden statt Wochen.</p>
|
||||||
|
<a href="#">Zur Template Library →</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section id="prozess" class="container" style="background-color: var(--color-light);">
|
||||||
|
<h2>In 4 Schritten zur Trusted AI Platform</h2>
|
||||||
|
<p>Von der Vision zur Implementierung – schnell und strukturiert.</p>
|
||||||
|
|
||||||
|
<div class="process-flow">
|
||||||
|
<div class="process-step">
|
||||||
|
<div class="step-number">1</div>
|
||||||
|
<div class="step-content">
|
||||||
|
<h3>Capture your business reality</h3>
|
||||||
|
<p>Ihre Prozesse, Daten und Regeln werden in einem Living Model abgebildet.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="process-step">
|
||||||
|
<div class="step-number">2</div>
|
||||||
|
<div class="step-content">
|
||||||
|
<h3>Build the workflow model</h3>
|
||||||
|
<p>Eine erste lauffähige Version Ihres Systems ist innerhalb von Stunden einsatzbereit.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="process-step">
|
||||||
|
<div class="step-number">3</div>
|
||||||
|
<div class="step-content">
|
||||||
|
<h3>Customize with templates</h3>
|
||||||
|
<p>Fertige Komponenten verkürzen die Entwicklungszeit und beschleunigen die Implementierung.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="process-step">
|
||||||
|
<div class="step-number">4</div>
|
||||||
|
<div class="step-content">
|
||||||
|
<h3>Deploy, learn, improve</h3>
|
||||||
|
<p>Nach dem Live-Gang beginnt die kontinuierliche Optimierung durch gesammelte Prozessdaten.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section id="architektur" class="container">
|
||||||
|
<h2>Enterprise-Ready Architektur</h2>
|
||||||
|
<p>Ein Technologie-Stack, geformt durch zwei Jahrzehnte Enterprise-Projekte, auf den Sie sich verlassen können:
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>**Skalierbar:** Event-driven, BPMN-basiert, Cloud-native und API-first.</li>
|
||||||
|
<li>**Geschützt:** Daten sind verschlüsselt, auditierbar und DSGVO-konform.</li>
|
||||||
|
<li>**Bewährt:** Erfolgreich im Einsatz in Logistik, HR, Finance und Government.</li>
|
||||||
|
</ul>
|
||||||
|
<a href="#" class="btn btn-secondary">Architektur im Detail ansehen</a>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section id="ergebnisse" class="container" style="background-color: var(--color-light);">
|
||||||
|
<h2>Messbare Erfolge in realen Unternehmen</h2>
|
||||||
|
|
||||||
|
<div class="metric-grid">
|
||||||
|
<div class="metric">
|
||||||
|
<strong>2</strong>
|
||||||
|
<p>Wochen bis zur vollen Integration in vielen Kundenfällen.</p>
|
||||||
|
</div>
|
||||||
|
<div class="metric">
|
||||||
|
<strong>5,000+</strong>
|
||||||
|
<p>Transaktionen und 95 Modelle bei einer Steuerberatung.</p>
|
||||||
|
</div>
|
||||||
|
<div class="metric">
|
||||||
|
<strong>2</strong>
|
||||||
|
<p>Stunden bis zum ersten lauffähigen Modell.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="testimonial-card">
|
||||||
|
<p>“Unglaublich, wie schnell wir unsere Geschäftsprozesse implementiert haben. Die Ergebnisse fließen direkt
|
||||||
|
in unser ERP.”</p>
|
||||||
|
<small>— Kunde, Finance</small>
|
||||||
|
</div>
|
||||||
|
<a href="#" class="btn btn-primary" style="margin-top: 40px;">Alle Erfolgsstories →</a>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section id="kontakt" class="container" style="text-align: center;">
|
||||||
|
<h2>Ready to see how?</h2>
|
||||||
|
<p class="subtitle">Nutzen Sie das ungenutzte Intelligenzpotenzial Ihrer Workflows. Wir zeigen Ihnen, wie.</p>
|
||||||
|
|
||||||
|
<a href="#" class="btn btn-primary btn-lg" style="font-size: 1.2em;">Jetzt Beratungstermin vereinbaren</a>
|
||||||
|
<p style="margin-top: 20px;">Oder rufen Sie uns an: +49 (0) XXXX / XXXXXX</p>
|
||||||
|
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<footer>
|
||||||
|
<div class="container">
|
||||||
|
<div class="logo">DYNAMIXS.AI</div>
|
||||||
|
<p>© 2025 DYNAMIXS.AI | Alle Rechte vorbehalten.</p>
|
||||||
|
<p>
|
||||||
|
<a href="#">Kontakt</a>
|
||||||
|
<a href="#">Legal / Impressum</a>
|
||||||
|
<a href="#">Datenschutz</a>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
||||||
|
|
@ -2741,9 +2741,6 @@ Create a short briefing (3-5 bullet points):
|
||||||
<dc:Bounds height="20.0" width="100.0" x="989.7044067382812" y="915.10791015625"/>
|
<dc:Bounds height="20.0" width="100.0" x="989.7044067382812" y="915.10791015625"/>
|
||||||
</bpmndi:BPMNLabel>
|
</bpmndi:BPMNLabel>
|
||||||
</bpmndi:BPMNShape>
|
</bpmndi:BPMNShape>
|
||||||
<bpmndi:BPMNShape bpmnElement="participant_hnZfjA" id="BPMNShape_iHhp5Q">
|
|
||||||
<dc:Bounds height="210.0" width="800.0" x="0.0" y="0.0"/>
|
|
||||||
</bpmndi:BPMNShape>
|
|
||||||
<bpmndi:BPMNShape bpmnElement="dataObject_g68BvQ" id="BPMNShape_4ZBosQ">
|
<bpmndi:BPMNShape bpmnElement="dataObject_g68BvQ" id="BPMNShape_4ZBosQ">
|
||||||
<dc:Bounds height="50.0" width="35.0" x="1510.0" y="400.0"/>
|
<dc:Bounds height="50.0" width="35.0" x="1510.0" y="400.0"/>
|
||||||
<bpmndi:BPMNLabel id="BPMNLabel_4YP9hg">
|
<bpmndi:BPMNLabel id="BPMNLabel_4YP9hg">
|
||||||
|
|
|
||||||
1282
workflow/en/risk-de-1.0.0.bpmn
Normal file
1282
workflow/en/risk-de-1.0.0.bpmn
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -1,13 +1,5 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
<!-- origin at X=0.0 Y=0.0 -->
|
<!-- 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: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>
|
<bpmn2:extensionElements>
|
||||||
<imixs:item name="txtfieldmapping" type="xs:string">
|
<imixs:item name="txtfieldmapping" type="xs:string">
|
||||||
<imixs:value><![CDATA[Ersteller|namCreator]]></imixs:value>
|
<imixs:value><![CDATA[Ersteller|namCreator]]></imixs:value>
|
||||||
|
|
@ -52,8 +44,7 @@
|
||||||
</bpmn2:participant>
|
</bpmn2:participant>
|
||||||
<bpmn2:participant id="participant_GUMWGQ" name="Default Process" processRef="process_2"/>
|
<bpmn2:participant id="participant_GUMWGQ" name="Default Process" processRef="process_2"/>
|
||||||
</bpmn2:collaboration>
|
</bpmn2:collaboration>
|
||||||
<bpmn2:process definitionalCollaborationRef="Collaboration_1" id="Process_1" isExecutable="false"
|
<bpmn2:process definitionalCollaborationRef="Collaboration_1" id="Process_1" isExecutable="false" name="Inbox" processType="Private">
|
||||||
name="Inbox" processType="Private">
|
|
||||||
<bpmn2:laneSet id="LaneSet_1" name="Lane Set 1">
|
<bpmn2:laneSet id="LaneSet_1" name="Lane Set 1">
|
||||||
<bpmn2:lane id="Lane_2" name="Team">
|
<bpmn2:lane id="Lane_2" name="Team">
|
||||||
<bpmn2:flowNodeRef>BoundaryEvent_1</bpmn2:flowNodeRef>
|
<bpmn2:flowNodeRef>BoundaryEvent_1</bpmn2:flowNodeRef>
|
||||||
|
|
@ -109,8 +100,7 @@
|
||||||
<bpmn2:flowNodeRef>event_psk2mQ</bpmn2:flowNodeRef>
|
<bpmn2:flowNodeRef>event_psk2mQ</bpmn2:flowNodeRef>
|
||||||
</bpmn2:lane>
|
</bpmn2:lane>
|
||||||
</bpmn2:laneSet>
|
</bpmn2:laneSet>
|
||||||
<bpmn2:intermediateCatchEvent id="IntermediateCatchEvent_2" imixs:activityid="10"
|
<bpmn2:intermediateCatchEvent id="IntermediateCatchEvent_2" imixs:activityid="10" name="einvoice">
|
||||||
name="einvoice">
|
|
||||||
<bpmn2:extensionElements>
|
<bpmn2:extensionElements>
|
||||||
<imixs:item name="keylogtimeformat" type="xs:string">
|
<imixs:item name="keylogtimeformat" type="xs:string">
|
||||||
<imixs:value><![CDATA[2]]></imixs:value>
|
<imixs:value><![CDATA[2]]></imixs:value>
|
||||||
|
|
@ -159,7 +149,7 @@ Betrag: <itemvalue>_amount</itemvalue> (Brutto € <itemvalue>_amount_brutto</it
|
||||||
</imixs:item>
|
</imixs:item>
|
||||||
<imixs:item name="txtactivityresult" type="xs:string">
|
<imixs:item name="txtactivityresult" type="xs:string">
|
||||||
<imixs:value><![CDATA[<item name="action">home</item>
|
<imixs:value><![CDATA[<item name="action">home</item>
|
||||||
<item name="process">Empfang</item>
|
<item name="process">Management</item>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -349,8 +339,7 @@ Betrag: <itemvalue>_amount</itemvalue> (Brutto € <itemvalue>_amount_brutto</it
|
||||||
</bpmn2:timerEventDefinition>
|
</bpmn2:timerEventDefinition>
|
||||||
<bpmn2:documentation id="documentation_xBAZWg"/>
|
<bpmn2:documentation id="documentation_xBAZWg"/>
|
||||||
</bpmn2:boundaryEvent>
|
</bpmn2:boundaryEvent>
|
||||||
<bpmn2:sequenceFlow id="SequenceFlow_2" sourceRef="BoundaryEvent_1"
|
<bpmn2:sequenceFlow id="SequenceFlow_2" sourceRef="BoundaryEvent_1" targetRef="IntermediateCatchEvent_3">
|
||||||
targetRef="IntermediateCatchEvent_3">
|
|
||||||
<bpmn2:documentation id="documentation_yRaNRg"/>
|
<bpmn2:documentation id="documentation_yRaNRg"/>
|
||||||
</bpmn2:sequenceFlow>
|
</bpmn2:sequenceFlow>
|
||||||
<bpmn2:dataObject id="dataObject_FS1r0Q" imixs:datatype="form-data" name="Form">
|
<bpmn2:dataObject id="dataObject_FS1r0Q" imixs:datatype="form-data" name="Form">
|
||||||
|
|
@ -404,12 +393,10 @@ Assign documents to process 'Front Desk']]></bpmn2:text>
|
||||||
<bpmn2:sequenceFlow id="sequenceFlow_fRPOrw" sourceRef="StartEvent_1" targetRef="event_ZAPEXA">
|
<bpmn2:sequenceFlow id="sequenceFlow_fRPOrw" sourceRef="StartEvent_1" targetRef="event_ZAPEXA">
|
||||||
<bpmn2:documentation id="documentation_0j4j6g"/>
|
<bpmn2:documentation id="documentation_0j4j6g"/>
|
||||||
</bpmn2:sequenceFlow>
|
</bpmn2:sequenceFlow>
|
||||||
<bpmn2:sequenceFlow id="sequenceFlow_4gpPgw" sourceRef="IntermediateCatchEvent_2"
|
<bpmn2:sequenceFlow id="sequenceFlow_4gpPgw" sourceRef="IntermediateCatchEvent_2" targetRef="gateway_n7fCJg">
|
||||||
targetRef="gateway_n7fCJg">
|
|
||||||
<bpmn2:documentation id="documentation_AbaSMw"/>
|
<bpmn2:documentation id="documentation_AbaSMw"/>
|
||||||
</bpmn2:sequenceFlow>
|
</bpmn2:sequenceFlow>
|
||||||
<bpmn2:sequenceFlow id="sequenceFlow_VlPVJg" sourceRef="IntermediateCatchEvent_3"
|
<bpmn2:sequenceFlow id="sequenceFlow_VlPVJg" sourceRef="IntermediateCatchEvent_3" targetRef="gateway_gd9zQQ">
|
||||||
targetRef="gateway_gd9zQQ">
|
|
||||||
<bpmn2:documentation id="documentation_mCzUDA"/>
|
<bpmn2:documentation id="documentation_mCzUDA"/>
|
||||||
</bpmn2:sequenceFlow>
|
</bpmn2:sequenceFlow>
|
||||||
<bpmn2:association id="association_hnK1FQ" sourceRef="dataObject_FS1r0Q" targetRef="Task_2">
|
<bpmn2:association id="association_hnK1FQ" sourceRef="dataObject_FS1r0Q" targetRef="Task_2">
|
||||||
|
|
@ -449,7 +436,7 @@ Company: <itemvalue>document.company</itemvalue><br />]]></imixs:value>
|
||||||
<bpmn2:outgoing>sequenceFlow_n03e7Q</bpmn2:outgoing>
|
<bpmn2:outgoing>sequenceFlow_n03e7Q</bpmn2:outgoing>
|
||||||
<bpmn2:incoming>sequenceFlow_0m3WTA</bpmn2:incoming>
|
<bpmn2:incoming>sequenceFlow_0m3WTA</bpmn2:incoming>
|
||||||
</bpmn2:task>
|
</bpmn2:task>
|
||||||
<bpmn2:intermediateCatchEvent id="event_yQLmNA" imixs:activityid="102" name="Prompt Extract">
|
<bpmn2:intermediateCatchEvent id="event_yQLmNA" imixs:activityid="102" name="AI Assist">
|
||||||
<bpmn2:extensionElements>
|
<bpmn2:extensionElements>
|
||||||
<imixs:item name="keylogtimeformat" type="xs:string">
|
<imixs:item name="keylogtimeformat" type="xs:string">
|
||||||
<imixs:value><![CDATA[2]]></imixs:value>
|
<imixs:value><![CDATA[2]]></imixs:value>
|
||||||
|
|
@ -577,8 +564,7 @@ Company: <itemvalue>document.company</itemvalue><br />]]></imixs:value>
|
||||||
<bpmn2:documentation id="documentation_t74new"/>
|
<bpmn2:documentation id="documentation_t74new"/>
|
||||||
</bpmn2:sequenceFlow>
|
</bpmn2:sequenceFlow>
|
||||||
<bpmn2:dataObject id="dataObject_HHM58Q" imixs:datatype="prompt-data" name="Prompt Extract">
|
<bpmn2:dataObject id="dataObject_HHM58Q" imixs:datatype="prompt-data" name="Prompt Extract">
|
||||||
<bpmn2:documentation id="documentation_X7T0uA"
|
<bpmn2:documentation id="documentation_X7T0uA" open-bpmn:file-link="file://prompts/invoice-extract-en.xml"><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
|
||||||
open-bpmn:file-link="file://prompts/invoice-extract-en.xml"><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<PromptDefinition>
|
<PromptDefinition>
|
||||||
<prompt_options>{"n_predict": 4096, "temperature": 0 }</prompt_options>
|
<prompt_options>{"n_predict": 4096, "temperature": 0 }</prompt_options>
|
||||||
<prompt><![CDATA[[INST]You are a clerk at a logistic company. Your task is to check incoming invoices. [/INST]
|
<prompt><![CDATA[[INST]You are a clerk at a logistic company. Your task is to check incoming invoices. [/INST]
|
||||||
|
|
@ -617,8 +603,7 @@ Note: Output only the XML object! Don't add explanations or comments. Use only t
|
||||||
</prompt>
|
</prompt>
|
||||||
</PromptDefinition> ]]></bpmn2:documentation>
|
</PromptDefinition> ]]></bpmn2:documentation>
|
||||||
</bpmn2:dataObject>
|
</bpmn2:dataObject>
|
||||||
<bpmn2:association id="association_Xrb1Cg" sourceRef="event_yQLmNA"
|
<bpmn2:association id="association_Xrb1Cg" sourceRef="event_yQLmNA" targetRef="dataObject_HHM58Q">
|
||||||
targetRef="dataObject_HHM58Q">
|
|
||||||
<bpmn2:documentation id="documentation_8W4nQw"/>
|
<bpmn2:documentation id="documentation_8W4nQw"/>
|
||||||
</bpmn2:association>
|
</bpmn2:association>
|
||||||
<bpmn2:intermediateCatchEvent id="event_xOeBKg" imixs:activityid="103" name="Start Invoicing">
|
<bpmn2:intermediateCatchEvent id="event_xOeBKg" imixs:activityid="103" name="Start Invoicing">
|
||||||
|
|
@ -709,7 +694,7 @@ Note: Output only the XML object! Don't add explanations or comments. Use only t
|
||||||
<bpmn2:sequenceFlow id="sequenceFlow_gXJm0w" sourceRef="event_xOeBKg" targetRef="Task_4">
|
<bpmn2:sequenceFlow id="sequenceFlow_gXJm0w" sourceRef="event_xOeBKg" targetRef="Task_4">
|
||||||
<bpmn2:documentation id="documentation_9d0URg"/>
|
<bpmn2:documentation id="documentation_9d0URg"/>
|
||||||
</bpmn2:sequenceFlow>
|
</bpmn2:sequenceFlow>
|
||||||
<bpmn2:intermediateCatchEvent id="event_pDFoXg" imixs:activityid="100" name="Prompt Category">
|
<bpmn2:intermediateCatchEvent id="event_pDFoXg" imixs:activityid="100" name="AI Assist">
|
||||||
<bpmn2:extensionElements>
|
<bpmn2:extensionElements>
|
||||||
<imixs:item name="keylogtimeformat" type="xs:string">
|
<imixs:item name="keylogtimeformat" type="xs:string">
|
||||||
<imixs:value><![CDATA[2]]></imixs:value>
|
<imixs:value><![CDATA[2]]></imixs:value>
|
||||||
|
|
@ -784,7 +769,7 @@ Note: Output only the XML object! Don't add explanations or comments. Use only t
|
||||||
]]></imixs:value>
|
]]></imixs:value>
|
||||||
</imixs:item>
|
</imixs:item>
|
||||||
</bpmn2:extensionElements>
|
</bpmn2:extensionElements>
|
||||||
<bpmn2:documentation id="documentation_IeKOTA"><![CDATA[Zwischenspeichern]]></bpmn2:documentation>
|
<bpmn2:documentation id="documentation_IeKOTA"/>
|
||||||
<bpmn2:dataOutput id="dataOutput_PV0HGA" name="Signal_2_Output"/>
|
<bpmn2:dataOutput id="dataOutput_PV0HGA" name="Signal_2_Output"/>
|
||||||
<bpmn2:dataOutputAssociation id="dataOutputAssociation_59VQZg">
|
<bpmn2:dataOutputAssociation id="dataOutputAssociation_59VQZg">
|
||||||
<bpmn2:sourceRef>DataOutput_2</bpmn2:sourceRef>
|
<bpmn2:sourceRef>DataOutput_2</bpmn2:sourceRef>
|
||||||
|
|
@ -797,12 +782,11 @@ Note: Output only the XML object! Don't add explanations or comments. Use only t
|
||||||
<bpmn2:outgoing>sequenceFlow_naZnAA</bpmn2:outgoing>
|
<bpmn2:outgoing>sequenceFlow_naZnAA</bpmn2:outgoing>
|
||||||
<bpmn2:incoming>sequenceFlow_PgyOMw</bpmn2:incoming>
|
<bpmn2:incoming>sequenceFlow_PgyOMw</bpmn2:incoming>
|
||||||
</bpmn2:intermediateCatchEvent>
|
</bpmn2:intermediateCatchEvent>
|
||||||
<bpmn2:dataObject id="dataObject_ZhBiZg" imixs:datatype="prompt-data" name="Prompt Category2">
|
<bpmn2:dataObject id="dataObject_ZhBiZg" imixs:datatype="prompt-data" name="Prompt Category">
|
||||||
<bpmn2:documentation id="documentation_K0KMVw"
|
<bpmn2:documentation id="documentation_K0KMVw"><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
|
||||||
open-bpmn:file-link="file://prompts/categorize-de.xml"><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<PromptDefinition>
|
<PromptDefinition>
|
||||||
<prompt_options>{"n_predict": 512, "temperature": 0 }</prompt_options>
|
<prompt_options>{"n_predict": 512, "temperature": 0 }</prompt_options>
|
||||||
<prompt><![CDATA[[INST]Du bist Mitarbeiter der Imixs Software Solutions GmbH. Deine Aufgabe ist es Dokumente zu prüfen. [/INST]
|
<prompt><![CDATA[[INST]Du bist Mitarbeiter der Dynamixs.AI GmbH. Deine Aufgabe ist es Dokumente zu prüfen. [/INST]
|
||||||
|
|
||||||
<FILECONTEXT>^.+\.([pP][dD][fF])$</FILECONTEXT>
|
<FILECONTEXT>^.+\.([pP][dD][fF])$</FILECONTEXT>
|
||||||
|
|
||||||
|
|
@ -815,7 +799,7 @@ Also determine the company name from which this document originates and the lang
|
||||||
Bestimme auch den Firmennamen von diesem Dokument sowie die Sprache.
|
Bestimme auch den Firmennamen von diesem Dokument sowie die Sprache.
|
||||||
|
|
||||||
|
|
||||||
Hinweis: Der Firmenname ist der Name des Unternehmens, das dieses Dokument erstellt hat, nicht der Name des Empfängers. Der Firmenname steht in der Regel am Anfang oder Ende des Rechnungsbelegs. Es ist nicht Imixs!
|
Hinweis: Der Firmenname ist der Name des Unternehmens, das dieses Dokument erstellt hat, nicht der Name des Empfängers. Der Firmenname steht in der Regel am Anfang oder Ende des Rechnungsbelegs. Es ist nicht Dynamixs.AI!
|
||||||
|
|
||||||
Gib die die Informationen als ein XML-Objekt aus, das die folgende Struktur aufweist:
|
Gib die die Informationen als ein XML-Objekt aus, das die folgende Struktur aufweist:
|
||||||
|
|
||||||
|
|
@ -831,8 +815,7 @@ Hinweis: Generiere keine anderen Informationen anstelle des XML-Objekts. Generie
|
||||||
</prompt>
|
</prompt>
|
||||||
</PromptDefinition>]]></bpmn2:documentation>
|
</PromptDefinition>]]></bpmn2:documentation>
|
||||||
</bpmn2:dataObject>
|
</bpmn2:dataObject>
|
||||||
<bpmn2:association id="association_zuMlDA" sourceRef="dataObject_ZhBiZg"
|
<bpmn2:association id="association_zuMlDA" sourceRef="dataObject_ZhBiZg" targetRef="event_pDFoXg">
|
||||||
targetRef="event_pDFoXg">
|
|
||||||
<bpmn2:documentation id="documentation_DCG0pQ"/>
|
<bpmn2:documentation id="documentation_DCG0pQ"/>
|
||||||
</bpmn2:association>
|
</bpmn2:association>
|
||||||
<bpmn2:sequenceFlow id="sequenceFlow_fN22Gg" sourceRef="task_uB6BGQ" targetRef="event_pDFoXg">
|
<bpmn2:sequenceFlow id="sequenceFlow_fN22Gg" sourceRef="task_uB6BGQ" targetRef="event_pDFoXg">
|
||||||
|
|
@ -841,7 +824,7 @@ Hinweis: Generiere keine anderen Informationen anstelle des XML-Objekts. Generie
|
||||||
<bpmn2:sequenceFlow id="sequenceFlow_naZnAA" sourceRef="event_pDFoXg" targetRef="gateway_qDAhHw">
|
<bpmn2:sequenceFlow id="sequenceFlow_naZnAA" sourceRef="event_pDFoXg" targetRef="gateway_qDAhHw">
|
||||||
<bpmn2:documentation id="documentation_8TapMg"/>
|
<bpmn2:documentation id="documentation_8TapMg"/>
|
||||||
</bpmn2:sequenceFlow>
|
</bpmn2:sequenceFlow>
|
||||||
<bpmn2:intermediateCatchEvent id="event_4DNGzg" imixs:activityid="101" name="Prompt Summary">
|
<bpmn2:intermediateCatchEvent id="event_4DNGzg" imixs:activityid="101" name="AI Assist">
|
||||||
<bpmn2:extensionElements>
|
<bpmn2:extensionElements>
|
||||||
<imixs:item name="keylogtimeformat" type="xs:string">
|
<imixs:item name="keylogtimeformat" type="xs:string">
|
||||||
<imixs:value><![CDATA[2]]></imixs:value>
|
<imixs:value><![CDATA[2]]></imixs:value>
|
||||||
|
|
@ -935,11 +918,10 @@ Hinweis: Generiere keine anderen Informationen anstelle des XML-Objekts. Generie
|
||||||
<bpmn2:documentation id="documentation_IIBe3g"/>
|
<bpmn2:documentation id="documentation_IIBe3g"/>
|
||||||
</bpmn2:sequenceFlow>
|
</bpmn2:sequenceFlow>
|
||||||
<bpmn2:dataObject id="dataObject_KPUiiw" imixs:datatype="prompt-data" name="Prompt Summary">
|
<bpmn2:dataObject id="dataObject_KPUiiw" imixs:datatype="prompt-data" name="Prompt Summary">
|
||||||
<bpmn2:documentation id="documentation_8puQcA"
|
<bpmn2:documentation id="documentation_8puQcA"><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
|
||||||
open-bpmn:file-link="file://prompts/invoice-summarize-de.xml"><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<PromptDefinition>
|
<PromptDefinition>
|
||||||
<prompt_options>{"n_predict": 4096, "temperature": 0}</prompt_options>
|
<prompt_options>{"n_predict": 4096, "temperature": 0}</prompt_options>
|
||||||
<prompt><![CDATA[[INST]Du bist Mitarbeiter der Imixs Software Solutions GmbH. Deine Aufgabe ist es Eingangsrechnungen zu prüfen. [/INST]
|
<prompt><![CDATA[[INST]Du bist Mitarbeiter der Dynamixs.AI GmbH. Deine Aufgabe ist es Eingangsrechnungen zu prüfen. [/INST]
|
||||||
|
|
||||||
<FILECONTEXT>^.+\.([pP][dD][fF])$</FILECONTEXT>
|
<FILECONTEXT>^.+\.([pP][dD][fF])$</FILECONTEXT>
|
||||||
|
|
||||||
|
|
@ -962,8 +944,7 @@ Verwende nur die Standardwerte und führe keine Berechnungen, Summen oder Änder
|
||||||
</prompt>
|
</prompt>
|
||||||
</PromptDefinition> ]]></bpmn2:documentation>
|
</PromptDefinition> ]]></bpmn2:documentation>
|
||||||
</bpmn2:dataObject>
|
</bpmn2:dataObject>
|
||||||
<bpmn2:association id="association_IKW0SQ" sourceRef="dataObject_KPUiiw"
|
<bpmn2:association id="association_IKW0SQ" sourceRef="dataObject_KPUiiw" targetRef="event_4DNGzg">
|
||||||
targetRef="event_4DNGzg">
|
|
||||||
<bpmn2:documentation id="documentation_Z1pA3Q"/>
|
<bpmn2:documentation id="documentation_Z1pA3Q"/>
|
||||||
</bpmn2:association>
|
</bpmn2:association>
|
||||||
<bpmn2:boundaryEvent attachedToRef="task_uB6BGQ" id="event_88sCAA" name="">
|
<bpmn2:boundaryEvent attachedToRef="task_uB6BGQ" id="event_88sCAA" name="">
|
||||||
|
|
@ -1067,8 +1048,7 @@ Verwende nur die Standardwerte und führe keine Berechnungen, Summen oder Änder
|
||||||
<bpmn2:outgoing>sequenceFlow_eN0BQg</bpmn2:outgoing>
|
<bpmn2:outgoing>sequenceFlow_eN0BQg</bpmn2:outgoing>
|
||||||
<bpmn2:timerEventDefinition id="timerEventDefinition_2fHKMA"/>
|
<bpmn2:timerEventDefinition id="timerEventDefinition_2fHKMA"/>
|
||||||
</bpmn2:intermediateCatchEvent>
|
</bpmn2:intermediateCatchEvent>
|
||||||
<bpmn2:exclusiveGateway default="sequenceFlow_cY0PYg" gatewayDirection="Diverging"
|
<bpmn2:exclusiveGateway default="sequenceFlow_cY0PYg" gatewayDirection="Diverging" id="gateway_qDAhHw" name="">
|
||||||
id="gateway_qDAhHw" name="">
|
|
||||||
<bpmn2:documentation id="documentation_Cg34hg"/>
|
<bpmn2:documentation id="documentation_Cg34hg"/>
|
||||||
<bpmn2:incoming>sequenceFlow_naZnAA</bpmn2:incoming>
|
<bpmn2:incoming>sequenceFlow_naZnAA</bpmn2:incoming>
|
||||||
<bpmn2:outgoing>sequenceFlow_tcjWAA</bpmn2:outgoing>
|
<bpmn2:outgoing>sequenceFlow_tcjWAA</bpmn2:outgoing>
|
||||||
|
|
@ -1151,8 +1131,7 @@ Verwende nur die Standardwerte und führe keine Berechnungen, Summen oder Änder
|
||||||
<bpmn2:incoming>sequenceFlow_d0zSHA</bpmn2:incoming>
|
<bpmn2:incoming>sequenceFlow_d0zSHA</bpmn2:incoming>
|
||||||
<bpmn2:errorEventDefinition id="errorEventDefinition_17TdSw"/>
|
<bpmn2:errorEventDefinition id="errorEventDefinition_17TdSw"/>
|
||||||
</bpmn2:intermediateCatchEvent>
|
</bpmn2:intermediateCatchEvent>
|
||||||
<bpmn2:sequenceFlow id="sequenceFlow_tcjWAA" name="PROMPT Error" sourceRef="gateway_qDAhHw"
|
<bpmn2:sequenceFlow id="sequenceFlow_tcjWAA" name="PROMPT Error" sourceRef="gateway_qDAhHw" targetRef="event_9mJrhQ">
|
||||||
targetRef="event_9mJrhQ">
|
|
||||||
<bpmn2:documentation id="documentation_jE0MLA"/>
|
<bpmn2:documentation id="documentation_jE0MLA"/>
|
||||||
<bpmn2:conditionExpression id="formalExpression_Ocib0Q" xsi:type="bpmn2:tFormalExpression"><![CDATA[''!=workitem.getItemValueString('adapter.error_code'); ]]></bpmn2:conditionExpression>
|
<bpmn2:conditionExpression id="formalExpression_Ocib0Q" xsi:type="bpmn2:tFormalExpression"><![CDATA[''!=workitem.getItemValueString('adapter.error_code'); ]]></bpmn2:conditionExpression>
|
||||||
</bpmn2:sequenceFlow>
|
</bpmn2:sequenceFlow>
|
||||||
|
|
@ -1162,8 +1141,7 @@ Verwende nur die Standardwerte und führe keine Berechnungen, Summen oder Änder
|
||||||
<bpmn2:sequenceFlow id="sequenceFlow_I8o4DA" sourceRef="gateway_pKPTOQ" targetRef="task_PsBytg">
|
<bpmn2:sequenceFlow id="sequenceFlow_I8o4DA" sourceRef="gateway_pKPTOQ" targetRef="task_PsBytg">
|
||||||
<bpmn2:documentation id="documentation_NJDLLQ"/>
|
<bpmn2:documentation id="documentation_NJDLLQ"/>
|
||||||
</bpmn2:sequenceFlow>
|
</bpmn2:sequenceFlow>
|
||||||
<bpmn2:exclusiveGateway default="sequenceFlow_bh4DIw" gatewayDirection="Diverging"
|
<bpmn2:exclusiveGateway default="sequenceFlow_bh4DIw" gatewayDirection="Diverging" id="gateway_gd9zQQ" name="">
|
||||||
id="gateway_gd9zQQ" name="">
|
|
||||||
<bpmn2:documentation id="documentation_0rgWkA"/>
|
<bpmn2:documentation id="documentation_0rgWkA"/>
|
||||||
<bpmn2:outgoing>sequenceFlow_I8o4DA</bpmn2:outgoing>
|
<bpmn2:outgoing>sequenceFlow_I8o4DA</bpmn2:outgoing>
|
||||||
<bpmn2:incoming>sequenceFlow_VlPVJg</bpmn2:incoming>
|
<bpmn2:incoming>sequenceFlow_VlPVJg</bpmn2:incoming>
|
||||||
|
|
@ -1173,13 +1151,11 @@ Verwende nur die Standardwerte und führe keine Berechnungen, Summen oder Änder
|
||||||
<bpmn2:sequenceFlow id="sequenceFlow_bh4DIw" sourceRef="gateway_gd9zQQ" targetRef="task_uB6BGQ">
|
<bpmn2:sequenceFlow id="sequenceFlow_bh4DIw" sourceRef="gateway_gd9zQQ" targetRef="task_uB6BGQ">
|
||||||
<bpmn2:documentation id="documentation_0EzFwA"/>
|
<bpmn2:documentation id="documentation_0EzFwA"/>
|
||||||
</bpmn2:sequenceFlow>
|
</bpmn2:sequenceFlow>
|
||||||
<bpmn2:sequenceFlow id="sequenceFlow_d0zSHA" name="DOCUMENT Error" sourceRef="gateway_gd9zQQ"
|
<bpmn2:sequenceFlow id="sequenceFlow_d0zSHA" name="DOCUMENT Error" sourceRef="gateway_gd9zQQ" targetRef="event_9mJrhQ">
|
||||||
targetRef="event_9mJrhQ">
|
|
||||||
<bpmn2:documentation id="documentation_AJkXtg"/>
|
<bpmn2:documentation id="documentation_AJkXtg"/>
|
||||||
<bpmn2:conditionExpression id="formalExpression_WutmBw" xsi:type="bpmn2:tFormalExpression"><![CDATA[''!=workitem.getItemValueString('adapter.error_code'); ]]></bpmn2:conditionExpression>
|
<bpmn2:conditionExpression id="formalExpression_WutmBw" xsi:type="bpmn2:tFormalExpression"><![CDATA[''!=workitem.getItemValueString('adapter.error_code'); ]]></bpmn2:conditionExpression>
|
||||||
</bpmn2:sequenceFlow>
|
</bpmn2:sequenceFlow>
|
||||||
<bpmn2:exclusiveGateway default="sequenceFlow_1QjzLw" gatewayDirection="Diverging"
|
<bpmn2:exclusiveGateway default="sequenceFlow_1QjzLw" gatewayDirection="Diverging" id="gateway_n7fCJg" name="">
|
||||||
id="gateway_n7fCJg" name="">
|
|
||||||
<bpmn2:documentation id="documentation_JOyLew"/>
|
<bpmn2:documentation id="documentation_JOyLew"/>
|
||||||
<bpmn2:incoming>sequenceFlow_4gpPgw</bpmn2:incoming>
|
<bpmn2:incoming>sequenceFlow_4gpPgw</bpmn2:incoming>
|
||||||
<bpmn2:outgoing>sequenceFlow_1QjzLw</bpmn2:outgoing>
|
<bpmn2:outgoing>sequenceFlow_1QjzLw</bpmn2:outgoing>
|
||||||
|
|
@ -1188,8 +1164,7 @@ Verwende nur die Standardwerte und führe keine Berechnungen, Summen oder Änder
|
||||||
<bpmn2:sequenceFlow id="sequenceFlow_1QjzLw" sourceRef="gateway_n7fCJg" targetRef="Task_2">
|
<bpmn2:sequenceFlow id="sequenceFlow_1QjzLw" sourceRef="gateway_n7fCJg" targetRef="Task_2">
|
||||||
<bpmn2:documentation id="documentation_sHigCg"/>
|
<bpmn2:documentation id="documentation_sHigCg"/>
|
||||||
</bpmn2:sequenceFlow>
|
</bpmn2:sequenceFlow>
|
||||||
<bpmn2:sequenceFlow id="sequenceFlow_7t6YqQ" name="E-Rechnung" sourceRef="gateway_n7fCJg"
|
<bpmn2:sequenceFlow id="sequenceFlow_7t6YqQ" name="E-Rechnung" sourceRef="gateway_n7fCJg" targetRef="event_xOeBKg">
|
||||||
targetRef="event_xOeBKg">
|
|
||||||
<bpmn2:documentation id="documentation_LGlvWw"/>
|
<bpmn2:documentation id="documentation_LGlvWw"/>
|
||||||
<bpmn2:conditionExpression id="formalExpression_LFof5Q" xsi:type="bpmn2:tFormalExpression"><![CDATA[workitem.getItemValueString("einvoice.type").includes("Factur-X")]]></bpmn2:conditionExpression>
|
<bpmn2:conditionExpression id="formalExpression_LFof5Q" xsi:type="bpmn2:tFormalExpression"><![CDATA[workitem.getItemValueString("einvoice.type").includes("Factur-X")]]></bpmn2:conditionExpression>
|
||||||
</bpmn2:sequenceFlow>
|
</bpmn2:sequenceFlow>
|
||||||
|
|
@ -1292,8 +1267,7 @@ Betrag: <itemvalue>_amount</itemvalue> (Brutto € <itemvalue>_amount_brutto</it
|
||||||
<bpmn2:sequenceFlow id="sequenceFlow_r48dXQ" sourceRef="event_ZAPEXA" targetRef="task_fQzylQ">
|
<bpmn2:sequenceFlow id="sequenceFlow_r48dXQ" sourceRef="event_ZAPEXA" targetRef="task_fQzylQ">
|
||||||
<bpmn2:documentation id="documentation_Hw3peQ"/>
|
<bpmn2:documentation id="documentation_Hw3peQ"/>
|
||||||
</bpmn2:sequenceFlow>
|
</bpmn2:sequenceFlow>
|
||||||
<bpmn2:sequenceFlow id="sequenceFlow_O0kbJg" sourceRef="task_fQzylQ"
|
<bpmn2:sequenceFlow id="sequenceFlow_O0kbJg" sourceRef="task_fQzylQ" targetRef="IntermediateCatchEvent_2">
|
||||||
targetRef="IntermediateCatchEvent_2">
|
|
||||||
<bpmn2:documentation id="documentation_zkhcOA"/>
|
<bpmn2:documentation id="documentation_zkhcOA"/>
|
||||||
</bpmn2:sequenceFlow>
|
</bpmn2:sequenceFlow>
|
||||||
<bpmn2:boundaryEvent attachedToRef="task_fQzylQ" id="event_yDeTiQ" name="">
|
<bpmn2:boundaryEvent attachedToRef="task_fQzylQ" id="event_yDeTiQ" name="">
|
||||||
|
|
@ -1303,20 +1277,17 @@ Betrag: <itemvalue>_amount</itemvalue> (Brutto € <itemvalue>_amount_brutto</it
|
||||||
<bpmn2:timeDuration id="FormalExpression_0" xsi:type="bpmn2:tFormalExpression">10</bpmn2:timeDuration>
|
<bpmn2:timeDuration id="FormalExpression_0" xsi:type="bpmn2:tFormalExpression">10</bpmn2:timeDuration>
|
||||||
</bpmn2:timerEventDefinition>
|
</bpmn2:timerEventDefinition>
|
||||||
</bpmn2:boundaryEvent>
|
</bpmn2:boundaryEvent>
|
||||||
<bpmn2:sequenceFlow id="sequenceFlow_tZj4qQ" sourceRef="event_yDeTiQ"
|
<bpmn2:sequenceFlow id="sequenceFlow_tZj4qQ" sourceRef="event_yDeTiQ" targetRef="IntermediateCatchEvent_2">
|
||||||
targetRef="IntermediateCatchEvent_2">
|
|
||||||
<bpmn2:documentation id="documentation_JyYACw"/>
|
<bpmn2:documentation id="documentation_JyYACw"/>
|
||||||
</bpmn2:sequenceFlow>
|
</bpmn2:sequenceFlow>
|
||||||
<bpmn2:exclusiveGateway default="sequenceFlow_I8o4DA" gatewayDirection="Diverging"
|
<bpmn2:exclusiveGateway default="sequenceFlow_I8o4DA" gatewayDirection="Diverging" id="gateway_pKPTOQ" name="">
|
||||||
id="gateway_pKPTOQ" name="">
|
|
||||||
<bpmn2:documentation id="documentation_1WlndQ"/>
|
<bpmn2:documentation id="documentation_1WlndQ"/>
|
||||||
<bpmn2:outgoing>sequenceFlow_I8o4DA</bpmn2:outgoing>
|
<bpmn2:outgoing>sequenceFlow_I8o4DA</bpmn2:outgoing>
|
||||||
<bpmn2:incoming>sequenceFlow_cY0PYg</bpmn2:incoming>
|
<bpmn2:incoming>sequenceFlow_cY0PYg</bpmn2:incoming>
|
||||||
<bpmn2:outgoing>sequenceFlow_I8o4DA</bpmn2:outgoing>
|
<bpmn2:outgoing>sequenceFlow_I8o4DA</bpmn2:outgoing>
|
||||||
<bpmn2:outgoing>sequenceFlow_Gwxq0g</bpmn2:outgoing>
|
<bpmn2:outgoing>sequenceFlow_Gwxq0g</bpmn2:outgoing>
|
||||||
</bpmn2:exclusiveGateway>
|
</bpmn2:exclusiveGateway>
|
||||||
<bpmn2:sequenceFlow id="sequenceFlow_cY0PYg" sourceRef="gateway_qDAhHw"
|
<bpmn2:sequenceFlow id="sequenceFlow_cY0PYg" sourceRef="gateway_qDAhHw" targetRef="gateway_pKPTOQ">
|
||||||
targetRef="gateway_pKPTOQ">
|
|
||||||
<bpmn2:documentation id="documentation_maabpQ"/>
|
<bpmn2:documentation id="documentation_maabpQ"/>
|
||||||
</bpmn2:sequenceFlow>
|
</bpmn2:sequenceFlow>
|
||||||
<bpmn2:task id="task_1Cou8Q" imixs:processid="300" name="Error">
|
<bpmn2:task id="task_1Cou8Q" imixs:processid="300" name="Error">
|
||||||
|
|
@ -1428,7 +1399,7 @@ Company: <itemvalue>document.company</itemvalue><br />]]></imixs:value>
|
||||||
<bpmn2:outgoing>sequenceFlow_LZX10Q</bpmn2:outgoing>
|
<bpmn2:outgoing>sequenceFlow_LZX10Q</bpmn2:outgoing>
|
||||||
<bpmn2:incoming>sequenceFlow_Lk0V9A</bpmn2:incoming>
|
<bpmn2:incoming>sequenceFlow_Lk0V9A</bpmn2:incoming>
|
||||||
</bpmn2:task>
|
</bpmn2:task>
|
||||||
<bpmn2:intermediateCatchEvent id="event_b9NNXw" imixs:activityid="102" name="Prompt Summary">
|
<bpmn2:intermediateCatchEvent id="event_b9NNXw" imixs:activityid="102" name="AI Assist">
|
||||||
<bpmn2:extensionElements>
|
<bpmn2:extensionElements>
|
||||||
<imixs:item name="keylogtimeformat" type="xs:string">
|
<imixs:item name="keylogtimeformat" type="xs:string">
|
||||||
<imixs:value><![CDATA[2]]></imixs:value>
|
<imixs:value><![CDATA[2]]></imixs:value>
|
||||||
|
|
@ -1527,9 +1498,8 @@ Company: <itemvalue>document.company</itemvalue><br />]]></imixs:value>
|
||||||
<bpmn2:sequenceFlow id="sequenceFlow_LZX10Q" sourceRef="task_sZKNUg" targetRef="event_uJ1fgA">
|
<bpmn2:sequenceFlow id="sequenceFlow_LZX10Q" sourceRef="task_sZKNUg" targetRef="event_uJ1fgA">
|
||||||
<bpmn2:documentation id="documentation_FVQ3oQ"/>
|
<bpmn2:documentation id="documentation_FVQ3oQ"/>
|
||||||
</bpmn2:sequenceFlow>
|
</bpmn2:sequenceFlow>
|
||||||
<bpmn2:dataObject id="dataObject_QalZ1A" name="Prompt Extract">
|
<bpmn2:dataObject id="dataObject_QalZ1A" imixs:datatype="prompt-data" name="Prompt Summary">
|
||||||
<bpmn2:documentation id="documentation_UbexKw"
|
<bpmn2:documentation id="documentation_UbexKw"><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
|
||||||
open-bpmn:file-link="file://prompts/contract-summarize-de.xml"><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<PromptDefinition>
|
<PromptDefinition>
|
||||||
<prompt_options>{"n_predict": 4096, "temperature": 0}</prompt_options>
|
<prompt_options>{"n_predict": 4096, "temperature": 0}</prompt_options>
|
||||||
<prompt><![CDATA[[INST] Du bist Sachbearbeiter in einem Unternehmen. Deine Aufgabe ist es, eingehende Vertragsdokumente zu prüfen. [/INST]
|
<prompt><![CDATA[[INST] Du bist Sachbearbeiter in einem Unternehmen. Deine Aufgabe ist es, eingehende Vertragsdokumente zu prüfen. [/INST]
|
||||||
|
|
@ -1550,8 +1520,7 @@ Erstelle eine kurze Zusammenfassung der wichtigsten Elemente dieses Vertrags.
|
||||||
</prompt>
|
</prompt>
|
||||||
</PromptDefinition> ]]></bpmn2:documentation>
|
</PromptDefinition> ]]></bpmn2:documentation>
|
||||||
</bpmn2:dataObject>
|
</bpmn2:dataObject>
|
||||||
<bpmn2:association id="association_je321g" sourceRef="event_b9NNXw"
|
<bpmn2:association id="association_je321g" sourceRef="event_b9NNXw" targetRef="dataObject_QalZ1A">
|
||||||
targetRef="dataObject_QalZ1A">
|
|
||||||
<bpmn2:documentation id="documentation_xRDdpw"/>
|
<bpmn2:documentation id="documentation_xRDdpw"/>
|
||||||
</bpmn2:association>
|
</bpmn2:association>
|
||||||
<bpmn2:intermediateCatchEvent id="event_tSLHgg" imixs:activityid="103" name="Start Contract">
|
<bpmn2:intermediateCatchEvent id="event_tSLHgg" imixs:activityid="103" name="Start Contract">
|
||||||
|
|
@ -2106,6 +2075,9 @@ Betrag: <itemvalue>_amount</itemvalue> (Brutto € <itemvalue>_amount_brutto</it
|
||||||
</bpmn2:process>
|
</bpmn2:process>
|
||||||
<bpmn2:process id="process_2" name="Imixs AI" processType="Public">
|
<bpmn2:process id="process_2" name="Imixs AI" processType="Public">
|
||||||
<bpmn2:documentation id="documentation_dDLFbw"/>
|
<bpmn2:documentation id="documentation_dDLFbw"/>
|
||||||
|
<bpmn2:extensionElements>
|
||||||
|
<open-bpmn:auto-align/>
|
||||||
|
</bpmn2:extensionElements>
|
||||||
</bpmn2:process>
|
</bpmn2:process>
|
||||||
<bpmn2:signal id="signal_3" name="org.imixs.ai.workflow.OpenAIAPIAdapter"/>
|
<bpmn2:signal id="signal_3" name="org.imixs.ai.workflow.OpenAIAPIAdapter"/>
|
||||||
<bpmn2:signal id="signal_4" name="org.imixs.archive.documents.EInvoiceAutoAdapter"/>
|
<bpmn2:signal id="signal_4" name="org.imixs.archive.documents.EInvoiceAutoAdapter"/>
|
||||||
|
|
@ -2123,11 +2095,10 @@ Betrag: <itemvalue>_amount</itemvalue> (Brutto € <itemvalue>_amount_brutto</it
|
||||||
<dc:Bounds height="14.0" width="103.0" x="3.0" y="18.0"/>
|
<dc:Bounds height="14.0" width="103.0" x="3.0" y="18.0"/>
|
||||||
</bpmndi:BPMNLabel>
|
</bpmndi:BPMNLabel>
|
||||||
</bpmndi:BPMNShape>
|
</bpmndi:BPMNShape>
|
||||||
<bpmndi:BPMNShape bpmnElement="IntermediateCatchEvent_2"
|
<bpmndi:BPMNShape bpmnElement="IntermediateCatchEvent_2" id="BPMNShape_IntermediateCatchEvent_2">
|
||||||
id="BPMNShape_IntermediateCatchEvent_2">
|
<dc:Bounds height="36.0" width="36.0" x="527.0" y="546.0"/>
|
||||||
<dc:Bounds height="36.0" width="36.0" x="527.0" y="547.0" />
|
|
||||||
<bpmndi:BPMNLabel id="BPMNLabel_5" labelStyle="BPMNLabelStyle_1">
|
<bpmndi:BPMNLabel id="BPMNLabel_5" labelStyle="BPMNLabelStyle_1">
|
||||||
<dc:Bounds height="20.0" width="100.0" x="494.0" y="589.0" />
|
<dc:Bounds height="20.0" width="100.0" x="494.0" y="588.0"/>
|
||||||
</bpmndi:BPMNLabel>
|
</bpmndi:BPMNLabel>
|
||||||
</bpmndi:BPMNShape>
|
</bpmndi:BPMNShape>
|
||||||
<bpmndi:BPMNShape bpmnElement="StartEvent_1" id="BPMNShape_StartEvent_1">
|
<bpmndi:BPMNShape bpmnElement="StartEvent_1" id="BPMNShape_StartEvent_1">
|
||||||
|
|
@ -2139,8 +2110,7 @@ Betrag: <itemvalue>_amount</itemvalue> (Brutto € <itemvalue>_amount_brutto</it
|
||||||
<bpmndi:BPMNShape bpmnElement="Task_2" id="BPMNShape_Task_2">
|
<bpmndi:BPMNShape bpmnElement="Task_2" id="BPMNShape_Task_2">
|
||||||
<dc:Bounds height="50.0" width="110.0" x="730.0" y="540.0"/>
|
<dc:Bounds height="50.0" width="110.0" x="730.0" y="540.0"/>
|
||||||
</bpmndi:BPMNShape>
|
</bpmndi:BPMNShape>
|
||||||
<bpmndi:BPMNShape bpmnElement="IntermediateCatchEvent_3"
|
<bpmndi:BPMNShape bpmnElement="IntermediateCatchEvent_3" id="BPMNShape_IntermediateCatchEvent_3">
|
||||||
id="BPMNShape_IntermediateCatchEvent_3">
|
|
||||||
<dc:Bounds height="36.0" width="36.0" x="877.0" y="547.0"/>
|
<dc:Bounds height="36.0" width="36.0" x="877.0" y="547.0"/>
|
||||||
<bpmndi:BPMNLabel id="BPMNLabel_14" labelStyle="BPMNLabelStyle_1">
|
<bpmndi:BPMNLabel id="BPMNLabel_14" labelStyle="BPMNLabelStyle_1">
|
||||||
<dc:Bounds height="20.0" width="100.0" x="845.5" y="587.0"/>
|
<dc:Bounds height="20.0" width="100.0" x="845.5" y="587.0"/>
|
||||||
|
|
@ -2164,25 +2134,25 @@ Betrag: <itemvalue>_amount</itemvalue> (Brutto € <itemvalue>_amount_brutto</it
|
||||||
<bpmndi:BPMNShape bpmnElement="TextAnnotation_1" id="BPMNShape_TextAnnotation_1">
|
<bpmndi:BPMNShape bpmnElement="TextAnnotation_1" id="BPMNShape_TextAnnotation_1">
|
||||||
<dc:Bounds height="388.0" width="417.0" x="190.0" y="720.0"/>
|
<dc:Bounds height="388.0" width="417.0" x="190.0" y="720.0"/>
|
||||||
</bpmndi:BPMNShape>
|
</bpmndi:BPMNShape>
|
||||||
<bpmndi:BPMNEdge bpmnElement="SequenceFlow_9" id="BPMNEdge_SequenceFlow_9"
|
<bpmndi:BPMNShape bpmnElement="participant_GUMWGQ" id="BPMNShape_Fs4Pdg">
|
||||||
sourceElement="BPMNShape_Task_2" targetElement="BPMNShape_IntermediateCatchEvent_3">
|
<dc:Bounds height="210.0" width="800.0" x="0.0" y="0.0"/>
|
||||||
<bpmndi:BPMNLabel id="BPMNLabel_21" />
|
</bpmndi:BPMNShape>
|
||||||
|
<bpmndi:BPMNEdge bpmnElement="SequenceFlow_9" id="BPMNEdge_SequenceFlow_9" sourceElement="BPMNShape_Task_2" targetElement="BPMNShape_IntermediateCatchEvent_3">
|
||||||
<di:waypoint x="840.0" y="565.0"/>
|
<di:waypoint x="840.0" y="565.0"/>
|
||||||
<di:waypoint x="877.0" y="565.0"/>
|
<di:waypoint x="877.0" y="565.0"/>
|
||||||
|
<bpmndi:BPMNLabel id="BPMNLabel_21"/>
|
||||||
</bpmndi:BPMNEdge>
|
</bpmndi:BPMNEdge>
|
||||||
<bpmndi:BPMNEdge bpmnElement="SequenceFlow_12" id="BPMNEdge_SequenceFlow_12"
|
<bpmndi:BPMNEdge bpmnElement="SequenceFlow_12" id="BPMNEdge_SequenceFlow_12" sourceElement="BPMNShape_Task_4" targetElement="BPMNShape_EndEvent_1">
|
||||||
sourceElement="BPMNShape_Task_4" targetElement="BPMNShape_EndEvent_1">
|
|
||||||
<bpmndi:BPMNLabel id="BPMNLabel_27" />
|
|
||||||
<di:waypoint x="2300.0" y="745.0"/>
|
<di:waypoint x="2300.0" y="745.0"/>
|
||||||
<di:waypoint x="2357.0" y="745.0"/>
|
<di:waypoint x="2357.0" y="745.0"/>
|
||||||
|
<bpmndi:BPMNLabel id="BPMNLabel_27"/>
|
||||||
</bpmndi:BPMNEdge>
|
</bpmndi:BPMNEdge>
|
||||||
<bpmndi:BPMNEdge bpmnElement="SequenceFlow_2" id="BPMNEdge_SequenceFlow_2"
|
<bpmndi:BPMNEdge bpmnElement="SequenceFlow_2" id="BPMNEdge_SequenceFlow_2" sourceElement="BPMNShape_BoundaryEvent_1" targetElement="BPMNShape_IntermediateCatchEvent_3">
|
||||||
sourceElement="BPMNShape_BoundaryEvent_1" targetElement="BPMNShape_IntermediateCatchEvent_3">
|
|
||||||
<bpmndi:BPMNLabel id="BPMNLabel_20" />
|
|
||||||
<di:waypoint x="795.0" y="517.0"/>
|
<di:waypoint x="795.0" y="517.0"/>
|
||||||
<di:waypoint x="795.0" y="507.0"/>
|
<di:waypoint x="795.0" y="507.0"/>
|
||||||
<di:waypoint x="895.0" y="507.0"/>
|
<di:waypoint x="895.0" y="507.0"/>
|
||||||
<di:waypoint x="895.0" y="547.0"/>
|
<di:waypoint x="895.0" y="547.0"/>
|
||||||
|
<bpmndi:BPMNLabel id="BPMNLabel_20"/>
|
||||||
</bpmndi:BPMNEdge>
|
</bpmndi:BPMNEdge>
|
||||||
<bpmndi:BPMNShape bpmnElement="dataObject_FS1r0Q" id="BPMNShape_Cn1HMQ">
|
<bpmndi:BPMNShape bpmnElement="dataObject_FS1r0Q" id="BPMNShape_Cn1HMQ">
|
||||||
<dc:Bounds height="50.0" width="35.0" x="710.0" y="430.0"/>
|
<dc:Bounds height="50.0" width="35.0" x="710.0" y="430.0"/>
|
||||||
|
|
@ -2196,23 +2166,21 @@ Betrag: <itemvalue>_amount</itemvalue> (Brutto € <itemvalue>_amount_brutto</it
|
||||||
<bpmndi:BPMNShape bpmnElement="textAnnotation_CtU05A" id="BPMNShape_b8pQXg">
|
<bpmndi:BPMNShape bpmnElement="textAnnotation_CtU05A" id="BPMNShape_b8pQXg">
|
||||||
<dc:Bounds height="107.0" width="403.0" x="190.0" y="190.0"/>
|
<dc:Bounds height="107.0" width="403.0" x="190.0" y="190.0"/>
|
||||||
</bpmndi:BPMNShape>
|
</bpmndi:BPMNShape>
|
||||||
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_fRPOrw" id="BPMNEdge_MS80cw"
|
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_fRPOrw" id="BPMNEdge_MS80cw" sourceElement="BPMNShape_StartEvent_1" targetElement="BPMNShape_uZ0lEQ">
|
||||||
sourceElement="BPMNShape_StartEvent_1" targetElement="BPMNShape_uZ0lEQ">
|
|
||||||
<di:waypoint x="243.0" y="565.0"/>
|
<di:waypoint x="243.0" y="565.0"/>
|
||||||
<di:waypoint x="297.0" y="565.0"/>
|
<di:waypoint x="297.0" y="565.0"/>
|
||||||
</bpmndi:BPMNEdge>
|
</bpmndi:BPMNEdge>
|
||||||
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_4gpPgw" id="BPMNEdge_ZiIsnA"
|
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_4gpPgw" id="BPMNEdge_ZiIsnA" sourceElement="BPMNShape_IntermediateCatchEvent_2" targetElement="BPMNShape_c0Q3cg">
|
||||||
sourceElement="BPMNShape_IntermediateCatchEvent_2" targetElement="BPMNShape_c0Q3cg">
|
<di:waypoint x="563.0" y="564.0"/>
|
||||||
<di:waypoint x="563.0" y="565.0" />
|
<di:waypoint x="587.0" y="564.0"/>
|
||||||
|
<di:waypoint x="587.0" y="565.0"/>
|
||||||
<di:waypoint x="610.0" y="565.0"/>
|
<di:waypoint x="610.0" y="565.0"/>
|
||||||
</bpmndi:BPMNEdge>
|
</bpmndi:BPMNEdge>
|
||||||
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_VlPVJg" id="BPMNEdge_RLNCCQ"
|
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_VlPVJg" id="BPMNEdge_RLNCCQ" sourceElement="BPMNShape_IntermediateCatchEvent_3" targetElement="BPMNShape_PyGqlg">
|
||||||
sourceElement="BPMNShape_IntermediateCatchEvent_3" targetElement="BPMNShape_PyGqlg">
|
|
||||||
<di:waypoint x="913.0" y="565.0"/>
|
<di:waypoint x="913.0" y="565.0"/>
|
||||||
<di:waypoint x="960.0" y="565.0"/>
|
<di:waypoint x="960.0" y="565.0"/>
|
||||||
</bpmndi:BPMNEdge>
|
</bpmndi:BPMNEdge>
|
||||||
<bpmndi:BPMNEdge bpmnElement="association_hnK1FQ" id="BPMNEdge_d0BSMg"
|
<bpmndi:BPMNEdge bpmnElement="association_hnK1FQ" id="BPMNEdge_d0BSMg" sourceElement="BPMNShape_Cn1HMQ" targetElement="BPMNShape_Task_2">
|
||||||
sourceElement="BPMNShape_Cn1HMQ" targetElement="BPMNShape_Task_2">
|
|
||||||
<di:waypoint x="745.0" y="476.0"/>
|
<di:waypoint x="745.0" y="476.0"/>
|
||||||
<di:waypoint x="761.0" y="476.0"/>
|
<di:waypoint x="761.0" y="476.0"/>
|
||||||
<di:waypoint x="761.0" y="540.0"/>
|
<di:waypoint x="761.0" y="540.0"/>
|
||||||
|
|
@ -2229,28 +2197,24 @@ Betrag: <itemvalue>_amount</itemvalue> (Brutto € <itemvalue>_amount_brutto</it
|
||||||
<bpmndi:BPMNShape bpmnElement="task_0YaQ2w" id="BPMNShape_bynHqw">
|
<bpmndi:BPMNShape bpmnElement="task_0YaQ2w" id="BPMNShape_bynHqw">
|
||||||
<dc:Bounds height="50.0" width="110.0" x="1610.0" y="720.0"/>
|
<dc:Bounds height="50.0" width="110.0" x="1610.0" y="720.0"/>
|
||||||
</bpmndi:BPMNShape>
|
</bpmndi:BPMNShape>
|
||||||
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_aC0skQ" id="BPMNEdge_hkcAJA"
|
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_aC0skQ" id="BPMNEdge_hkcAJA" sourceElement="BPMNShape_bynHqw" targetElement="BPMNShape_sGRa6w">
|
||||||
sourceElement="BPMNShape_bynHqw" targetElement="BPMNShape_sGRa6w">
|
|
||||||
<di:waypoint x="1720.0" y="745.0"/>
|
<di:waypoint x="1720.0" y="745.0"/>
|
||||||
<di:waypoint x="1777.0" y="745.0"/>
|
<di:waypoint x="1777.0" y="745.0"/>
|
||||||
</bpmndi:BPMNEdge>
|
</bpmndi:BPMNEdge>
|
||||||
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_YMtfiw" id="BPMNEdge_aaVXOw"
|
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_YMtfiw" id="BPMNEdge_aaVXOw" sourceElement="BPMNShape_sGRa6w" targetElement="BPMNShape_vklwVw">
|
||||||
sourceElement="BPMNShape_sGRa6w" targetElement="BPMNShape_vklwVw">
|
|
||||||
<di:waypoint x="1813.0" y="745.0"/>
|
<di:waypoint x="1813.0" y="745.0"/>
|
||||||
<di:waypoint x="1960.0" y="745.0"/>
|
<di:waypoint x="1960.0" y="745.0"/>
|
||||||
</bpmndi:BPMNEdge>
|
</bpmndi:BPMNEdge>
|
||||||
<bpmndi:BPMNShape bpmnElement="dataObject_HHM58Q" id="BPMNShape_hIerPQ">
|
<bpmndi:BPMNShape bpmnElement="dataObject_HHM58Q" id="BPMNShape_hIerPQ">
|
||||||
<dc:Bounds height="50.0" width="35.0" x="1780.0" y="820.0" />
|
<dc:Bounds height="50.0" width="35.0" x="1840.0" y="820.0"/>
|
||||||
<bpmndi:BPMNLabel id="BPMNLabel_QgYnNw">
|
<bpmndi:BPMNLabel id="BPMNLabel_QgYnNw">
|
||||||
<dc:Bounds height="20.0" width="100.0" x="1747.5" y="875.0" />
|
<dc:Bounds height="20.0" width="100.0" x="1807.5" y="875.0"/>
|
||||||
</bpmndi:BPMNLabel>
|
</bpmndi:BPMNLabel>
|
||||||
</bpmndi:BPMNShape>
|
</bpmndi:BPMNShape>
|
||||||
<bpmndi:BPMNEdge bpmnElement="association_Xrb1Cg" id="BPMNEdge_fjQJbw"
|
<bpmndi:BPMNEdge bpmnElement="association_Xrb1Cg" id="BPMNEdge_fjQJbw" sourceElement="BPMNShape_sGRa6w" targetElement="BPMNShape_hIerPQ">
|
||||||
sourceElement="BPMNShape_sGRa6w" targetElement="BPMNShape_hIerPQ">
|
|
||||||
<di:waypoint x="1795.0" y="763.0"/>
|
<di:waypoint x="1795.0" y="763.0"/>
|
||||||
<di:waypoint x="1795.0" y="792.0" />
|
<di:waypoint x="1795.0" y="845.0"/>
|
||||||
<di:waypoint x="1798.0" y="792.0" />
|
<di:waypoint x="1840.0" y="845.0"/>
|
||||||
<di:waypoint x="1798.0" y="820.0" />
|
|
||||||
</bpmndi:BPMNEdge>
|
</bpmndi:BPMNEdge>
|
||||||
<bpmndi:BPMNShape bpmnElement="event_xOeBKg" id="BPMNShape_nEe3Fw">
|
<bpmndi:BPMNShape bpmnElement="event_xOeBKg" id="BPMNShape_nEe3Fw">
|
||||||
<dc:Bounds height="36.0" width="36.0" x="2067.0" y="727.0"/>
|
<dc:Bounds height="36.0" width="36.0" x="2067.0" y="727.0"/>
|
||||||
|
|
@ -2258,37 +2222,32 @@ Betrag: <itemvalue>_amount</itemvalue> (Brutto € <itemvalue>_amount_brutto</it
|
||||||
<dc:Bounds height="20.0" width="100.0" x="2038.5" y="766.0"/>
|
<dc:Bounds height="20.0" width="100.0" x="2038.5" y="766.0"/>
|
||||||
</bpmndi:BPMNLabel>
|
</bpmndi:BPMNLabel>
|
||||||
</bpmndi:BPMNShape>
|
</bpmndi:BPMNShape>
|
||||||
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_gXJm0w" id="BPMNEdge_bgxhaA"
|
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_gXJm0w" id="BPMNEdge_bgxhaA" sourceElement="BPMNShape_nEe3Fw" targetElement="BPMNShape_Task_4">
|
||||||
sourceElement="BPMNShape_nEe3Fw" targetElement="BPMNShape_Task_4">
|
|
||||||
<di:waypoint x="2103.0" y="745.0"/>
|
<di:waypoint x="2103.0" y="745.0"/>
|
||||||
<di:waypoint x="2190.0" y="745.0"/>
|
<di:waypoint x="2190.0" y="745.0"/>
|
||||||
</bpmndi:BPMNEdge>
|
</bpmndi:BPMNEdge>
|
||||||
<bpmndi:BPMNShape bpmnElement="event_pDFoXg" id="BPMNShape_g0M0zg">
|
<bpmndi:BPMNShape bpmnElement="event_pDFoXg" id="BPMNShape_g0M0zg">
|
||||||
<dc:Bounds height="36.0" width="36.0" x="1227.0" y="547.0"/>
|
<dc:Bounds height="36.0" width="36.0" x="1227.0" y="547.0"/>
|
||||||
<bpmndi:BPMNLabel id="BPMNLabel_j0UwmA">
|
<bpmndi:BPMNLabel id="BPMNLabel_j0UwmA">
|
||||||
<dc:Bounds height="20.0" width="100.0" x="1204.5" y="585.0" />
|
<dc:Bounds height="20.0" width="100.0" x="1195.5" y="586.0"/>
|
||||||
</bpmndi:BPMNLabel>
|
</bpmndi:BPMNLabel>
|
||||||
</bpmndi:BPMNShape>
|
</bpmndi:BPMNShape>
|
||||||
<bpmndi:BPMNShape bpmnElement="dataObject_ZhBiZg" id="BPMNShape_z0cKCQ">
|
<bpmndi:BPMNShape bpmnElement="dataObject_ZhBiZg" id="BPMNShape_z0cKCQ">
|
||||||
<dc:Bounds height="50.0" width="35.0" x="1230.0" y="640.0" />
|
<dc:Bounds height="50.0" width="35.0" x="1307.0" y="610.0"/>
|
||||||
<bpmndi:BPMNLabel id="BPMNLabel_YDv9UQ">
|
<bpmndi:BPMNLabel id="BPMNLabel_YDv9UQ">
|
||||||
<dc:Bounds height="20.0" width="100.0" x="1196.5" y="696.0" />
|
<dc:Bounds height="20.0" width="100.0" x="1273.5" y="666.0"/>
|
||||||
</bpmndi:BPMNLabel>
|
</bpmndi:BPMNLabel>
|
||||||
</bpmndi:BPMNShape>
|
</bpmndi:BPMNShape>
|
||||||
<bpmndi:BPMNEdge bpmnElement="association_zuMlDA" id="BPMNEdge_Lx0Sxw"
|
<bpmndi:BPMNEdge bpmnElement="association_zuMlDA" id="BPMNEdge_Lx0Sxw" sourceElement="BPMNShape_z0cKCQ" targetElement="BPMNShape_g0M0zg">
|
||||||
sourceElement="BPMNShape_z0cKCQ" targetElement="BPMNShape_g0M0zg">
|
<di:waypoint x="1307.0" y="632.0"/>
|
||||||
<di:waypoint x="1248.0" y="640.0" />
|
<di:waypoint x="1245.0" y="632.0"/>
|
||||||
<di:waypoint x="1248.0" y="612.0" />
|
|
||||||
<di:waypoint x="1245.0" y="612.0" />
|
|
||||||
<di:waypoint x="1245.0" y="583.0"/>
|
<di:waypoint x="1245.0" y="583.0"/>
|
||||||
</bpmndi:BPMNEdge>
|
</bpmndi:BPMNEdge>
|
||||||
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_fN22Gg" id="BPMNEdge_wLfXxw"
|
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_fN22Gg" id="BPMNEdge_wLfXxw" sourceElement="BPMNShape_027JKQ" targetElement="BPMNShape_g0M0zg">
|
||||||
sourceElement="BPMNShape_027JKQ" targetElement="BPMNShape_g0M0zg">
|
|
||||||
<di:waypoint x="1180.0" y="565.0"/>
|
<di:waypoint x="1180.0" y="565.0"/>
|
||||||
<di:waypoint x="1227.0" y="565.0"/>
|
<di:waypoint x="1227.0" y="565.0"/>
|
||||||
</bpmndi:BPMNEdge>
|
</bpmndi:BPMNEdge>
|
||||||
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_naZnAA" id="BPMNEdge_p0VSbQ"
|
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_naZnAA" id="BPMNEdge_p0VSbQ" sourceElement="BPMNShape_g0M0zg" targetElement="BPMNShape_UxYL0A">
|
||||||
sourceElement="BPMNShape_g0M0zg" targetElement="BPMNShape_UxYL0A">
|
|
||||||
<di:waypoint x="1263.0" y="565.0"/>
|
<di:waypoint x="1263.0" y="565.0"/>
|
||||||
<di:waypoint x="1300.0" y="565.0"/>
|
<di:waypoint x="1300.0" y="565.0"/>
|
||||||
</bpmndi:BPMNEdge>
|
</bpmndi:BPMNEdge>
|
||||||
|
|
@ -2298,27 +2257,24 @@ Betrag: <itemvalue>_amount</itemvalue> (Brutto € <itemvalue>_amount_brutto</it
|
||||||
<dc:Bounds height="20.0" width="100.0" x="1498.5" y="766.0"/>
|
<dc:Bounds height="20.0" width="100.0" x="1498.5" y="766.0"/>
|
||||||
</bpmndi:BPMNLabel>
|
</bpmndi:BPMNLabel>
|
||||||
</bpmndi:BPMNShape>
|
</bpmndi:BPMNShape>
|
||||||
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_8SpIiA" id="BPMNEdge_0tNVog"
|
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_8SpIiA" id="BPMNEdge_0tNVog" sourceElement="BPMNShape_AJWuJw" targetElement="BPMNShape_JQcpbg">
|
||||||
sourceElement="BPMNShape_AJWuJw" targetElement="BPMNShape_JQcpbg">
|
|
||||||
<di:waypoint x="1480.0" y="745.0"/>
|
<di:waypoint x="1480.0" y="745.0"/>
|
||||||
<di:waypoint x="1527.0" y="745.0"/>
|
<di:waypoint x="1527.0" y="745.0"/>
|
||||||
</bpmndi:BPMNEdge>
|
</bpmndi:BPMNEdge>
|
||||||
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_A62nqQ" id="BPMNEdge_l84nPQ"
|
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_A62nqQ" id="BPMNEdge_l84nPQ" sourceElement="BPMNShape_JQcpbg" targetElement="BPMNShape_bynHqw">
|
||||||
sourceElement="BPMNShape_JQcpbg" targetElement="BPMNShape_bynHqw">
|
|
||||||
<di:waypoint x="1563.0" y="745.0"/>
|
<di:waypoint x="1563.0" y="745.0"/>
|
||||||
<di:waypoint x="1610.0" y="745.0"/>
|
<di:waypoint x="1610.0" y="745.0"/>
|
||||||
</bpmndi:BPMNEdge>
|
</bpmndi:BPMNEdge>
|
||||||
<bpmndi:BPMNShape bpmnElement="dataObject_KPUiiw" id="BPMNShape_PoxSHA">
|
<bpmndi:BPMNShape bpmnElement="dataObject_KPUiiw" id="BPMNShape_PoxSHA">
|
||||||
<dc:Bounds height="50.0" width="35.0" x="1530.0" y="810.0" />
|
<dc:Bounds height="50.0" width="35.0" x="1529.0" y="820.0"/>
|
||||||
<bpmndi:BPMNLabel id="BPMNLabel_pIkcsA">
|
<bpmndi:BPMNLabel id="BPMNLabel_pIkcsA">
|
||||||
<dc:Bounds height="20.0" width="100.0" x="1497.5" y="865.0" />
|
<dc:Bounds height="20.0" width="100.0" x="1496.5" y="875.0"/>
|
||||||
</bpmndi:BPMNLabel>
|
</bpmndi:BPMNLabel>
|
||||||
</bpmndi:BPMNShape>
|
</bpmndi:BPMNShape>
|
||||||
<bpmndi:BPMNEdge bpmnElement="association_IKW0SQ" id="BPMNEdge_yt0pwA"
|
<bpmndi:BPMNEdge bpmnElement="association_IKW0SQ" id="BPMNEdge_yt0pwA" sourceElement="BPMNShape_PoxSHA" targetElement="BPMNShape_JQcpbg">
|
||||||
sourceElement="BPMNShape_PoxSHA" targetElement="BPMNShape_JQcpbg">
|
<di:waypoint x="1547.0" y="820.0"/>
|
||||||
<di:waypoint x="1548.0" y="810.0" />
|
<di:waypoint x="1547.0" y="792.0"/>
|
||||||
<di:waypoint x="1548.0" y="787.0" />
|
<di:waypoint x="1545.0" y="792.0"/>
|
||||||
<di:waypoint x="1545.0" y="787.0" />
|
|
||||||
<di:waypoint x="1545.0" y="763.0"/>
|
<di:waypoint x="1545.0" y="763.0"/>
|
||||||
</bpmndi:BPMNEdge>
|
</bpmndi:BPMNEdge>
|
||||||
<bpmndi:BPMNShape bpmnElement="event_88sCAA" id="BPMNShape_0FB0cg">
|
<bpmndi:BPMNShape bpmnElement="event_88sCAA" id="BPMNShape_0FB0cg">
|
||||||
|
|
@ -2333,15 +2289,13 @@ Betrag: <itemvalue>_amount</itemvalue> (Brutto € <itemvalue>_amount_brutto</it
|
||||||
<dc:Bounds height="20.0" width="100.0" x="1405.0" y="736.0"/>
|
<dc:Bounds height="20.0" width="100.0" x="1405.0" y="736.0"/>
|
||||||
</bpmndi:BPMNLabel>
|
</bpmndi:BPMNLabel>
|
||||||
</bpmndi:BPMNShape>
|
</bpmndi:BPMNShape>
|
||||||
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_PgyOMw" id="BPMNEdge_kptDVQ"
|
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_PgyOMw" id="BPMNEdge_kptDVQ" sourceElement="BPMNShape_0FB0cg" targetElement="BPMNShape_g0M0zg">
|
||||||
sourceElement="BPMNShape_0FB0cg" targetElement="BPMNShape_g0M0zg">
|
|
||||||
<di:waypoint x="1135.0" y="517.0"/>
|
<di:waypoint x="1135.0" y="517.0"/>
|
||||||
<di:waypoint x="1135.0" y="500.0"/>
|
<di:waypoint x="1135.0" y="500.0"/>
|
||||||
<di:waypoint x="1247.0" y="500.0" />
|
<di:waypoint x="1245.0" y="500.0"/>
|
||||||
<di:waypoint x="1247.0" y="547.0" />
|
<di:waypoint x="1245.0" y="547.0"/>
|
||||||
</bpmndi:BPMNEdge>
|
</bpmndi:BPMNEdge>
|
||||||
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_Di4BQA" id="BPMNEdge_07rOoQ"
|
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_Di4BQA" id="BPMNEdge_07rOoQ" sourceElement="BPMNShape_Jc5h4g" targetElement="BPMNShape_JQcpbg">
|
||||||
sourceElement="BPMNShape_Jc5h4g" targetElement="BPMNShape_JQcpbg">
|
|
||||||
<di:waypoint x="1445.0" y="700.0"/>
|
<di:waypoint x="1445.0" y="700.0"/>
|
||||||
<di:waypoint x="1445.0" y="685.0"/>
|
<di:waypoint x="1445.0" y="685.0"/>
|
||||||
<di:waypoint x="1535.0" y="685.0"/>
|
<di:waypoint x="1535.0" y="685.0"/>
|
||||||
|
|
@ -2353,8 +2307,7 @@ Betrag: <itemvalue>_amount</itemvalue> (Brutto € <itemvalue>_amount_brutto</it
|
||||||
<dc:Bounds height="20.0" width="100.0" x="1645.0" y="736.0"/>
|
<dc:Bounds height="20.0" width="100.0" x="1645.0" y="736.0"/>
|
||||||
</bpmndi:BPMNLabel>
|
</bpmndi:BPMNLabel>
|
||||||
</bpmndi:BPMNShape>
|
</bpmndi:BPMNShape>
|
||||||
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_PWXjog" id="BPMNEdge_0u97cA"
|
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_PWXjog" id="BPMNEdge_0u97cA" sourceElement="BPMNShape_ShOR1w" targetElement="BPMNShape_sGRa6w">
|
||||||
sourceElement="BPMNShape_ShOR1w" targetElement="BPMNShape_sGRa6w">
|
|
||||||
<di:waypoint x="1695.0" y="697.0"/>
|
<di:waypoint x="1695.0" y="697.0"/>
|
||||||
<di:waypoint x="1695.0" y="685.0"/>
|
<di:waypoint x="1695.0" y="685.0"/>
|
||||||
<di:waypoint x="1795.0" y="685.0"/>
|
<di:waypoint x="1795.0" y="685.0"/>
|
||||||
|
|
@ -2378,19 +2331,16 @@ Betrag: <itemvalue>_amount</itemvalue> (Brutto € <itemvalue>_amount_brutto</it
|
||||||
<dc:Bounds height="20.0" width="100.0" x="1278.5" y="166.0"/>
|
<dc:Bounds height="20.0" width="100.0" x="1278.5" y="166.0"/>
|
||||||
</bpmndi:BPMNLabel>
|
</bpmndi:BPMNLabel>
|
||||||
</bpmndi:BPMNShape>
|
</bpmndi:BPMNShape>
|
||||||
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_tcjWAA" id="BPMNEdge_fIE5pg"
|
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_tcjWAA" id="BPMNEdge_fIE5pg" sourceElement="BPMNShape_UxYL0A" targetElement="BPMNShape_JG1UQQ">
|
||||||
sourceElement="BPMNShape_UxYL0A" targetElement="BPMNShape_JG1UQQ">
|
|
||||||
<di:waypoint x="1325.0" y="540.0"/>
|
<di:waypoint x="1325.0" y="540.0"/>
|
||||||
<di:waypoint x="1325.0" y="347.0"/>
|
<di:waypoint x="1325.0" y="347.0"/>
|
||||||
<di:waypoint x="1325.0" y="163.0"/>
|
<di:waypoint x="1325.0" y="163.0"/>
|
||||||
</bpmndi:BPMNEdge>
|
</bpmndi:BPMNEdge>
|
||||||
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_gpPDLg" id="BPMNEdge_oi9YWw"
|
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_gpPDLg" id="BPMNEdge_oi9YWw" sourceElement="BPMNShape_JG1UQQ" targetElement="BPMNShape_IZvUhg">
|
||||||
sourceElement="BPMNShape_JG1UQQ" targetElement="BPMNShape_IZvUhg">
|
|
||||||
<di:waypoint x="1343.0" y="145.0"/>
|
<di:waypoint x="1343.0" y="145.0"/>
|
||||||
<di:waypoint x="2030.0" y="145.0"/>
|
<di:waypoint x="2030.0" y="145.0"/>
|
||||||
</bpmndi:BPMNEdge>
|
</bpmndi:BPMNEdge>
|
||||||
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_I8o4DA" id="BPMNEdge_kd3F1g"
|
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_I8o4DA" id="BPMNEdge_kd3F1g" sourceElement="BPMNShape_a6rTLg" targetElement="BPMNShape_AJWuJw">
|
||||||
sourceElement="BPMNShape_a6rTLg" targetElement="BPMNShape_AJWuJw">
|
|
||||||
<di:waypoint x="1425.0" y="590.0"/>
|
<di:waypoint x="1425.0" y="590.0"/>
|
||||||
<di:waypoint x="1425.0" y="720.0"/>
|
<di:waypoint x="1425.0" y="720.0"/>
|
||||||
</bpmndi:BPMNEdge>
|
</bpmndi:BPMNEdge>
|
||||||
|
|
@ -2400,13 +2350,11 @@ Betrag: <itemvalue>_amount</itemvalue> (Brutto € <itemvalue>_amount_brutto</it
|
||||||
<dc:Bounds height="20.0" width="100.0" x="935.0" y="593.0"/>
|
<dc:Bounds height="20.0" width="100.0" x="935.0" y="593.0"/>
|
||||||
</bpmndi:BPMNLabel>
|
</bpmndi:BPMNLabel>
|
||||||
</bpmndi:BPMNShape>
|
</bpmndi:BPMNShape>
|
||||||
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_bh4DIw" id="BPMNEdge_cjFGmA"
|
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_bh4DIw" id="BPMNEdge_cjFGmA" sourceElement="BPMNShape_PyGqlg" targetElement="BPMNShape_027JKQ">
|
||||||
sourceElement="BPMNShape_PyGqlg" targetElement="BPMNShape_027JKQ">
|
|
||||||
<di:waypoint x="1010.0" y="565.0"/>
|
<di:waypoint x="1010.0" y="565.0"/>
|
||||||
<di:waypoint x="1070.0" y="565.0"/>
|
<di:waypoint x="1070.0" y="565.0"/>
|
||||||
</bpmndi:BPMNEdge>
|
</bpmndi:BPMNEdge>
|
||||||
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_d0zSHA" id="BPMNEdge_YVrWMA"
|
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_d0zSHA" id="BPMNEdge_YVrWMA" sourceElement="BPMNShape_PyGqlg" targetElement="BPMNShape_JG1UQQ">
|
||||||
sourceElement="BPMNShape_PyGqlg" targetElement="BPMNShape_JG1UQQ">
|
|
||||||
<di:waypoint x="984.0" y="541.0"/>
|
<di:waypoint x="984.0" y="541.0"/>
|
||||||
<di:waypoint x="984.0" y="145.0"/>
|
<di:waypoint x="984.0" y="145.0"/>
|
||||||
<di:waypoint x="1307.0" y="145.0"/>
|
<di:waypoint x="1307.0" y="145.0"/>
|
||||||
|
|
@ -2417,13 +2365,11 @@ Betrag: <itemvalue>_amount</itemvalue> (Brutto € <itemvalue>_amount_brutto</it
|
||||||
<dc:Bounds height="20.0" width="100.0" x="585.0" y="593.0"/>
|
<dc:Bounds height="20.0" width="100.0" x="585.0" y="593.0"/>
|
||||||
</bpmndi:BPMNLabel>
|
</bpmndi:BPMNLabel>
|
||||||
</bpmndi:BPMNShape>
|
</bpmndi:BPMNShape>
|
||||||
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_1QjzLw" id="BPMNEdge_70dGKA"
|
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_1QjzLw" id="BPMNEdge_70dGKA" sourceElement="BPMNShape_c0Q3cg" targetElement="BPMNShape_Task_2">
|
||||||
sourceElement="BPMNShape_c0Q3cg" targetElement="BPMNShape_Task_2">
|
|
||||||
<di:waypoint x="660.0" y="565.0"/>
|
<di:waypoint x="660.0" y="565.0"/>
|
||||||
<di:waypoint x="730.0" y="565.0"/>
|
<di:waypoint x="730.0" y="565.0"/>
|
||||||
</bpmndi:BPMNEdge>
|
</bpmndi:BPMNEdge>
|
||||||
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_7t6YqQ" id="BPMNEdge_XRoVww"
|
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_7t6YqQ" id="BPMNEdge_XRoVww" sourceElement="BPMNShape_c0Q3cg" targetElement="BPMNShape_nEe3Fw">
|
||||||
sourceElement="BPMNShape_c0Q3cg" targetElement="BPMNShape_nEe3Fw">
|
|
||||||
<di:waypoint x="635.0" y="590.0"/>
|
<di:waypoint x="635.0" y="590.0"/>
|
||||||
<di:waypoint x="635.0" y="980.0"/>
|
<di:waypoint x="635.0" y="980.0"/>
|
||||||
<di:waypoint x="2085.0" y="980.0"/>
|
<di:waypoint x="2085.0" y="980.0"/>
|
||||||
|
|
@ -2438,15 +2384,15 @@ Betrag: <itemvalue>_amount</itemvalue> (Brutto € <itemvalue>_amount_brutto</it
|
||||||
<dc:Bounds height="20.0" width="100.0" x="265.0" y="586.0"/>
|
<dc:Bounds height="20.0" width="100.0" x="265.0" y="586.0"/>
|
||||||
</bpmndi:BPMNLabel>
|
</bpmndi:BPMNLabel>
|
||||||
</bpmndi:BPMNShape>
|
</bpmndi:BPMNShape>
|
||||||
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_r48dXQ" id="BPMNEdge_OEu1Hg"
|
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_r48dXQ" id="BPMNEdge_OEu1Hg" sourceElement="BPMNShape_uZ0lEQ" targetElement="BPMNShape_ELW5JA">
|
||||||
sourceElement="BPMNShape_uZ0lEQ" targetElement="BPMNShape_ELW5JA">
|
|
||||||
<di:waypoint x="333.0" y="565.0"/>
|
<di:waypoint x="333.0" y="565.0"/>
|
||||||
<di:waypoint x="380.0" y="565.0"/>
|
<di:waypoint x="380.0" y="565.0"/>
|
||||||
</bpmndi:BPMNEdge>
|
</bpmndi:BPMNEdge>
|
||||||
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_O0kbJg" id="BPMNEdge_7LJF4g"
|
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_O0kbJg" id="BPMNEdge_7LJF4g" sourceElement="BPMNShape_ELW5JA" targetElement="BPMNShape_IntermediateCatchEvent_2">
|
||||||
sourceElement="BPMNShape_ELW5JA" targetElement="BPMNShape_IntermediateCatchEvent_2">
|
|
||||||
<di:waypoint x="490.0" y="565.0"/>
|
<di:waypoint x="490.0" y="565.0"/>
|
||||||
<di:waypoint x="527.0" y="565.0" />
|
<di:waypoint x="509.0" y="565.0"/>
|
||||||
|
<di:waypoint x="509.0" y="564.0"/>
|
||||||
|
<di:waypoint x="527.0" y="564.0"/>
|
||||||
</bpmndi:BPMNEdge>
|
</bpmndi:BPMNEdge>
|
||||||
<bpmndi:BPMNShape bpmnElement="event_yDeTiQ" id="BPMNShape_Nvz5cg">
|
<bpmndi:BPMNShape bpmnElement="event_yDeTiQ" id="BPMNShape_Nvz5cg">
|
||||||
<dc:Bounds height="36.0" width="36.0" x="427.0" y="517.0"/>
|
<dc:Bounds height="36.0" width="36.0" x="427.0" y="517.0"/>
|
||||||
|
|
@ -2454,12 +2400,11 @@ Betrag: <itemvalue>_amount</itemvalue> (Brutto € <itemvalue>_amount_brutto</it
|
||||||
<dc:Bounds height="20.0" width="100.0" x="395.0" y="556.0"/>
|
<dc:Bounds height="20.0" width="100.0" x="395.0" y="556.0"/>
|
||||||
</bpmndi:BPMNLabel>
|
</bpmndi:BPMNLabel>
|
||||||
</bpmndi:BPMNShape>
|
</bpmndi:BPMNShape>
|
||||||
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_tZj4qQ" id="BPMNEdge_8p7Lrg"
|
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_tZj4qQ" id="BPMNEdge_8p7Lrg" sourceElement="BPMNShape_Nvz5cg" targetElement="BPMNShape_IntermediateCatchEvent_2">
|
||||||
sourceElement="BPMNShape_Nvz5cg" targetElement="BPMNShape_IntermediateCatchEvent_2">
|
|
||||||
<di:waypoint x="445.0" y="517.0"/>
|
<di:waypoint x="445.0" y="517.0"/>
|
||||||
<di:waypoint x="445.0" y="506.0"/>
|
<di:waypoint x="445.0" y="506.0"/>
|
||||||
<di:waypoint x="545.0" y="506.0"/>
|
<di:waypoint x="545.0" y="506.0"/>
|
||||||
<di:waypoint x="545.0" y="547.0" />
|
<di:waypoint x="545.0" y="546.0"/>
|
||||||
</bpmndi:BPMNEdge>
|
</bpmndi:BPMNEdge>
|
||||||
<bpmndi:BPMNShape bpmnElement="gateway_pKPTOQ" id="BPMNShape_a6rTLg">
|
<bpmndi:BPMNShape bpmnElement="gateway_pKPTOQ" id="BPMNShape_a6rTLg">
|
||||||
<dc:Bounds height="50.0" width="50.0" x="1400.0" y="540.0"/>
|
<dc:Bounds height="50.0" width="50.0" x="1400.0" y="540.0"/>
|
||||||
|
|
@ -2467,8 +2412,7 @@ Betrag: <itemvalue>_amount</itemvalue> (Brutto € <itemvalue>_amount_brutto</it
|
||||||
<dc:Bounds height="20.0" width="100.0" x="1375.0" y="593.0"/>
|
<dc:Bounds height="20.0" width="100.0" x="1375.0" y="593.0"/>
|
||||||
</bpmndi:BPMNLabel>
|
</bpmndi:BPMNLabel>
|
||||||
</bpmndi:BPMNShape>
|
</bpmndi:BPMNShape>
|
||||||
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_cY0PYg" id="BPMNEdge_Hh0I7w"
|
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_cY0PYg" id="BPMNEdge_Hh0I7w" sourceElement="BPMNShape_UxYL0A" targetElement="BPMNShape_a6rTLg">
|
||||||
sourceElement="BPMNShape_UxYL0A" targetElement="BPMNShape_a6rTLg">
|
|
||||||
<di:waypoint x="1350.0" y="565.0"/>
|
<di:waypoint x="1350.0" y="565.0"/>
|
||||||
<di:waypoint x="1400.0" y="565.0"/>
|
<di:waypoint x="1400.0" y="565.0"/>
|
||||||
</bpmndi:BPMNEdge>
|
</bpmndi:BPMNEdge>
|
||||||
|
|
@ -2481,16 +2425,14 @@ Betrag: <itemvalue>_amount</itemvalue> (Brutto € <itemvalue>_amount_brutto</it
|
||||||
<dc:Bounds height="20.0" width="100.0" x="2155.0" y="166.0"/>
|
<dc:Bounds height="20.0" width="100.0" x="2155.0" y="166.0"/>
|
||||||
</bpmndi:BPMNLabel>
|
</bpmndi:BPMNLabel>
|
||||||
</bpmndi:BPMNShape>
|
</bpmndi:BPMNShape>
|
||||||
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_VqjGQg" id="BPMNEdge_WBoZsA"
|
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_VqjGQg" id="BPMNEdge_WBoZsA" sourceElement="BPMNShape_IZvUhg" targetElement="BPMNShape_iAg5Vg">
|
||||||
sourceElement="BPMNShape_IZvUhg" targetElement="BPMNShape_iAg5Vg">
|
|
||||||
<di:waypoint x="2140.0" y="145.0"/>
|
<di:waypoint x="2140.0" y="145.0"/>
|
||||||
<di:waypoint x="2187.0" y="145.0"/>
|
<di:waypoint x="2187.0" y="145.0"/>
|
||||||
</bpmndi:BPMNEdge>
|
</bpmndi:BPMNEdge>
|
||||||
<bpmndi:BPMNShape bpmnElement="task_0WRQdw" id="BPMNShape_dBE0FQ">
|
<bpmndi:BPMNShape bpmnElement="task_0WRQdw" id="BPMNShape_dBE0FQ">
|
||||||
<dc:Bounds height="50.0" width="110.0" x="1610.0" y="540.0"/>
|
<dc:Bounds height="50.0" width="110.0" x="1610.0" y="540.0"/>
|
||||||
</bpmndi:BPMNShape>
|
</bpmndi:BPMNShape>
|
||||||
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_Gwxq0g" id="BPMNEdge_J0ykDA"
|
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_Gwxq0g" id="BPMNEdge_J0ykDA" sourceElement="BPMNShape_a6rTLg" targetElement="BPMNShape_dBE0FQ">
|
||||||
sourceElement="BPMNShape_a6rTLg" targetElement="BPMNShape_dBE0FQ">
|
|
||||||
<di:waypoint x="1450.0" y="565.0"/>
|
<di:waypoint x="1450.0" y="565.0"/>
|
||||||
<di:waypoint x="1610.0" y="565.0"/>
|
<di:waypoint x="1610.0" y="565.0"/>
|
||||||
</bpmndi:BPMNEdge>
|
</bpmndi:BPMNEdge>
|
||||||
|
|
@ -2503,13 +2445,11 @@ Betrag: <itemvalue>_amount</itemvalue> (Brutto € <itemvalue>_amount_brutto</it
|
||||||
<dc:Bounds height="20.0" width="100.0" x="1745.0" y="586.0"/>
|
<dc:Bounds height="20.0" width="100.0" x="1745.0" y="586.0"/>
|
||||||
</bpmndi:BPMNLabel>
|
</bpmndi:BPMNLabel>
|
||||||
</bpmndi:BPMNShape>
|
</bpmndi:BPMNShape>
|
||||||
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_LJ5lZw" id="BPMNEdge_qzumvA"
|
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_LJ5lZw" id="BPMNEdge_qzumvA" sourceElement="BPMNShape_dBE0FQ" targetElement="BPMNShape_rUibDg">
|
||||||
sourceElement="BPMNShape_dBE0FQ" targetElement="BPMNShape_rUibDg">
|
|
||||||
<di:waypoint x="1720.0" y="565.0"/>
|
<di:waypoint x="1720.0" y="565.0"/>
|
||||||
<di:waypoint x="1777.0" y="565.0"/>
|
<di:waypoint x="1777.0" y="565.0"/>
|
||||||
</bpmndi:BPMNEdge>
|
</bpmndi:BPMNEdge>
|
||||||
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_zzvN2Q" id="BPMNEdge_1LRL6w"
|
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_zzvN2Q" id="BPMNEdge_1LRL6w" sourceElement="BPMNShape_rUibDg" targetElement="BPMNShape_NFkpAQ">
|
||||||
sourceElement="BPMNShape_rUibDg" targetElement="BPMNShape_NFkpAQ">
|
|
||||||
<di:waypoint x="1813.0" y="565.0"/>
|
<di:waypoint x="1813.0" y="565.0"/>
|
||||||
<di:waypoint x="1907.0" y="565.0"/>
|
<di:waypoint x="1907.0" y="565.0"/>
|
||||||
</bpmndi:BPMNEdge>
|
</bpmndi:BPMNEdge>
|
||||||
|
|
@ -2519,8 +2459,7 @@ Betrag: <itemvalue>_amount</itemvalue> (Brutto € <itemvalue>_amount_brutto</it
|
||||||
<dc:Bounds height="20.0" width="100.0" x="2165.0" y="586.0"/>
|
<dc:Bounds height="20.0" width="100.0" x="2165.0" y="586.0"/>
|
||||||
</bpmndi:BPMNLabel>
|
</bpmndi:BPMNLabel>
|
||||||
</bpmndi:BPMNShape>
|
</bpmndi:BPMNShape>
|
||||||
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_LZX10Q" id="BPMNEdge_1pYuRg"
|
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_LZX10Q" id="BPMNEdge_1pYuRg" sourceElement="BPMNShape_OR9EVA" targetElement="BPMNShape_9Gb2iQ">
|
||||||
sourceElement="BPMNShape_OR9EVA" targetElement="BPMNShape_9Gb2iQ">
|
|
||||||
<di:waypoint x="2140.0" y="565.0"/>
|
<di:waypoint x="2140.0" y="565.0"/>
|
||||||
<di:waypoint x="2197.0" y="565.0"/>
|
<di:waypoint x="2197.0" y="565.0"/>
|
||||||
</bpmndi:BPMNEdge>
|
</bpmndi:BPMNEdge>
|
||||||
|
|
@ -2530,10 +2469,9 @@ Betrag: <itemvalue>_amount</itemvalue> (Brutto € <itemvalue>_amount_brutto</it
|
||||||
<dc:Bounds height="20.0" width="100.0" x="1833.0" y="495.0"/>
|
<dc:Bounds height="20.0" width="100.0" x="1833.0" y="495.0"/>
|
||||||
</bpmndi:BPMNLabel>
|
</bpmndi:BPMNLabel>
|
||||||
</bpmndi:BPMNShape>
|
</bpmndi:BPMNShape>
|
||||||
<bpmndi:BPMNEdge bpmnElement="association_je321g" id="BPMNEdge_C0vZmw"
|
<bpmndi:BPMNEdge bpmnElement="association_je321g" id="BPMNEdge_C0vZmw" sourceElement="BPMNShape_rUibDg" targetElement="BPMNShape_AJy4vQ">
|
||||||
sourceElement="BPMNShape_rUibDg" targetElement="BPMNShape_AJy4vQ">
|
<di:waypoint x="1795.0" y="547.0"/>
|
||||||
<di:waypoint x="1804.0" y="549.0" />
|
<di:waypoint x="1795.0" y="468.0"/>
|
||||||
<di:waypoint x="1804.0" y="468.0" />
|
|
||||||
<di:waypoint x="1870.0" y="468.0"/>
|
<di:waypoint x="1870.0" y="468.0"/>
|
||||||
</bpmndi:BPMNEdge>
|
</bpmndi:BPMNEdge>
|
||||||
<bpmndi:BPMNShape bpmnElement="event_tSLHgg" id="BPMNShape_NFkpAQ">
|
<bpmndi:BPMNShape bpmnElement="event_tSLHgg" id="BPMNShape_NFkpAQ">
|
||||||
|
|
@ -2542,8 +2480,7 @@ Betrag: <itemvalue>_amount</itemvalue> (Brutto € <itemvalue>_amount_brutto</it
|
||||||
<dc:Bounds height="20.0" width="100.0" x="1875.0" y="586.0"/>
|
<dc:Bounds height="20.0" width="100.0" x="1875.0" y="586.0"/>
|
||||||
</bpmndi:BPMNLabel>
|
</bpmndi:BPMNLabel>
|
||||||
</bpmndi:BPMNShape>
|
</bpmndi:BPMNShape>
|
||||||
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_Lk0V9A" id="BPMNEdge_OAwUuQ"
|
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_Lk0V9A" id="BPMNEdge_OAwUuQ" sourceElement="BPMNShape_NFkpAQ" targetElement="BPMNShape_OR9EVA">
|
||||||
sourceElement="BPMNShape_NFkpAQ" targetElement="BPMNShape_OR9EVA">
|
|
||||||
<di:waypoint x="1943.0" y="565.0"/>
|
<di:waypoint x="1943.0" y="565.0"/>
|
||||||
<di:waypoint x="2030.0" y="565.0"/>
|
<di:waypoint x="2030.0" y="565.0"/>
|
||||||
</bpmndi:BPMNEdge>
|
</bpmndi:BPMNEdge>
|
||||||
|
|
@ -2553,8 +2490,7 @@ Betrag: <itemvalue>_amount</itemvalue> (Brutto € <itemvalue>_amount_brutto</it
|
||||||
<dc:Bounds height="20.0" width="100.0" x="1635.0" y="556.0"/>
|
<dc:Bounds height="20.0" width="100.0" x="1635.0" y="556.0"/>
|
||||||
</bpmndi:BPMNLabel>
|
</bpmndi:BPMNLabel>
|
||||||
</bpmndi:BPMNShape>
|
</bpmndi:BPMNShape>
|
||||||
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_PSnrnQ" id="BPMNEdge_0Q04mg"
|
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_PSnrnQ" id="BPMNEdge_0Q04mg" sourceElement="BPMNShape_oLGb0g" targetElement="BPMNShape_rUibDg">
|
||||||
sourceElement="BPMNShape_oLGb0g" targetElement="BPMNShape_rUibDg">
|
|
||||||
<di:waypoint x="1685.0" y="517.0"/>
|
<di:waypoint x="1685.0" y="517.0"/>
|
||||||
<di:waypoint x="1685.0" y="509.0"/>
|
<di:waypoint x="1685.0" y="509.0"/>
|
||||||
<di:waypoint x="1795.0" y="509.0"/>
|
<di:waypoint x="1795.0" y="509.0"/>
|
||||||
|
|
@ -2566,8 +2502,7 @@ Betrag: <itemvalue>_amount</itemvalue> (Brutto € <itemvalue>_amount_brutto</it
|
||||||
<dc:Bounds height="20.0" width="100.0" x="1935.0" y="773.0"/>
|
<dc:Bounds height="20.0" width="100.0" x="1935.0" y="773.0"/>
|
||||||
</bpmndi:BPMNLabel>
|
</bpmndi:BPMNLabel>
|
||||||
</bpmndi:BPMNShape>
|
</bpmndi:BPMNShape>
|
||||||
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_KEUmaw" id="BPMNEdge_Dtqujg"
|
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_KEUmaw" id="BPMNEdge_Dtqujg" sourceElement="BPMNShape_vklwVw" targetElement="BPMNShape_nEe3Fw">
|
||||||
sourceElement="BPMNShape_vklwVw" targetElement="BPMNShape_nEe3Fw">
|
|
||||||
<di:waypoint x="2010.0" y="745.0"/>
|
<di:waypoint x="2010.0" y="745.0"/>
|
||||||
<di:waypoint x="2067.0" y="745.0"/>
|
<di:waypoint x="2067.0" y="745.0"/>
|
||||||
</bpmndi:BPMNEdge>
|
</bpmndi:BPMNEdge>
|
||||||
|
|
@ -2583,18 +2518,15 @@ Betrag: <itemvalue>_amount</itemvalue> (Brutto € <itemvalue>_amount_brutto</it
|
||||||
<dc:Bounds height="20.0" width="100.0" x="1855.0" y="686.0"/>
|
<dc:Bounds height="20.0" width="100.0" x="1855.0" y="686.0"/>
|
||||||
</bpmndi:BPMNLabel>
|
</bpmndi:BPMNLabel>
|
||||||
</bpmndi:BPMNShape>
|
</bpmndi:BPMNShape>
|
||||||
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_oiHd0Q" id="BPMNEdge_ZU3Zzw"
|
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_oiHd0Q" id="BPMNEdge_ZU3Zzw" sourceElement="BPMNShape_0bkgmg" targetElement="BPMNShape_PF0K0w">
|
||||||
sourceElement="BPMNShape_0bkgmg" targetElement="BPMNShape_PF0K0w">
|
|
||||||
<di:waypoint x="1923.0" y="665.0"/>
|
<di:waypoint x="1923.0" y="665.0"/>
|
||||||
<di:waypoint x="1967.0" y="665.0"/>
|
<di:waypoint x="1967.0" y="665.0"/>
|
||||||
</bpmndi:BPMNEdge>
|
</bpmndi:BPMNEdge>
|
||||||
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_eN0BQg" id="BPMNEdge_chp3IA"
|
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_eN0BQg" id="BPMNEdge_chp3IA" sourceElement="BPMNShape_PF0K0w" targetElement="BPMNShape_vklwVw">
|
||||||
sourceElement="BPMNShape_PF0K0w" targetElement="BPMNShape_vklwVw">
|
|
||||||
<di:waypoint x="1985.0" y="683.0"/>
|
<di:waypoint x="1985.0" y="683.0"/>
|
||||||
<di:waypoint x="1985.0" y="720.0"/>
|
<di:waypoint x="1985.0" y="720.0"/>
|
||||||
</bpmndi:BPMNEdge>
|
</bpmndi:BPMNEdge>
|
||||||
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_FK6X7g" id="BPMNEdge_qlTjcw"
|
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_FK6X7g" id="BPMNEdge_qlTjcw" sourceElement="BPMNShape_bynHqw" targetElement="BPMNShape_ACQKlg">
|
||||||
sourceElement="BPMNShape_bynHqw" targetElement="BPMNShape_ACQKlg">
|
|
||||||
<di:waypoint x="1665.0" y="770.0"/>
|
<di:waypoint x="1665.0" y="770.0"/>
|
||||||
<di:waypoint x="1665.0" y="827.0"/>
|
<di:waypoint x="1665.0" y="827.0"/>
|
||||||
</bpmndi:BPMNEdge>
|
</bpmndi:BPMNEdge>
|
||||||
|
|
@ -2604,8 +2536,7 @@ Betrag: <itemvalue>_amount</itemvalue> (Brutto € <itemvalue>_amount_brutto</it
|
||||||
<dc:Bounds height="20.0" width="100.0" x="1375.0" y="866.0"/>
|
<dc:Bounds height="20.0" width="100.0" x="1375.0" y="866.0"/>
|
||||||
</bpmndi:BPMNLabel>
|
</bpmndi:BPMNLabel>
|
||||||
</bpmndi:BPMNShape>
|
</bpmndi:BPMNShape>
|
||||||
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_n03e7Q" id="BPMNEdge_U6PQjw"
|
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_n03e7Q" id="BPMNEdge_U6PQjw" sourceElement="BPMNShape_AJWuJw" targetElement="BPMNShape_y7El0Q">
|
||||||
sourceElement="BPMNShape_AJWuJw" targetElement="BPMNShape_y7El0Q">
|
|
||||||
<di:waypoint x="1425.0" y="770.0"/>
|
<di:waypoint x="1425.0" y="770.0"/>
|
||||||
<di:waypoint x="1425.0" y="827.0"/>
|
<di:waypoint x="1425.0" y="827.0"/>
|
||||||
</bpmndi:BPMNEdge>
|
</bpmndi:BPMNEdge>
|
||||||
|
|
@ -2615,8 +2546,7 @@ Betrag: <itemvalue>_amount</itemvalue> (Brutto € <itemvalue>_amount_brutto</it
|
||||||
<dc:Bounds height="20.0" width="100.0" x="1075.0" y="686.0"/>
|
<dc:Bounds height="20.0" width="100.0" x="1075.0" y="686.0"/>
|
||||||
</bpmndi:BPMNLabel>
|
</bpmndi:BPMNLabel>
|
||||||
</bpmndi:BPMNShape>
|
</bpmndi:BPMNShape>
|
||||||
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_o80yIg" id="BPMNEdge_8HbnWQ"
|
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_o80yIg" id="BPMNEdge_8HbnWQ" sourceElement="BPMNShape_OOYKBw" targetElement="BPMNShape_027JKQ">
|
||||||
sourceElement="BPMNShape_OOYKBw" targetElement="BPMNShape_027JKQ">
|
|
||||||
<di:waypoint x="1125.0" y="647.0"/>
|
<di:waypoint x="1125.0" y="647.0"/>
|
||||||
<di:waypoint x="1125.0" y="590.0"/>
|
<di:waypoint x="1125.0" y="590.0"/>
|
||||||
</bpmndi:BPMNEdge>
|
</bpmndi:BPMNEdge>
|
||||||
|
|
@ -2626,8 +2556,7 @@ Betrag: <itemvalue>_amount</itemvalue> (Brutto € <itemvalue>_amount_brutto</it
|
||||||
<dc:Bounds height="20.0" width="100.0" x="735.0" y="686.0"/>
|
<dc:Bounds height="20.0" width="100.0" x="735.0" y="686.0"/>
|
||||||
</bpmndi:BPMNLabel>
|
</bpmndi:BPMNLabel>
|
||||||
</bpmndi:BPMNShape>
|
</bpmndi:BPMNShape>
|
||||||
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_t4fdag" id="BPMNEdge_5Eab7Q"
|
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_t4fdag" id="BPMNEdge_5Eab7Q" sourceElement="BPMNShape_WDNpxQ" targetElement="BPMNShape_Task_2">
|
||||||
sourceElement="BPMNShape_WDNpxQ" targetElement="BPMNShape_Task_2">
|
|
||||||
<di:waypoint x="785.0" y="647.0"/>
|
<di:waypoint x="785.0" y="647.0"/>
|
||||||
<di:waypoint x="785.0" y="590.0"/>
|
<di:waypoint x="785.0" y="590.0"/>
|
||||||
</bpmndi:BPMNEdge>
|
</bpmndi:BPMNEdge>
|
||||||
|
|
@ -2637,8 +2566,7 @@ Betrag: <itemvalue>_amount</itemvalue> (Brutto € <itemvalue>_amount_brutto</it
|
||||||
<dc:Bounds height="20.0" width="100.0" x="385.0" y="686.0"/>
|
<dc:Bounds height="20.0" width="100.0" x="385.0" y="686.0"/>
|
||||||
</bpmndi:BPMNLabel>
|
</bpmndi:BPMNLabel>
|
||||||
</bpmndi:BPMNShape>
|
</bpmndi:BPMNShape>
|
||||||
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_jlwCMw" id="BPMNEdge_jIQ6fA"
|
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_jlwCMw" id="BPMNEdge_jIQ6fA" sourceElement="BPMNShape_HZUSOA" targetElement="BPMNShape_ELW5JA">
|
||||||
sourceElement="BPMNShape_HZUSOA" targetElement="BPMNShape_ELW5JA">
|
|
||||||
<di:waypoint x="435.0" y="647.0"/>
|
<di:waypoint x="435.0" y="647.0"/>
|
||||||
<di:waypoint x="435.0" y="590.0"/>
|
<di:waypoint x="435.0" y="590.0"/>
|
||||||
</bpmndi:BPMNEdge>
|
</bpmndi:BPMNEdge>
|
||||||
|
|
@ -2648,14 +2576,12 @@ Betrag: <itemvalue>_amount</itemvalue> (Brutto € <itemvalue>_amount_brutto</it
|
||||||
<dc:Bounds height="20.0" width="100.0" x="1615.0" y="656.0"/>
|
<dc:Bounds height="20.0" width="100.0" x="1615.0" y="656.0"/>
|
||||||
</bpmndi:BPMNLabel>
|
</bpmndi:BPMNLabel>
|
||||||
</bpmndi:BPMNShape>
|
</bpmndi:BPMNShape>
|
||||||
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_qEdtHQ" id="BPMNEdge_m7jnMw"
|
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_qEdtHQ" id="BPMNEdge_m7jnMw" sourceElement="BPMNShape_C0xlfA" targetElement="BPMNShape_NFkpAQ">
|
||||||
sourceElement="BPMNShape_C0xlfA" targetElement="BPMNShape_NFkpAQ">
|
|
||||||
<di:waypoint x="1683.0" y="635.0"/>
|
<di:waypoint x="1683.0" y="635.0"/>
|
||||||
<di:waypoint x="1918.0" y="635.0"/>
|
<di:waypoint x="1918.0" y="635.0"/>
|
||||||
<di:waypoint x="1918.0" y="582.0"/>
|
<di:waypoint x="1918.0" y="582.0"/>
|
||||||
</bpmndi:BPMNEdge>
|
</bpmndi:BPMNEdge>
|
||||||
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_PeYREg" id="BPMNEdge_oSfSYQ"
|
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_PeYREg" id="BPMNEdge_oSfSYQ" sourceElement="BPMNShape_dBE0FQ" targetElement="BPMNShape_C0xlfA">
|
||||||
sourceElement="BPMNShape_dBE0FQ" targetElement="BPMNShape_C0xlfA">
|
|
||||||
<di:waypoint x="1665.0" y="590.0"/>
|
<di:waypoint x="1665.0" y="590.0"/>
|
||||||
<di:waypoint x="1665.0" y="617.0"/>
|
<di:waypoint x="1665.0" y="617.0"/>
|
||||||
</bpmndi:BPMNEdge>
|
</bpmndi:BPMNEdge>
|
||||||
|
|
@ -2665,8 +2591,7 @@ Betrag: <itemvalue>_amount</itemvalue> (Brutto € <itemvalue>_amount_brutto</it
|
||||||
<dc:Bounds height="20.0" width="100.0" x="1255.0" y="766.0"/>
|
<dc:Bounds height="20.0" width="100.0" x="1255.0" y="766.0"/>
|
||||||
</bpmndi:BPMNLabel>
|
</bpmndi:BPMNLabel>
|
||||||
</bpmndi:BPMNShape>
|
</bpmndi:BPMNShape>
|
||||||
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_0m3WTA" id="BPMNEdge_h6aP9g"
|
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_0m3WTA" id="BPMNEdge_h6aP9g" sourceElement="BPMNShape_AuwMyw" targetElement="BPMNShape_AJWuJw">
|
||||||
sourceElement="BPMNShape_AuwMyw" targetElement="BPMNShape_AJWuJw">
|
|
||||||
<di:waypoint x="1323.0" y="745.0"/>
|
<di:waypoint x="1323.0" y="745.0"/>
|
||||||
<di:waypoint x="1370.0" y="745.0"/>
|
<di:waypoint x="1370.0" y="745.0"/>
|
||||||
</bpmndi:BPMNEdge>
|
</bpmndi:BPMNEdge>
|
||||||
|
|
|
||||||
|
|
@ -1074,7 +1074,7 @@ result.isValid=true;
|
||||||
</imixs:item>
|
</imixs:item>
|
||||||
<imixs:item name="txtactivityresult" type="xs:string">
|
<imixs:item name="txtactivityresult" type="xs:string">
|
||||||
<imixs:value><![CDATA[<item name="comment" ignore="true"/>
|
<imixs:value><![CDATA[<item name="comment" ignore="true"/>
|
||||||
<item name="process">Buchhaltung</item>]]></imixs:value>
|
<item name="process">Management</item>]]></imixs:value>
|
||||||
</imixs:item>
|
</imixs:item>
|
||||||
<imixs:item name="txtname" type="xs:string">
|
<imixs:item name="txtname" type="xs:string">
|
||||||
<imixs:value><![CDATA[Speichern]]></imixs:value>
|
<imixs:value><![CDATA[Speichern]]></imixs:value>
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue