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 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
* @return
*/
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
Pattern pattern = Pattern.compile(REGEX_PATTERN);
Matcher matcher = pattern.matcher(workitem.getModelVersion());

View file

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