neuer Sepa Workflow (manual)
This commit is contained in:
parent
f9bb7c69dc
commit
510493e849
5 changed files with 143 additions and 48 deletions
|
|
@ -26,6 +26,13 @@ pos.type=Leistungsart
|
||||||
pos.net=Netto
|
pos.net=Netto
|
||||||
pos.gross=Brutto
|
pos.gross=Brutto
|
||||||
|
|
||||||
|
|
||||||
|
creditor_name=Kreditor
|
||||||
|
invoicenumber=Rechnungsnummer
|
||||||
|
invoicedate=Rechnungsdatum
|
||||||
|
amount=Betrag
|
||||||
|
|
||||||
|
|
||||||
ERROR_CDTR_INVALID=Die Kreditorennummer ist nicht gültig
|
ERROR_CDTR_INVALID=Die Kreditorennummer ist nicht gültig
|
||||||
ERROR_BOOKING_PERIOD=Eingabefehler - Bitte geben Sie eine gültige Buchungsperiode ein! Prüfen Sie auch die Spalte BP in der Positionstabelle.
|
ERROR_BOOKING_PERIOD=Eingabefehler - Bitte geben Sie eine gültige Buchungsperiode ein! Prüfen Sie auch die Spalte BP in der Positionstabelle.
|
||||||
ERROR_MAIN_BOOKING_PERIOD=Eingabefehler - Bitte überprüfen Sie die Hauptbuchungsperiode mit den Buchungsperioden der einzelnen Positionen.
|
ERROR_MAIN_BOOKING_PERIOD=Eingabefehler - Bitte überprüfen Sie die Hauptbuchungsperiode mit den Buchungsperioden der einzelnen Positionen.
|
||||||
|
|
|
||||||
|
|
@ -26,6 +26,11 @@ pos.type=Type
|
||||||
pos.net=Net
|
pos.net=Net
|
||||||
pos.gross=Gross
|
pos.gross=Gross
|
||||||
|
|
||||||
|
creditor_name=Creditor
|
||||||
|
invoicenumber=Invoice No.
|
||||||
|
invoicedate=Invoice Date
|
||||||
|
amount=Amount
|
||||||
|
|
||||||
ERROR_CDTR_INVALID=The creditor number is not valid
|
ERROR_CDTR_INVALID=The creditor number is not valid
|
||||||
ERROR_BOOKING_PERIOD=Input error - Please enter a valid booking period! Also check the BP column in the position table.
|
ERROR_BOOKING_PERIOD=Input error - Please enter a valid booking period! Also check the BP column in the position table.
|
||||||
ERROR_MAIN_BOOKING_PERIOD=Input errors - Please check the main booking period with the booking periods of each item.
|
ERROR_MAIN_BOOKING_PERIOD=Input errors - Please check the main booking period with the booking periods of each item.
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,87 @@
|
||||||
|
<ui:composition xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://java.sun.com/jsf/facelets"
|
||||||
|
xmlns:f="http://java.sun.com/jsf/core" xmlns:c="http://java.sun.com/jsp/jstl/core"
|
||||||
|
xmlns:h="http://java.sun.com/jsf/html" xmlns:i="http://java.sun.com/jsf/composite/imixs"
|
||||||
|
xmlns:marty="http://java.sun.com/jsf/composite/marty">
|
||||||
|
|
||||||
|
|
||||||
|
<div class="imixs-form-section-2">
|
||||||
|
<dl>
|
||||||
|
<dt>IBAN</dt>
|
||||||
|
<dd>
|
||||||
|
<h:outputText value="#{workitem.item['dbtr.iban']}" />
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
|
||||||
|
<dl>
|
||||||
|
<dt>BIC</dt>
|
||||||
|
<dd>
|
||||||
|
<h:outputText value="#{workitem.item['dbtr.bic']}" />
|
||||||
|
</dd>
|
||||||
|
|
||||||
|
</dl>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="imixs-form-section">
|
||||||
|
<h3>Invoices</h3>
|
||||||
|
<table class="">
|
||||||
|
<tr>
|
||||||
|
<th style="">#{custom.creditor_name}</th>
|
||||||
|
<th style="">#{custom.invoicenumber}</th>
|
||||||
|
<th style="">#{custom.invoicedate}</th>
|
||||||
|
<th style="">#{custom.amount}</th>
|
||||||
|
<th style=""></th>
|
||||||
|
<th style="">IBAN</th>
|
||||||
|
<th style="">BIC</th>
|
||||||
|
</tr>
|
||||||
|
<c:forEach items="#{workitem.itemList['$workitemref']}" var="id">
|
||||||
|
<!-- load inovice data by documentController: #{documentController.load(id)} -->
|
||||||
|
<ui:param name="invoice" value="#{documentController.getDocument()}"></ui:param>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<h:link outcome="/pages/workitems/workitem">
|
||||||
|
#{invoice.item['cdtr.name.cargosoft']}
|
||||||
|
<f:param name="id" value="#{invoice.item['$uniqueid']}" />
|
||||||
|
</h:link>
|
||||||
|
</td>
|
||||||
|
|
||||||
|
|
||||||
|
<td>#{invoice.item['invoice.number']}</td>
|
||||||
|
<td>
|
||||||
|
<h:outputText value="#{invoice.item['invoice.date']}">
|
||||||
|
<f:convertDateTime pattern="#{message.datePatternShort}" timeZone="#{message.timeZone}" />
|
||||||
|
</h:outputText>
|
||||||
|
</td>
|
||||||
|
<td style="text-align: right;">
|
||||||
|
<h:outputText value="#{invoice.item['invoice.total']}">
|
||||||
|
<f:convertNumber minFractionDigits="2" locale="de" />
|
||||||
|
</h:outputText>
|
||||||
|
</td>
|
||||||
|
|
||||||
|
<td>#{invoice.item['invoice.currency']}</td>
|
||||||
|
<td>#{invoice.item ['cdtr.iban']}</td>
|
||||||
|
<td>#{invoice.item['cdtr.bic']}</td>
|
||||||
|
</tr>
|
||||||
|
</c:forEach>
|
||||||
|
|
||||||
|
<tr style="border-top: 1px solid #ccc;">
|
||||||
|
<td />
|
||||||
|
<td />
|
||||||
|
<td><strong>Summary</strong></td>
|
||||||
|
<td style="text-align: right;"><strong>
|
||||||
|
<h:outputText
|
||||||
|
value="#{sepaController.calculateSum(workitem.itemList['$workitemref'], '_amount_brutto')}">
|
||||||
|
<f:convertNumber minFractionDigits="2" locale="de" />
|
||||||
|
</h:outputText>
|
||||||
|
</strong></td>
|
||||||
|
<td><strong>#{invoice.item['_currency']}</strong></td>
|
||||||
|
<td />
|
||||||
|
<td />
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</ui:composition>
|
||||||
|
|
@ -1,5 +1,7 @@
|
||||||
package com.alexanderlogistics;
|
package com.alexanderlogistics;
|
||||||
|
|
||||||
|
import static org.junit.Assert.fail;
|
||||||
|
|
||||||
import java.text.DateFormat;
|
import java.text.DateFormat;
|
||||||
import java.text.DecimalFormat;
|
import java.text.DecimalFormat;
|
||||||
import java.text.ParseException;
|
import java.text.ParseException;
|
||||||
|
|
@ -44,11 +46,15 @@ public class TestFormat {
|
||||||
logger.info(decimalFormat.format(total));
|
logger.info(decimalFormat.format(total));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* 52329,42;"H";"EUR";0,000000;0,00;"";"8017";"14174";"";"0702";"191674";"";"";"R EX-GCA-2212-004";0;"";"";"";0;"";"";"";"Faelligkeit";"20230408";"";"";"";"";"";"";"Zahlungsbedingung";"08";"";"";"";"";"90";"";"";"DE815871706";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"SO";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";0;"01012023";""
|
* 52329,42;"H";"EUR";0,000000;0,00;"";"8017";"14174";"";"0702";"191674";"";
|
||||||
|
* "";"R EX-GCA-2212-004";0;"";"";"";0;"";"";"";"Faelligkeit";"20230408";"";"";
|
||||||
|
* "";"";"";"";"Zahlungsbedingung";"08";"";"";"";"";"90";"";"";"DE815871706";"";
|
||||||
|
* "";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";""
|
||||||
|
* ;"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";
|
||||||
|
* "";"";"";"SO";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";0;"01012023"
|
||||||
|
* ;""
|
||||||
|
*
|
||||||
*/
|
*/
|
||||||
@Test
|
@Test
|
||||||
public void testDatum() {
|
public void testDatum() {
|
||||||
|
|
@ -58,8 +64,6 @@ public class TestFormat {
|
||||||
Date dateResult = dateFormatter.parse(testDate);
|
Date dateResult = dateFormatter.parse(testDate);
|
||||||
System.out.println("Result1 Date=" + dateResult);
|
System.out.println("Result1 Date=" + dateResult);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
testDate = DatevImportAdapter.csvVal("20230408");
|
testDate = DatevImportAdapter.csvVal("20230408");
|
||||||
System.out.println("Result2 Date=" + dateResult);
|
System.out.println("Result2 Date=" + dateResult);
|
||||||
|
|
||||||
|
|
@ -69,7 +73,6 @@ public class TestFormat {
|
||||||
Assert.fail();
|
Assert.fail();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|
@ -82,7 +85,6 @@ public class TestFormat {
|
||||||
logger.info(rateFormat.format(kurs));
|
logger.info(rateFormat.format(kurs));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testRegex() {
|
public void testRegex() {
|
||||||
String text = "RG-EX-SAL-2211-036";
|
String text = "RG-EX-SAL-2211-036";
|
||||||
|
|
@ -93,8 +95,8 @@ public class TestFormat {
|
||||||
p = Pattern.compile(expr);
|
p = Pattern.compile(expr);
|
||||||
|
|
||||||
Matcher m = p.matcher(text);
|
Matcher m = p.matcher(text);
|
||||||
if (m.find()) {
|
if (!m.find()) {
|
||||||
System.out.println("Ich bin ein Held");
|
fail();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -108,10 +110,8 @@ public class TestFormat {
|
||||||
p = Pattern.compile(expr);
|
p = Pattern.compile(expr);
|
||||||
|
|
||||||
Matcher m = p.matcher(text);
|
Matcher m = p.matcher(text);
|
||||||
if (m.find()) {
|
if (!m.find()) {
|
||||||
System.out.println("Ich bin ein Held");
|
fail();
|
||||||
} else {
|
|
||||||
System.out.println("Ich bin Kein Held");
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -130,5 +130,4 @@ public class TestFormat {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -172,7 +172,7 @@
|
||||||
<bpmn2:task id="Task_7" imixs:processid="1000" name="Payment Run Open">
|
<bpmn2:task id="Task_7" imixs:processid="1000" name="Payment Run Open">
|
||||||
<bpmn2:extensionElements>
|
<bpmn2:extensionElements>
|
||||||
<imixs:item name="txtworkflowsummary" type="xs:string">
|
<imixs:item name="txtworkflowsummary" type="xs:string">
|
||||||
<imixs:value><![CDATA[SEPA-Lauf <itemvalue format="EEEE, d. MMMM yyyy" locale="de_DE">$created</itemvalue> (<itemvalue>dbtr.name</itemvalue>)]]></imixs:value>
|
<imixs:value><![CDATA[SEPA <itemvalue format="dd.MM.yyyy" locale="de_DE">$created</itemvalue> (<itemvalue>dbtr.name</itemvalue>)]]></imixs:value>
|
||||||
</imixs:item>
|
</imixs:item>
|
||||||
<imixs:item name="keyupdateacl" type="xs:boolean">
|
<imixs:item name="keyupdateacl" type="xs:boolean">
|
||||||
<imixs:value>true</imixs:value>
|
<imixs:value>true</imixs:value>
|
||||||
|
|
@ -193,7 +193,7 @@
|
||||||
<imixs:item name="txttype" type="xs:string">
|
<imixs:item name="txttype" type="xs:string">
|
||||||
<imixs:value><![CDATA[workitem]]></imixs:value>
|
<imixs:value><![CDATA[workitem]]></imixs:value>
|
||||||
</imixs:item>
|
</imixs:item>
|
||||||
<imixs:item name="txtworkflowabstract" type="CDATA">
|
<imixs:item name="txtworkflowabstract" type="xs:string">
|
||||||
<imixs:value><![CDATA[<strong>SEPA-Lauf</strong></br>
|
<imixs:value><![CDATA[<strong>SEPA-Lauf</strong></br>
|
||||||
<strong>Corporate: </strong><itemvalue>dbtr.name</itemvalue></br>
|
<strong>Corporate: </strong><itemvalue>dbtr.name</itemvalue></br>
|
||||||
<strong>Erstellt am: </strong><itemvalue format="EEE, MMM d, yyyy" locale="de_DE">$created</itemvalue></br>
|
<strong>Erstellt am: </strong><itemvalue format="EEE, MMM d, yyyy" locale="de_DE">$created</itemvalue></br>
|
||||||
|
|
@ -756,9 +756,6 @@ The SEPA Export process runs on a scheduled basis (e.g. once a day)</bpmn2:text>
|
||||||
</bpmndi:BPMNShape>
|
</bpmndi:BPMNShape>
|
||||||
<bpmndi:BPMNShape bpmnElement="Task_7" id="BPMNShape_Task_7">
|
<bpmndi:BPMNShape bpmnElement="Task_7" id="BPMNShape_Task_7">
|
||||||
<dc:Bounds height="50.0" width="110.0" x="560.0" y="349.0"/>
|
<dc:Bounds height="50.0" width="110.0" x="560.0" y="349.0"/>
|
||||||
<bpmndi:BPMNLabel id="BPMNLabel_33" labelStyle="BPMNLabelStyle_1">
|
|
||||||
<dc:Bounds height="14.0" width="103.0" x="563.0" y="367.0"/>
|
|
||||||
</bpmndi:BPMNLabel>
|
|
||||||
</bpmndi:BPMNShape>
|
</bpmndi:BPMNShape>
|
||||||
<bpmndi:BPMNShape bpmnElement="EndEvent_3" id="BPMNShape_EndEvent_2">
|
<bpmndi:BPMNShape bpmnElement="EndEvent_3" id="BPMNShape_EndEvent_2">
|
||||||
<dc:Bounds height="36.0" width="36.0" x="1410.0" y="356.0"/>
|
<dc:Bounds height="36.0" width="36.0" x="1410.0" y="356.0"/>
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue