update
This commit is contained in:
parent
67affba4d7
commit
60d2d90114
5 changed files with 136 additions and 29 deletions
|
|
@ -21,7 +21,7 @@ import org.imixs.workflow.office.util.SequenceService;
|
|||
import jakarta.inject.Inject;
|
||||
|
||||
/**
|
||||
* Der CargosoftSplitAdapter erezeugt anhand der Positionstablelle eignee
|
||||
* Der CargosoftSplitAdapter erzeugt anhand der Positionstablelle
|
||||
* cargosoft export workitems, getrennt für jede Buchungsperdiode. Dies ist
|
||||
* notwendig, da Cargosoft selbst nicht mit unterschiedlichen Buchungsperioden
|
||||
* in einer Rechnung umgehen kann.
|
||||
|
|
@ -45,10 +45,13 @@ import jakarta.inject.Inject;
|
|||
}
|
||||
* </pre>
|
||||
* <p>
|
||||
* Because we also export the attachment data to cargosoft, the adaper lookups
|
||||
* Because we also export the attachment data to cargosoft, the adapter lookups
|
||||
* the conente of the attachment in the snapshot of the origin workitem
|
||||
*
|
||||
*
|
||||
* Der Adapter validiert zusätzlich ob die Kreditorennnummer cdtr.number gültig
|
||||
* ist.
|
||||
*
|
||||
* @version 1.0
|
||||
* @author rsoika
|
||||
*/
|
||||
|
|
@ -63,6 +66,9 @@ public class CargosoftSplitAdapter implements SignalAdapter {
|
|||
@Inject
|
||||
SequenceService sequenceService;
|
||||
|
||||
@Inject
|
||||
BusinessPartnerService businessPartnerService;
|
||||
|
||||
/**
|
||||
* This method computes the cargosoft export data file
|
||||
*
|
||||
|
|
@ -76,6 +82,14 @@ public class CargosoftSplitAdapter implements SignalAdapter {
|
|||
logger.info("......starting export...");
|
||||
try {
|
||||
|
||||
// check cdtr.number
|
||||
String cdtrNumber = workitem.getItemValueString("cdtr.number");
|
||||
ItemCollection partner = businessPartnerService.getBusinessPartnerByID(InvoiceUtil.buildBPID(cdtrNumber));
|
||||
if (partner == null) {
|
||||
throw new PluginException(CargosoftSplitAdapter.class.getSimpleName(), CONFIG_ERROR,
|
||||
"Missing or wrong Creditor Number, please check your data.");
|
||||
}
|
||||
|
||||
// read the cargosoft split options
|
||||
ItemCollection evalItemCollection = workflowService.evalWorkflowResult(event, "cargosoft", workitem, false);
|
||||
|
||||
|
|
@ -90,7 +104,7 @@ public class CargosoftSplitAdapter implements SignalAdapter {
|
|||
|
||||
if (model.isEmpty() || taskID == 0 || eventID == 0) {
|
||||
throw new PluginException(CargosoftSplitAdapter.class.getSimpleName(), CONFIG_ERROR,
|
||||
"missign cargosoft configuration 'model', 'task', 'event' - please check model configuration");
|
||||
"missing cargosoft configuration 'model', 'task', 'event' - please check model configuration");
|
||||
}
|
||||
|
||||
// Zunaechst müssen wir festelstellen, ob es mehrere unterschiedliche
|
||||
|
|
|
|||
|
|
@ -12,22 +12,6 @@
|
|||
<packaging>jar</packaging>
|
||||
<name>Imixs Office Workflow Remote Test Client</name>
|
||||
|
||||
<properties>
|
||||
<java.source>11</java.source>
|
||||
<java.target>11</java.target>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
|
||||
|
||||
<!-- Dependency Versions -->
|
||||
<jakarta.version>10.0.0</jakarta.version>
|
||||
<org.imixs.workflow.version>6.0.9</org.imixs.workflow.version>
|
||||
<org.imixs.marty.version>5.0.0</org.imixs.marty.version>
|
||||
|
||||
<!-- test dependencies -->
|
||||
<junit.jupiter.version>5.9.2</junit.jupiter.version>
|
||||
<mockito.version>5.8.0</mockito.version>
|
||||
|
||||
</properties>
|
||||
<build>
|
||||
<resources>
|
||||
<!-- enable resource filtering for multi language version -->
|
||||
|
|
@ -87,13 +71,10 @@
|
|||
<version>${org.imixs.workflow.version}</version>
|
||||
</dependency>
|
||||
|
||||
|
||||
<!-- Testing -->
|
||||
<dependency>
|
||||
<groupId>org.imixs.workflow</groupId>
|
||||
<artifactId>imixs-melman</artifactId>
|
||||
<version>${org.imixs.melman.version}</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<!-- JUnit 5 Dependencies -->
|
||||
<dependency>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,105 @@
|
|||
package com.alexanderlogistics.rest;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import org.imixs.melman.EventLogClient;
|
||||
import org.imixs.melman.FormAuthenticator;
|
||||
import org.imixs.melman.RestAPIException;
|
||||
import org.imixs.workflow.ItemCollection;
|
||||
import org.imixs.workflow.exceptions.PluginException;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Disabled;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
/**
|
||||
* A test to explore a corgosoft invoice event
|
||||
*
|
||||
*/
|
||||
// @Disabled
|
||||
public class TestCargosoftEvents {
|
||||
|
||||
private static Logger logger = Logger.getLogger(TestCargosoftEvents.class.getName());
|
||||
|
||||
EventLogClient client = null;
|
||||
|
||||
String restAPI = "https://test.alexander-logistics.office-workflow.de/api";
|
||||
// String restAPI = "http://localhost:8080/api";
|
||||
String userID = "kutzner-service";
|
||||
String password = "imixs";
|
||||
|
||||
/**
|
||||
* Setup a new Rest Client
|
||||
*
|
||||
* @throws PluginException
|
||||
*/
|
||||
@BeforeEach
|
||||
public void setup() throws PluginException {
|
||||
|
||||
client = new EventLogClient(restAPI);
|
||||
FormAuthenticator aut;
|
||||
try {
|
||||
aut = new FormAuthenticator(restAPI, userID, password);
|
||||
client.registerClientRequestFilter(aut);
|
||||
} catch (RestAPIException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
@Disabled
|
||||
@Test
|
||||
public void getXMLData() {
|
||||
logger.info("start...");
|
||||
try {
|
||||
List<ItemCollection> list = client.searchEventLog("TOPIC_CARGOSOFT_INVOICE");
|
||||
logger.info("found " + list.size() + " log entries");
|
||||
for (ItemCollection entry : list) {
|
||||
List<?> dataList = entry.getItemValue("data");
|
||||
if (dataList != null && dataList.size() > 0) {
|
||||
ItemCollection data = new ItemCollection((Map<String, List<Object>>) dataList.get(0));
|
||||
logger.info("Data=" + data.getItemValueString("some-data"));
|
||||
logger.info("XML Data=" + data.getItemValueString("xml-data"));
|
||||
}
|
||||
}
|
||||
} catch (RestAPIException e) {
|
||||
logger.severe("Failed to read event log entry: " + e.getMessage());
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Deletes the 10 last topics
|
||||
*/
|
||||
@Test
|
||||
public void deleteXMLData() {
|
||||
logger.info("start...");
|
||||
int count = 0;
|
||||
try {
|
||||
client.setPageSize(1000);
|
||||
List<ItemCollection> list = client.searchEventLog("topictest", "TOPIC_CARGOSOFT_INVOICE");
|
||||
// List<ItemCollection> list = client.searchEventLog("");
|
||||
|
||||
logger.info("found " + list.size() + " log entries");
|
||||
for (ItemCollection entry : list) {
|
||||
String id = entry.getItemValueString("id");
|
||||
logger.info("delete event log entry id=" + id);
|
||||
client.deleteEventLogEntry(id);
|
||||
|
||||
count++;
|
||||
if (count >= 635000) {
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
logger.info(count + " log entries deleted");
|
||||
} catch (
|
||||
|
||||
RestAPIException e) {
|
||||
logger.severe("Failed to read event log entry: " + e.getMessage());
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
11
pom.xml
11
pom.xml
|
|
@ -29,9 +29,9 @@
|
|||
<org.imixs.office.version>5.0.4</org.imixs.office.version>
|
||||
<org.imixs.workflow.version>6.0.9</org.imixs.workflow.version>
|
||||
<org.imixs.marty.version>5.0.0</org.imixs.marty.version>
|
||||
<org.imixs.archive.version>3.1.1</org.imixs.archive.version>
|
||||
<org.imixs.archive.version>3.1.2-SNAPSHOT</org.imixs.archive.version>
|
||||
<org.imixs.adapters.version>3.0.3</org.imixs.adapters.version>
|
||||
<org.imixs.melman.version>2.1.0</org.imixs.melman.version>
|
||||
<org.imixs.melman.version>2.1.1-SNAPSHOT</org.imixs.melman.version>
|
||||
<microprofile.version>6.0</microprofile.version>
|
||||
<net.sf.saxon.version>9.9.1-4</net.sf.saxon.version>
|
||||
<apache.pdfbox.version>2.0.26</apache.pdfbox.version>
|
||||
|
|
@ -285,6 +285,13 @@
|
|||
<scope>compile</scope>
|
||||
</dependency>
|
||||
|
||||
<!-- Melman Version Management hinzufügen -->
|
||||
<dependency>
|
||||
<groupId>org.imixs.workflow</groupId>
|
||||
<artifactId>imixs-melman</artifactId>
|
||||
<version>${org.imixs.melman.version}</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
|
||||
<!-- xsl 2.0 support for Reporting / Chart Diagrams -->
|
||||
<dependency>
|
||||
|
|
|
|||
|
|
@ -6383,10 +6383,10 @@ Betrag: <itemvalue>_amount</itemvalue> (Brutto € <itemvalue>_amount_brutto</it
|
|||
<bpmn2:association id="Association_3" sourceRef="TextAnnotation_2" targetRef="Task_5000">
|
||||
<bpmn2:documentation id="documentation_M9b4eQ"/>
|
||||
</bpmn2:association>
|
||||
<bpmn2:textAnnotation id="TextAnnotation_1">
|
||||
<bpmn2:text>Datenübergabe an Cargosoft.
|
||||
<bpmn2:textAnnotation id="TextAnnotation_1" textFormat="">
|
||||
<bpmn2:text><![CDATA[Datenübergabe an Cargosoft.
|
||||
|
||||
Export erfolgt über eine asynchrone Verarbeitung im Modell 'cargosoft-export'</bpmn2:text>
|
||||
Export erfolgt über eine asynchrone Verarbeitung im Modell 'cargosoft-export']]></bpmn2:text>
|
||||
<bpmn2:documentation id="documentation_sMel1A"/>
|
||||
</bpmn2:textAnnotation>
|
||||
<bpmn2:association id="Association_1" sourceRef="TextAnnotation_1" targetRef="IntermediateCatchEvent_5005-20">
|
||||
|
|
@ -8101,8 +8101,8 @@ Betrag: <itemvalue>invoice.total</itemvalue> <itemvalue>invoice.currency</itemva
|
|||
<bpmndi:BPMNLabel id="BPMNLabel_216"/>
|
||||
<di:waypoint x="725.0" y="1380.0"/>
|
||||
<di:waypoint x="725.0" y="1315.0"/>
|
||||
<di:waypoint x="860.0" y="1315.0"/>
|
||||
<di:waypoint x="860.0" y="1062.0"/>
|
||||
<di:waypoint x="865.0" y="1315.0"/>
|
||||
<di:waypoint x="865.0" y="1063.0"/>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge bpmnElement="SequenceFlow_112" id="BPMNEdge_SequenceFlow_113" sourceElement="BPMNShape_Task_20" targetElement="BPMNShape_IntermediateCatchEvent_57">
|
||||
<bpmndi:BPMNLabel id="BPMNLabel_219"/>
|
||||
|
|
|
|||
Loading…
Reference in a new issue