This commit is contained in:
Ralph Soika 2024-10-23 17:00:04 +02:00
parent f862447f1a
commit e2abb87845
5 changed files with 397 additions and 448 deletions

View file

@ -426,13 +426,13 @@ public class InvoicePlugin extends AbstractPlugin {
* This method returns true if the current workitem is a Cargosoft Invoice. * This method returns true if the current workitem is a Cargosoft Invoice.
* *
* This can be based on different model versions e.g. rechnungseingang-de-1.2, * This can be based on different model versions e.g. rechnungseingang-de-1.2,
* rechnungseingang-pl-1.0, ... * rechnungseingang-pl-1.0, rechnungseingang-dwc-1.0, ...
* *
* @param workitem * @param workitem
* @return * @return
*/ */
public static boolean isCargoRechnung(ItemCollection workitem) { public static boolean isCargoRechnung(ItemCollection workitem) {
String REGEX_PATTERN = "rechnungseingang-([a-z]{2})-\\d.\\d"; String REGEX_PATTERN = "rechnungseingang-([a-z]{2}|[a-z]{3})-\\d.\\d";
// Erstellen Sie ein Pattern-Objekt // Erstellen Sie ein Pattern-Objekt
Pattern pattern = Pattern.compile(REGEX_PATTERN); Pattern pattern = Pattern.compile(REGEX_PATTERN);
Matcher matcher = pattern.matcher(workitem.getModelVersion()); Matcher matcher = pattern.matcher(workitem.getModelVersion());

View file

@ -11,7 +11,6 @@
<xsl:variable name="date" <xsl:variable name="date"
select="/data/document/item[@name='$modified']/value" /> select="/data/document/item[@name='$modified']/value" />
<Invoices version="2020.2" <Invoices version="2020.2"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
@ -19,8 +18,7 @@
<SenderID>Imixs-Office-Workflow</SenderID> <SenderID>Imixs-Office-Workflow</SenderID>
<ReceiverID>Cargosoft</ReceiverID> <ReceiverID>Cargosoft</ReceiverID>
<MessageID> <MessageID>
<xsl:value-of select="/data/document/item[@name='$uniqueid']/value" <xsl:value-of select="/data/document/item[@name='$uniqueid']/value" />
/>
</MessageID> </MessageID>
<MessageDate> <MessageDate>
<DateTime> <DateTime>
@ -45,7 +43,6 @@
<xsl:variable <xsl:variable
name="currency" select="item[@name='invoice.currency']/value" /> name="currency" select="item[@name='invoice.currency']/value" />
<Invoice> <Invoice>
<InvoiceHeader> <InvoiceHeader>
<Client> <Client>
@ -61,8 +58,7 @@
überschneiden mit dem CargoSoft Belegnummernkreis. überschneiden mit dem CargoSoft Belegnummernkreis.
Daher den Nummernkreis vorher mit CargoSoft absprechen. --> Daher den Nummernkreis vorher mit CargoSoft absprechen. -->
<InvoiceNumber> <InvoiceNumber>
<xsl:value-of select="item[@name='numsequencenumber']/value" <xsl:value-of select="item[@name='numsequencenumber']/value" />
/>
</InvoiceNumber> </InvoiceNumber>
<!-- Belegart - bei Gutschriften 'CREDIT' andernfalls 'INVOICE --> <!-- Belegart - bei Gutschriften 'CREDIT' andernfalls 'INVOICE -->
@ -103,8 +99,7 @@
<xsl:if <xsl:if
test="string-length(item[@name='invoice.exchangerate']/value) >0"> test="string-length(item[@name='invoice.exchangerate']/value) >0">
<ExchangeRate> <ExchangeRate>
<xsl:value-of select="item[@name='invoice.exchangerate']/value" <xsl:value-of select="item[@name='invoice.exchangerate']/value" />
/>
</ExchangeRate> </ExchangeRate>
</xsl:if> </xsl:if>
</Amount> </Amount>
@ -120,17 +115,14 @@
</Codes> </Codes>
</Currency> </Currency>
<Value> <Value>
<xsl:value-of select="item[@name='order.total.tax']/value" <xsl:value-of select="item[@name='order.total.tax']/value" />
/>
</Value> </Value>
<!-- exchange rate nur ausgeben wenn vorhanden --> <!-- exchange rate nur ausgeben wenn vorhanden -->
<xsl:if <xsl:if
test="string-length(item[@name='invoice.exchangerate']/value) > test="string-length(item[@name='invoice.exchangerate']/value) >0">
0">
<ExchangeRate> <ExchangeRate>
<xsl:value-of <xsl:value-of
select="item[@name='invoice.exchangerate']/value" select="item[@name='invoice.exchangerate']/value" />
/>
</ExchangeRate> </ExchangeRate>
</xsl:if> </xsl:if>
</Amount> </Amount>
@ -140,30 +132,25 @@
<CollectionInvoice>false</CollectionInvoice> <CollectionInvoice>false</CollectionInvoice>
<xsl:if test="string-length(item[@name='invoice.period']/value) > 0"> <xsl:if test="string-length(item[@name='invoice.period']/value) > 0">
<BookingPeriod> <BookingPeriod>
<xsl:value-of select="item[@name='invoice.period']/value" <xsl:value-of select="item[@name='invoice.period']/value" />
/>
</BookingPeriod> </BookingPeriod>
</xsl:if> </xsl:if>
<Booked>false</Booked> <Booked>false</Booked>
<InvoiceDate> <InvoiceDate>
<xsl:value-of select="item[@name='invoice.date']/value" <xsl:value-of select="item[@name='invoice.date']/value" />
/>
</InvoiceDate> </InvoiceDate>
<InvoiceAddress type="CN"> <InvoiceAddress type="CN">
<Codes> <Codes>
<Code Type="cs"> <Code Type="cs">
<xsl:value-of select="item[@name='cdtr.number']/value" <xsl:value-of select="item[@name='cdtr.number']/value" />
/>
</Code> </Code>
</Codes> </Codes>
</InvoiceAddress> </InvoiceAddress>
<References> <References>
<Reference type="cs"> <Reference type="cs">
<xsl:value-of select="item[@name='invoice.number']/value" <xsl:value-of select="item[@name='invoice.number']/value" />
/>
</Reference> </Reference>
</References> </References>
@ -177,8 +164,7 @@
select="./value/item[@name='md5checksum']/value" /></xsl:attribute> select="./value/item[@name='md5checksum']/value" /></xsl:attribute>
<xsl:attribute name="version">1</xsl:attribute> <xsl:attribute name="version">1</xsl:attribute>
<Filename> <Filename>
<xsl:value-of select="lower-case(./@name)" <xsl:value-of select="lower-case(./@name)" />
/>
</Filename> </Filename>
<Description>Imixs-Office-Workflow</Description> <Description>Imixs-Office-Workflow</Description>
<Content> <Content>
@ -213,8 +199,7 @@
</Codes> </Codes>
</Currency> </Currency>
<Value> <Value>
<xsl:value-of select="./item[@name='amount']/value" <xsl:value-of select="./item[@name='amount']/value" />
/>
</Value> </Value>
</Amount> </Amount>
</NetAmount> </NetAmount>
@ -222,8 +207,7 @@
<VAT> <VAT>
<Codes> <Codes>
<Code Type="cs"> <Code Type="cs">
<xsl:value-of select="./item[@name='tax']/value" <xsl:value-of select="./item[@name='tax']/value" />
/>
</Code> </Code>
</Codes> </Codes>
</VAT> </VAT>
@ -232,8 +216,7 @@
<ActivityType> <ActivityType>
<Codes> <Codes>
<Code Type="cs"> <Code Type="cs">
<xsl:value-of select="./item[@name='category']/value" <xsl:value-of select="./item[@name='category']/value" />
/>
</Code> </Code>
</Codes> </Codes>
</ActivityType> </ActivityType>

File diff suppressed because it is too large Load diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 352 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 198 KiB