diff --git a/j-lawyer-client/lib/j-lawyer-invoicing/j-lawyer-invoicing.jar b/j-lawyer-client/lib/j-lawyer-invoicing/j-lawyer-invoicing.jar
index a3a0fcbee..758c6b618 100644
Binary files a/j-lawyer-client/lib/j-lawyer-invoicing/j-lawyer-invoicing.jar and b/j-lawyer-client/lib/j-lawyer-invoicing/j-lawyer-invoicing.jar differ
diff --git a/j-lawyer-client/src/com/jdimension/jlawyer/client/editors/files/InvoiceDialog.form b/j-lawyer-client/src/com/jdimension/jlawyer/client/editors/files/InvoiceDialog.form
index 2e58f380c..1a4e2179e 100644
--- a/j-lawyer-client/src/com/jdimension/jlawyer/client/editors/files/InvoiceDialog.form
+++ b/j-lawyer-client/src/com/jdimension/jlawyer/client/editors/files/InvoiceDialog.form
@@ -125,62 +125,49 @@
+
-
+
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -191,7 +178,15 @@
-
+
+
+
+
+
+
+
+
+
@@ -199,7 +194,7 @@
-
+
@@ -209,7 +204,7 @@
-
+
@@ -232,18 +227,7 @@
-
-
-
-
-
-
-
-
-
-
-
-
+
@@ -281,17 +265,6 @@
-
-
-
-
-
-
-
-
-
-
-
@@ -327,17 +300,6 @@
-
-
-
-
-
-
-
-
-
-
-
@@ -348,17 +310,6 @@
-
-
-
-
-
-
-
-
-
-
-
@@ -411,22 +362,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -467,8 +402,6 @@
-
-
@@ -663,27 +596,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -712,6 +624,40 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1019,6 +965,227 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/j-lawyer-client/src/com/jdimension/jlawyer/client/editors/files/InvoiceDialog.java b/j-lawyer-client/src/com/jdimension/jlawyer/client/editors/files/InvoiceDialog.java
index 914b2c244..9b1514d20 100644
--- a/j-lawyer-client/src/com/jdimension/jlawyer/client/editors/files/InvoiceDialog.java
+++ b/j-lawyer-client/src/com/jdimension/jlawyer/client/editors/files/InvoiceDialog.java
@@ -664,6 +664,7 @@ You should also get your employer (if you work as a programmer) or school,
package com.jdimension.jlawyer.client.editors.files;
import com.jdimension.jlawyer.client.components.MultiCalDialog;
+import com.jdimension.jlawyer.client.configuration.UserListCellRenderer;
import com.jdimension.jlawyer.client.editors.EditorsRegistry;
import com.jdimension.jlawyer.client.events.Event;
import com.jdimension.jlawyer.client.events.EventBroker;
@@ -683,6 +684,7 @@ You should also get your employer (if you work as a programmer) or school,
import com.jdimension.jlawyer.client.utils.TableUtils;
import com.jdimension.jlawyer.persistence.AddressBean;
import com.jdimension.jlawyer.persistence.AppOptionGroupBean;
+import com.jdimension.jlawyer.persistence.AppUserBean;
import com.jdimension.jlawyer.persistence.ArchiveFileBean;
import com.jdimension.jlawyer.persistence.ArchiveFileDocumentsBean;
import com.jdimension.jlawyer.persistence.CaseAccountEntry;
@@ -697,6 +699,10 @@ You should also get your employer (if you work as a programmer) or school,
import java.awt.Color;
import java.awt.Component;
import java.awt.event.ActionEvent;
+import java.io.BufferedWriter;
+import java.io.IOException;
+import java.io.StringWriter;
+import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
@@ -724,6 +730,14 @@ You should also get your employer (if you work as a programmer) or school,
import org.apache.log4j.Logger;
import org.jlawyer.plugins.calculation.Cell;
import org.jlawyer.plugins.calculation.StyledCalculationTable;
+import org.mustangproject.BankDetails;
+import org.mustangproject.Contact;
+import org.mustangproject.Item;
+import org.mustangproject.Product;
+import org.mustangproject.TradeParty;
+import org.mustangproject.ZUGFeRD.IZUGFeRDPaymentTerms;
+import org.mustangproject.ZUGFeRD.Profiles;
+import org.mustangproject.ZUGFeRD.ZUGFeRD2PullProvider;
import themes.colors.DefaultColorTheme;
/**
@@ -771,7 +785,6 @@ public InvoiceDialog(ArchiveFilePanel caseView, ArchiveFileBean caseDto, java.aw
this.jScrollPane1.getVerticalScrollBar().setUnitIncrement(16);
this.jScrollPane2.getVerticalScrollBar().setUnitIncrement(16);
- this.lblInvoiceDocument.setForeground(DefaultColorTheme.COLOR_DARK_GREY);
this.lblHeader.setBackground(DefaultColorTheme.COLOR_DARK_GREY);
this.textSearchPositionTemplate.putClientProperty("JTextField.showClearButton", true);
@@ -947,6 +960,18 @@ public Component getTableCellRendererComponent(JTable table, Object value, boole
this.textSearchPositionTemplateKeyReleased(null);
this.lstPositionTemplates.setSelectedValue(null, false);
+
+ List allUsers = UserSettings.getInstance().getLoginEnabledUsers();
+ List l2 = new ArrayList<>();
+ l2.add("");
+ for (AppUserBean aub: allUsers) {
+ l2.add(aub.getPrincipalId());
+ }
+ String[] userItems = l2.toArray(new String[0]);
+ StringUtils.sortIgnoreCase(userItems);
+ OptionsComboBoxModel userModel = new OptionsComboBoxModel(userItems);
+ this.cmbInvoiceSender.setModel(userModel);
+ this.cmbInvoiceSender.setRenderer(new UserListCellRenderer());
EventBroker b = EventBroker.getInstance();
b.subscribeConsumer(this, Event.TYPE_INVOICEPOSITIONADDED);
@@ -968,16 +993,18 @@ public final void setEntry(Invoice invoice) {
this.cmdCalculation.setEnabled(invoice != null && invoice.getId() != null);
this.cmdTimesheetPositions.setEnabled(invoice != null && invoice.getId() != null);
this.cmdApplyPositionTemplate.setEnabled(invoice != null && invoice.getId() != null);
- this.cmdCreateInvoiceDocument.setEnabled(invoice != null && invoice.getId() != null);
- this.cmdUploadInvoiceDocument.setEnabled(invoice != null && invoice.getId() != null);
+ this.cmdCreateInvoiceDocumentClassic.setEnabled(invoice != null && invoice.getId() != null);
+ this.cmdUploadInvoiceDocumentClassic.setEnabled(invoice != null && invoice.getId() != null);
this.textSearchPositionTemplate.setEnabled(invoice != null && invoice.getId() != null);
this.lstPositionTemplates.setEnabled(invoice != null && invoice.getId() != null);
this.cmdSave.setEnabled(invoice != null && invoice.getId() != null);
+ this.cmbInvoiceSender.setSelectedItem(UserSettings.getInstance().getCurrentUser().getPrincipalId());
+
this.currentEntry = invoice;
- this.cmdNavigateToDocument.setEnabled(false);
- this.cmdViewDocument.setEnabled(false);
+ this.cmdNavigateToDocumentClassic.setEnabled(false);
+ this.cmdViewDocumentClassic.setEnabled(false);
this.clearPositionsPanel();
@@ -1019,14 +1046,22 @@ public final void setEntry(Invoice invoice) {
if (invoice.getInvoiceType() != null) {
this.cmbInvoiceType.setSelectedItem(invoice.getInvoiceType());
}
+
+ if (invoice.getSender() != null) {
+ if (!ComponentUtils.containsItem(cmbInvoiceSender, invoice.getSender())) {
+ this.cmbInvoiceSender.addItem(invoice.getSender());
+ }
+ this.cmbInvoiceSender.setSelectedItem(invoice.getSender());
+ }
+
for (InvoicePool pl : this.invoicePools.values()) {
if (pl.getId().equals(invoice.getLastPoolId())) {
this.cmbInvoicePool.setSelectedItem(pl.getDisplayName());
}
}
if (invoice.getInvoiceDocument() != null) {
- this.cmdNavigateToDocument.setEnabled(true);
- this.cmdViewDocument.setEnabled(true);
+ this.cmdNavigateToDocumentClassic.setEnabled(true);
+ this.cmdViewDocumentClassic.setEnabled(true);
}
this.recipientAddress = invoice.getContact();
if (invoice.getContact() != null) {
@@ -1104,25 +1139,20 @@ private void initComponents() {
dtDue = new javax.swing.JTextField();
dtTo = new javax.swing.JTextField();
jLabel3 = new javax.swing.JLabel();
- cmdNavigateToDocument = new javax.swing.JButton();
cmbCurrency = new javax.swing.JComboBox<>();
jLabel6 = new javax.swing.JLabel();
cmdDatePeriodTo = new javax.swing.JButton();
- cmdCreateInvoiceDocument = new javax.swing.JButton();
cmdDateDue = new javax.swing.JButton();
- cmdUploadInvoiceDocument = new javax.swing.JButton();
jLabel4 = new javax.swing.JLabel();
jLabel7 = new javax.swing.JLabel();
dtCreated = new javax.swing.JTextField();
dtFrom = new javax.swing.JTextField();
txtName = new javax.swing.JTextField();
jLabel5 = new javax.swing.JLabel();
- cmbTableHeadersLanguage = new javax.swing.JComboBox<>();
jScrollPane1 = new javax.swing.JScrollPane();
taDescription = new javax.swing.JTextArea();
cmdDateCreated = new javax.swing.JButton();
jLabel1 = new javax.swing.JLabel();
- jSeparator1 = new javax.swing.JSeparator();
lblHeader = new javax.swing.JPanel();
cmbStatus = new javax.swing.JComboBox<>();
cmbInvoicePool = new javax.swing.JComboBox<>();
@@ -1133,11 +1163,12 @@ private void initComponents() {
cmbInvoiceType = new javax.swing.JComboBox<>();
cmdGiroCode = new javax.swing.JButton();
cmdDatePeriodFrom = new javax.swing.JButton();
- cmdViewDocument = new javax.swing.JButton();
- lblInvoiceDocument = new javax.swing.JLabel();
lblRecipient = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
cmdSearchRecipient = new javax.swing.JButton();
+ cmbInvoiceSender = new javax.swing.JComboBox<>();
+ jLabel17 = new javax.swing.JLabel();
+ jLabel18 = new javax.swing.JLabel();
splitMain = new javax.swing.JSplitPane();
jPanel2 = new javax.swing.JPanel();
cmdAddPosition = new javax.swing.JButton();
@@ -1157,6 +1188,19 @@ private void initComponents() {
chkTaxes = new javax.swing.JCheckBox();
jScrollPane2 = new javax.swing.JScrollPane();
pnlInvoicePositions = new javax.swing.JPanel();
+ jPanel1 = new javax.swing.JPanel();
+ jSeparator1 = new javax.swing.JSeparator();
+ cmdCreateInvoiceDocumentClassic = new javax.swing.JButton();
+ cmbTableHeadersLanguage = new javax.swing.JComboBox<>();
+ cmdUploadInvoiceDocumentClassic = new javax.swing.JButton();
+ cmdViewDocumentClassic = new javax.swing.JButton();
+ cmdNavigateToDocumentClassic = new javax.swing.JButton();
+ jLabel15 = new javax.swing.JLabel();
+ cmdViewDocumentXml = new javax.swing.JButton();
+ cmdNavigateToDocumentXml = new javax.swing.JButton();
+ jLabel16 = new javax.swing.JLabel();
+ cmdCreateInvoiceDocumentXml = new javax.swing.JButton();
+ Hochladen = new javax.swing.JButton();
jPanel3 = new javax.swing.JPanel();
jScrollPane4 = new javax.swing.JScrollPane();
tblPayments = new javax.swing.JTable();
@@ -1202,14 +1246,6 @@ public void actionPerformed(java.awt.event.ActionEvent evt) {
jLabel3.setFont(jLabel3.getFont());
jLabel3.setText("Zeitraum:");
- cmdNavigateToDocument.setIcon(new javax.swing.ImageIcon(getClass().getResource("/icons/mail_forward.png"))); // NOI18N
- cmdNavigateToDocument.setToolTipText("zum Dokument wechseln");
- cmdNavigateToDocument.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- cmdNavigateToDocumentActionPerformed(evt);
- }
- });
-
cmbCurrency.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
jLabel6.setFont(jLabel6.getFont());
@@ -1222,14 +1258,6 @@ public void actionPerformed(java.awt.event.ActionEvent evt) {
}
});
- cmdCreateInvoiceDocument.setIcon(new javax.swing.ImageIcon(getClass().getResource("/icons/editcopy.png"))); // NOI18N
- cmdCreateInvoiceDocument.setToolTipText("Dokument erzeugen");
- cmdCreateInvoiceDocument.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- cmdCreateInvoiceDocumentActionPerformed(evt);
- }
- });
-
cmdDateDue.setIcon(new javax.swing.ImageIcon(getClass().getResource("/icons/schedule.png"))); // NOI18N
cmdDateDue.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
@@ -1237,14 +1265,6 @@ public void actionPerformed(java.awt.event.ActionEvent evt) {
}
});
- cmdUploadInvoiceDocument.setIcon(new javax.swing.ImageIcon(getClass().getResource("/icons16/material/baseline_file_upload_black_48dp.png"))); // NOI18N
- cmdUploadInvoiceDocument.setToolTipText("Dokument zum Beleg laden");
- cmdUploadInvoiceDocument.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- cmdUploadInvoiceDocumentActionPerformed(evt);
- }
- });
-
jLabel4.setFont(jLabel4.getFont());
jLabel4.setText("-");
@@ -1263,9 +1283,6 @@ public void actionPerformed(java.awt.event.ActionEvent evt) {
jLabel5.setFont(jLabel5.getFont());
jLabel5.setText("fällig:");
- cmbTableHeadersLanguage.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "DE", "EN", "FR", "NL" }));
- cmbTableHeadersLanguage.setToolTipText("Sprache der Tabellenspaltenbezeichner");
-
taDescription.setColumns(20);
taDescription.setFont(taDescription.getFont());
taDescription.setRows(5);
@@ -1373,17 +1390,6 @@ public void actionPerformed(java.awt.event.ActionEvent evt) {
}
});
- cmdViewDocument.setIcon(new javax.swing.ImageIcon(getClass().getResource("/icons/find.png"))); // NOI18N
- cmdViewDocument.setToolTipText("Dokument anzeigen");
- cmdViewDocument.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- cmdViewDocumentActionPerformed(evt);
- }
- });
-
- lblInvoiceDocument.setFont(lblInvoiceDocument.getFont().deriveFont(lblInvoiceDocument.getFont().getStyle() | java.awt.Font.BOLD, lblInvoiceDocument.getFont().getSize()-2));
- lblInvoiceDocument.setText("Dokument zum Beleg:");
-
lblRecipient.setFont(lblRecipient.getFont());
lblRecipient.setIcon(new javax.swing.ImageIcon(getClass().getResource("/icons/warning.png"))); // NOI18N
lblRecipient.setText("Empfänger ...");
@@ -1397,6 +1403,15 @@ public void mousePressed(java.awt.event.MouseEvent evt) {
}
});
+ cmbInvoiceSender.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
+
+ jLabel17.setFont(jLabel17.getFont());
+ jLabel17.setText("Sender:");
+
+ jLabel18.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
+ jLabel18.setIcon(new javax.swing.ImageIcon(getClass().getResource("/icons/info.png"))); // NOI18N
+ jLabel18.setToolTipText("Anhand des Rechnungssenders bestimmen sich u.a. Absender und Zahlungsinformationen \nfür die elektronische Rechnung. \nBitte sicherstellen, dass diese Informationen aktuell sind (Administration - Nutzerverwaltung).");
+
javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout(jPanel4);
jPanel4.setLayout(jPanel4Layout);
jPanel4Layout.setHorizontalGroup(
@@ -1412,52 +1427,40 @@ public void mousePressed(java.awt.event.MouseEvent evt) {
.addComponent(jLabel5)
.addComponent(jLabel6)
.addComponent(jLabel3)
- .addComponent(jLabel7))
+ .addComponent(jLabel7)
+ .addComponent(jLabel17))
.addGap(21, 21, 21)
.addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(txtName)
- .addComponent(jScrollPane1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 709, Short.MAX_VALUE)
+ .addComponent(jScrollPane1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 718, Short.MAX_VALUE)
+ .addGroup(jPanel4Layout.createSequentialGroup()
+ .addComponent(dtCreated, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+ .addComponent(cmdDateCreated))
.addGroup(jPanel4Layout.createSequentialGroup()
- .addComponent(lblRecipient, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addComponent(dtFrom, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(cmdSearchRecipient))
+ .addComponent(cmdDatePeriodFrom)
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+ .addComponent(jLabel4)
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+ .addComponent(dtTo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+ .addComponent(cmdDatePeriodTo))
.addGroup(jPanel4Layout.createSequentialGroup()
+ .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
+ .addComponent(dtDue)
+ .addComponent(cmbCurrency, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+ .addComponent(cmdDateDue))
+ .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel4Layout.createSequentialGroup()
.addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(jPanel4Layout.createSequentialGroup()
- .addComponent(dtCreated, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(cmdDateCreated))
- .addGroup(jPanel4Layout.createSequentialGroup()
- .addComponent(dtFrom, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(cmdDatePeriodFrom)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(jLabel4)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(dtTo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(cmdDatePeriodTo))
- .addGroup(jPanel4Layout.createSequentialGroup()
- .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
- .addComponent(dtDue)
- .addComponent(cmbCurrency, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(cmdDateDue)))
- .addGap(0, 0, Short.MAX_VALUE))))
- .addComponent(jSeparator1)
- .addGroup(jPanel4Layout.createSequentialGroup()
- .addComponent(lblInvoiceDocument)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(cmdCreateInvoiceDocument)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(cmbTableHeadersLanguage, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
- .addComponent(cmdUploadInvoiceDocument)
- .addGap(18, 18, 18)
- .addComponent(cmdViewDocument)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(cmdNavigateToDocument)
- .addGap(0, 0, Short.MAX_VALUE)))
+ .addComponent(lblRecipient, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addComponent(cmbInvoiceSender, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+ .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
+ .addComponent(jLabel18, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addComponent(cmdSearchRecipient, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))))))
.addContainerGap())
);
jPanel4Layout.setVerticalGroup(
@@ -1465,13 +1468,19 @@ public void mousePressed(java.awt.event.MouseEvent evt) {
.addGroup(jPanel4Layout.createSequentialGroup()
.addContainerGap()
.addComponent(lblHeader, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addGap(18, 18, 18)
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+ .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
+ .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+ .addComponent(cmbInvoiceSender, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addComponent(jLabel17))
+ .addComponent(jLabel18, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
.addComponent(lblRecipient, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jLabel6, javax.swing.GroupLayout.Alignment.LEADING))
.addComponent(cmdSearchRecipient))
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(txtName, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel1))
@@ -1479,7 +1488,7 @@ public void mousePressed(java.awt.event.MouseEvent evt) {
.addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel2))
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(dtCreated, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel7)
@@ -1499,17 +1508,7 @@ public void mousePressed(java.awt.event.MouseEvent evt) {
.addComponent(cmdDateDue))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(cmbCurrency, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
- .addComponent(jSeparator1, javax.swing.GroupLayout.PREFERRED_SIZE, 2, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
- .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
- .addComponent(cmdCreateInvoiceDocument, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addComponent(cmdNavigateToDocument, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addComponent(cmdViewDocument, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addComponent(cmdUploadInvoiceDocument, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addComponent(cmbTableHeadersLanguage, javax.swing.GroupLayout.Alignment.TRAILING)
- .addComponent(lblInvoiceDocument, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addContainerGap(84, Short.MAX_VALUE))
+ .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
jTabbedPane1.addTab("Kopf", jPanel4);
@@ -1693,6 +1692,146 @@ public void actionPerformed(java.awt.event.ActionEvent evt) {
jTabbedPane1.addTab("Positionen", splitMain);
+ cmdCreateInvoiceDocumentClassic.setIcon(new javax.swing.ImageIcon(getClass().getResource("/icons/editcopy.png"))); // NOI18N
+ cmdCreateInvoiceDocumentClassic.setText("Erstellen");
+ cmdCreateInvoiceDocumentClassic.setToolTipText("Dokument erzeugen");
+ cmdCreateInvoiceDocumentClassic.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ cmdCreateInvoiceDocumentClassicActionPerformed(evt);
+ }
+ });
+
+ cmbTableHeadersLanguage.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "DE", "EN", "FR", "NL" }));
+ cmbTableHeadersLanguage.setToolTipText("Sprache der Tabellenspaltenbezeichner");
+
+ cmdUploadInvoiceDocumentClassic.setIcon(new javax.swing.ImageIcon(getClass().getResource("/icons16/material/baseline_file_upload_black_48dp.png"))); // NOI18N
+ cmdUploadInvoiceDocumentClassic.setText("Hochladen");
+ cmdUploadInvoiceDocumentClassic.setToolTipText("Dokument zum Beleg laden");
+ cmdUploadInvoiceDocumentClassic.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ cmdUploadInvoiceDocumentClassicActionPerformed(evt);
+ }
+ });
+
+ cmdViewDocumentClassic.setIcon(new javax.swing.ImageIcon(getClass().getResource("/icons/find.png"))); // NOI18N
+ cmdViewDocumentClassic.setToolTipText("Dokument anzeigen");
+ cmdViewDocumentClassic.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ cmdViewDocumentClassicActionPerformed(evt);
+ }
+ });
+
+ cmdNavigateToDocumentClassic.setIcon(new javax.swing.ImageIcon(getClass().getResource("/icons/mail_forward.png"))); // NOI18N
+ cmdNavigateToDocumentClassic.setToolTipText("zum Dokument wechseln");
+ cmdNavigateToDocumentClassic.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ cmdNavigateToDocumentClassicActionPerformed(evt);
+ }
+ });
+
+ jLabel15.setFont(jLabel15.getFont());
+ jLabel15.setText("Rechnungsdokument");
+
+ cmdViewDocumentXml.setIcon(new javax.swing.ImageIcon(getClass().getResource("/icons/find.png"))); // NOI18N
+ cmdViewDocumentXml.setToolTipText("Dokument anzeigen");
+ cmdViewDocumentXml.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ cmdViewDocumentXmlActionPerformed(evt);
+ }
+ });
+
+ cmdNavigateToDocumentXml.setIcon(new javax.swing.ImageIcon(getClass().getResource("/icons/mail_forward.png"))); // NOI18N
+ cmdNavigateToDocumentXml.setToolTipText("zum Dokument wechseln");
+ cmdNavigateToDocumentXml.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ cmdNavigateToDocumentXmlActionPerformed(evt);
+ }
+ });
+
+ jLabel16.setText("elektronische Rechnung");
+
+ cmdCreateInvoiceDocumentXml.setIcon(new javax.swing.ImageIcon(getClass().getResource("/icons/editcopy.png"))); // NOI18N
+ cmdCreateInvoiceDocumentXml.setText("Erstellen");
+ cmdCreateInvoiceDocumentXml.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ cmdCreateInvoiceDocumentXmlActionPerformed(evt);
+ }
+ });
+
+ Hochladen.setIcon(new javax.swing.ImageIcon(getClass().getResource("/icons16/material/baseline_file_upload_black_48dp.png"))); // NOI18N
+ Hochladen.setText("Hochladen");
+
+ javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
+ jPanel1.setLayout(jPanel1Layout);
+ jPanel1Layout.setHorizontalGroup(
+ jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(jPanel1Layout.createSequentialGroup()
+ .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(jPanel1Layout.createSequentialGroup()
+ .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(jPanel1Layout.createSequentialGroup()
+ .addContainerGap()
+ .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(jPanel1Layout.createSequentialGroup()
+ .addComponent(cmdViewDocumentClassic)
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+ .addComponent(cmdNavigateToDocumentClassic))
+ .addGroup(jPanel1Layout.createSequentialGroup()
+ .addComponent(cmdViewDocumentXml)
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+ .addComponent(cmdNavigateToDocumentXml)))
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+ .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addComponent(jLabel15)
+ .addComponent(jLabel16)))
+ .addGroup(jPanel1Layout.createSequentialGroup()
+ .addGap(24, 24, 24)
+ .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(jPanel1Layout.createSequentialGroup()
+ .addComponent(cmdCreateInvoiceDocumentClassic)
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+ .addComponent(cmbTableHeadersLanguage, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+ .addComponent(cmdUploadInvoiceDocumentClassic)
+ .addGroup(jPanel1Layout.createSequentialGroup()
+ .addGap(3, 3, 3)
+ .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addComponent(cmdCreateInvoiceDocumentXml)
+ .addComponent(Hochladen))))))
+ .addGap(0, 597, Short.MAX_VALUE))
+ .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
+ .addContainerGap()
+ .addComponent(jSeparator1)))
+ .addContainerGap())
+ );
+ jPanel1Layout.setVerticalGroup(
+ jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(jPanel1Layout.createSequentialGroup()
+ .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
+ .addComponent(cmdNavigateToDocumentClassic)
+ .addComponent(cmdViewDocumentClassic)
+ .addComponent(jLabel15, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+ .addGap(18, 18, 18)
+ .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+ .addComponent(cmdCreateInvoiceDocumentClassic, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addComponent(cmbTableHeadersLanguage))
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+ .addComponent(cmdUploadInvoiceDocumentClassic, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+ .addComponent(jSeparator1, javax.swing.GroupLayout.PREFERRED_SIZE, 4, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+ .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
+ .addComponent(cmdNavigateToDocumentXml, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addComponent(cmdViewDocumentXml, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addComponent(jLabel16, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+ .addComponent(cmdCreateInvoiceDocumentXml)
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+ .addComponent(Hochladen)
+ .addContainerGap())
+ );
+
+ jTabbedPane1.addTab("Dokumente", jPanel1);
+
tblPayments.setAutoCreateRowSorter(true);
tblPayments.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
@@ -1909,6 +2048,7 @@ private void fillCurrentEntry() throws Exception {
this.currentEntry.setSmallBusiness(this.chkTaxes.isSelected());
this.currentEntry.setContact(this.recipientAddress);
this.currentEntry.setCurrency(this.cmbCurrency.getSelectedItem().toString());
+ this.currentEntry.setSender(this.cmbInvoiceSender.getSelectedItem().toString());
}
private void save() {
@@ -2169,7 +2309,7 @@ private void formatFooterRow(StyledCalculationTable ct, int footerRowIndex) {
ct.getCellAt(footerRowIndex, 1).setItalic(true);
ct.getCellAt(footerRowIndex, 2).setItalic(true);
ct.getCellAt(footerRowIndex, 3).setItalic(true);
- ct.getCellAt(footerRowIndex,4).setItalic(true);
+ ct.getCellAt(footerRowIndex, 4).setItalic(true);
ct.getCellAt(footerRowIndex, 5).setItalic(true);
} else {
ct.getCellAt(footerRowIndex, 1).setItalic(false);
@@ -2264,7 +2404,7 @@ private void cmdRemoveAllPositionsActionPerformed(java.awt.event.ActionEvent evt
if (response == JOptionPane.NO_OPTION) {
return;
}
-
+
ClientSettings settings = ClientSettings.getInstance();
try {
JLawyerServiceLocator locator = JLawyerServiceLocator.getInstance(settings.getLookupProperties());
@@ -2291,7 +2431,7 @@ private void cmdSearchRecipientMousePressed(java.awt.event.MouseEvent evt) {//GE
this.popRecipients.show(this.cmdSearchRecipient, evt.getX(), evt.getY());
}//GEN-LAST:event_cmdSearchRecipientMousePressed
- private void cmdCreateInvoiceDocumentActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdCreateInvoiceDocumentActionPerformed
+ private void cmdCreateInvoiceDocumentClassicActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdCreateInvoiceDocumentClassicActionPerformed
if (this.caseView != null) {
if (this.currentEntry != null) {
this.save();
@@ -2306,11 +2446,11 @@ private void cmdCreateInvoiceDocumentActionPerformed(java.awt.event.ActionEvent
log.error("error getting timesheet positions table", ex);
JOptionPane.showMessageDialog(this, "Fehler beim Laden Zeiterfassungspositionen: " + ex.getMessage(), com.jdimension.jlawyer.client.utils.DesktopUtils.POPUP_TITLE_ERROR, JOptionPane.ERROR_MESSAGE);
}
-
- byte[] giroCode=null;
+
+ byte[] giroCode = null;
try {
JLawyerServiceLocator locator = JLawyerServiceLocator.getInstance(ClientSettings.getInstance().getLookupProperties());
- if(this.currentEntry!=null) {
+ if (this.currentEntry != null) {
giroCode = locator.lookupInvoiceServiceRemote().getGiroCode(this.currentEntry.getTotalGross(), this.currentEntry.getInvoiceNumber());
}
} catch (Exception ex) {
@@ -2328,13 +2468,13 @@ private void cmdCreateInvoiceDocumentActionPerformed(java.awt.event.ActionEvent
log.error("error loading invoice document", ex);
JOptionPane.showMessageDialog(this, "Fehler beim Laden des Belegdokuments: " + ex.getMessage(), com.jdimension.jlawyer.client.utils.DesktopUtils.POPUP_TITLE_ERROR, JOptionPane.ERROR_MESSAGE);
}
- this.cmdViewDocument.setEnabled(true);
- this.cmdNavigateToDocument.setEnabled(true);
+ this.cmdViewDocumentClassic.setEnabled(true);
+ this.cmdNavigateToDocumentClassic.setEnabled(true);
}
}
- }//GEN-LAST:event_cmdCreateInvoiceDocumentActionPerformed
+ }//GEN-LAST:event_cmdCreateInvoiceDocumentClassicActionPerformed
- private void cmdViewDocumentActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdViewDocumentActionPerformed
+ private void cmdViewDocumentClassicActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdViewDocumentClassicActionPerformed
if (this.currentEntry != null && this.currentEntry.getInvoiceDocument() != null) {
try {
@@ -2353,12 +2493,12 @@ private void cmdViewDocumentActionPerformed(java.awt.event.ActionEvent evt) {//G
JOptionPane.showMessageDialog(this, "Fehler beim Öffnen des Dokuments: " + ex.getMessage(), com.jdimension.jlawyer.client.utils.DesktopUtils.POPUP_TITLE_ERROR, JOptionPane.ERROR_MESSAGE);
}
}
- }//GEN-LAST:event_cmdViewDocumentActionPerformed
+ }//GEN-LAST:event_cmdViewDocumentClassicActionPerformed
- private void cmdNavigateToDocumentActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdNavigateToDocumentActionPerformed
+ private void cmdNavigateToDocumentClassicActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdNavigateToDocumentClassicActionPerformed
if (this.caseView != null && this.currentEntry != null && this.currentEntry.getInvoiceDocument() != null)
this.caseView.selectDocument(this.currentEntry.getInvoiceDocument().getName());
- }//GEN-LAST:event_cmdNavigateToDocumentActionPerformed
+ }//GEN-LAST:event_cmdNavigateToDocumentClassicActionPerformed
private void chkTaxesActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_chkTaxesActionPerformed
this.updateTotals(null);
@@ -2409,7 +2549,7 @@ private void textSearchPositionTemplateKeyReleased(java.awt.event.KeyEvent evt)
}
}//GEN-LAST:event_textSearchPositionTemplateKeyReleased
- private void cmdUploadInvoiceDocumentActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdUploadInvoiceDocumentActionPerformed
+ private void cmdUploadInvoiceDocumentClassicActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdUploadInvoiceDocumentClassicActionPerformed
if (this.caseView != null) {
if (this.currentEntry != null) {
this.save();
@@ -2424,11 +2564,11 @@ private void cmdUploadInvoiceDocumentActionPerformed(java.awt.event.ActionEvent
log.error("error loading invoice document", ex);
JOptionPane.showMessageDialog(this, "Fehler beim Laden des Belegdokuments: " + ex.getMessage(), com.jdimension.jlawyer.client.utils.DesktopUtils.POPUP_TITLE_ERROR, JOptionPane.ERROR_MESSAGE);
}
- this.cmdViewDocument.setEnabled(true);
- this.cmdNavigateToDocument.setEnabled(true);
+ this.cmdViewDocumentClassic.setEnabled(true);
+ this.cmdNavigateToDocumentClassic.setEnabled(true);
}
}
- }//GEN-LAST:event_cmdUploadInvoiceDocumentActionPerformed
+ }//GEN-LAST:event_cmdUploadInvoiceDocumentClassicActionPerformed
private void lstPositionTemplatesMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_lstPositionTemplatesMouseClicked
if (evt.getClickCount() == 2) {
@@ -2444,15 +2584,15 @@ private void cmdTimesheetPositionsActionPerformed(java.awt.event.ActionEvent evt
private void cmdGiroCodeActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdGiroCodeActionPerformed
try {
- float amount=0f;
- boolean validAmount=false;
+ float amount = 0f;
+ boolean validAmount = false;
try {
- amount=cf.parse(this.lblInvoiceTotal.getText()).floatValue();
- validAmount=true;
+ amount = cf.parse(this.lblInvoiceTotal.getText()).floatValue();
+ validAmount = true;
} catch (Throwable t) {
log.error("error parsing invoice total: " + this.lblInvoiceTotal.getText(), t);
}
- if(validAmount) {
+ if (validAmount) {
GirocodeDialog gcd = new GirocodeDialog(this, true, amount, this.lblInvoiceNumber.getText());
FrameUtils.centerDialog(gcd, this);
gcd.setVisible(true);
@@ -2466,6 +2606,151 @@ private void cmdGiroCodeActionPerformed(java.awt.event.ActionEvent evt) {//GEN-F
}//GEN-LAST:event_cmdGiroCodeActionPerformed
+ private void cmdViewDocumentXmlActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdViewDocumentXmlActionPerformed
+ // TODO add your handling code here:
+ }//GEN-LAST:event_cmdViewDocumentXmlActionPerformed
+
+ private void cmdNavigateToDocumentXmlActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdNavigateToDocumentXmlActionPerformed
+ // TODO add your handling code here:
+ }//GEN-LAST:event_cmdNavigateToDocumentXmlActionPerformed
+
+ private void cmdCreateInvoiceDocumentXmlActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdCreateInvoiceDocumentXmlActionPerformed
+ if (this.caseView != null) {
+ if (this.currentEntry != null) {
+ this.save();
+ }
+
+ if(this.currentEntry.getSender()==null) {
+ JOptionPane.showMessageDialog(this, "Es ist kein Rechnungssender definiert, E-Rechnung kann nicht erstellt werden.", com.jdimension.jlawyer.client.utils.DesktopUtils.POPUP_TITLE_WARNING, JOptionPane.WARNING_MESSAGE);
+ return;
+ }
+
+ AppUserBean senderUser=null;
+ try {
+ JLawyerServiceLocator locator = JLawyerServiceLocator.getInstance(ClientSettings.getInstance().getLookupProperties());
+ senderUser = locator.lookupSystemManagementRemote().getUser(currentEntry.getSender());
+ if(senderUser==null) {
+ JOptionPane.showMessageDialog(this, "Rechnungssender '" + currentEntry.getSender() + " kann nicht gefunden werden.", com.jdimension.jlawyer.client.utils.DesktopUtils.POPUP_TITLE_WARNING, JOptionPane.WARNING_MESSAGE);
+ return;
+ }
+ } catch (Exception ex) {
+ log.error("error getting invoice sender", ex);
+ JOptionPane.showMessageDialog(this, "Rechnungssender '" + currentEntry.getSender() + " kann nicht gefunden werden: " + ex.getMessage(), com.jdimension.jlawyer.client.utils.DesktopUtils.POPUP_TITLE_ERROR, JOptionPane.ERROR_MESSAGE);
+ return;
+ }
+
+ org.mustangproject.Invoice i = new org.mustangproject.Invoice();
+ //i.setReferenceNumber("991-01484-64")//leitweg-id
+ i.setNumber(this.currentEntry.getInvoiceNumber());
+ i.setDueDate(this.currentEntry.getDueDate());
+ i.setIssueDate(this.currentEntry.getCreationDate());
+ i.setDetailedDeliveryPeriod(this.currentEntry.getPeriodFrom(), this.currentEntry.getPeriodTo());
+
+ if (StringUtils.isEmpty(senderUser.getCompany())
+ || StringUtils.isEmpty(senderUser.getStreet())
+ || StringUtils.isEmpty(senderUser.getZipCode())
+ || StringUtils.isEmpty(senderUser.getCity())
+ || StringUtils.isEmpty(senderUser.getCountryCodeInvoicing())
+ ) {
+ JOptionPane.showMessageDialog(this, "Informationen des Rechnungssenders unvollständig: Adresse. Bitte im Menü 'Administration' - 'Nutzerverwaltung' ergänzen", com.jdimension.jlawyer.client.utils.DesktopUtils.POPUP_TITLE_WARNING, JOptionPane.WARNING_MESSAGE);
+ return;
+ }
+ TradeParty sender = new TradeParty(senderUser.getCompany(), senderUser.getStreet(), senderUser.getZipCode(), senderUser.getCity(), senderUser.getCountryCodeInvoicing());
+ if(!StringUtils.isEmpty(senderUser.getAdjunct()))
+ sender.setAdditionalAddressExtension(senderUser.getAdjunct());
+ if(!StringUtils.isEmpty(senderUser.getTaxNr()))
+ sender.addTaxID(senderUser.getTaxNr());
+ if(!StringUtils.isEmpty(senderUser.getTaxVatId()))
+ sender.addVATID(senderUser.getTaxVatId());
+
+
+ if (StringUtils.isEmpty(senderUser.getBankBic())
+ || StringUtils.isEmpty(senderUser.getBankIban())
+ ) {
+ JOptionPane.showMessageDialog(this, "Informationen des Rechnungssenders unvollständig: Bankverbindung. Bitte im Menü 'Administration' - 'Nutzerverwaltung' ergänzen", com.jdimension.jlawyer.client.utils.DesktopUtils.POPUP_TITLE_WARNING, JOptionPane.WARNING_MESSAGE);
+ return;
+ }
+ // zahlung per überweisung
+ sender.addBankDetails(new BankDetails(senderUser.getBankIban(), senderUser.getBankBic()));
+ // zahlug per lastschrift
+ //sender.addDebitDetails(debitDetail);
+
+
+ if (StringUtils.isEmpty(senderUser.getDisplayName())
+ || StringUtils.isEmpty(senderUser.getPhone())
+ || StringUtils.isEmpty(senderUser.getEmail())) {
+ JOptionPane.showMessageDialog(this, "Informationen des Rechnungssenders unvollständig: Anzeigename/Telefon/E-Mail. Bitte im Menü 'Administration' - 'Nutzerverwaltung' ergänzen", com.jdimension.jlawyer.client.utils.DesktopUtils.POPUP_TITLE_WARNING, JOptionPane.WARNING_MESSAGE);
+ return;
+ }
+ sender.setContact(new Contact(senderUser.getDisplayName(), senderUser.getPhone(), senderUser.getEmail()));
+
+ i.setSender(sender);
+
+ if(currentEntry.getContact()==null) {
+ JOptionPane.showMessageDialog(this, "Rechnungsempfänger fehlt.", com.jdimension.jlawyer.client.utils.DesktopUtils.POPUP_TITLE_WARNING, JOptionPane.WARNING_MESSAGE);
+ return;
+ }
+ if (StringUtils.isEmpty(currentEntry.getContact().toDisplayName())
+ || StringUtils.isEmpty(currentEntry.getContact().getStreet())
+ || StringUtils.isEmpty(currentEntry.getContact().getZipCode())
+ || StringUtils.isEmpty(currentEntry.getContact().getCity())
+ ) {
+ JOptionPane.showMessageDialog(this, "Informationen des Rechnungsempfängers unvollständig: Adresse.", com.jdimension.jlawyer.client.utils.DesktopUtils.POPUP_TITLE_WARNING, JOptionPane.WARNING_MESSAGE);
+ return;
+ }
+ i.setRecipient(new TradeParty(currentEntry.getContact().toDisplayName(), currentEntry.getContact().getStreet() + " " + currentEntry.getContact().getStreetNumber(), currentEntry.getContact().getZipCode(), currentEntry.getContact().getCity(), "DE"));
+
+ List positions = null;
+ try {
+ JLawyerServiceLocator locator = JLawyerServiceLocator.getInstance(ClientSettings.getInstance().getLookupProperties());
+ positions = locator.lookupArchiveFileServiceRemote().getInvoicePositions(this.currentEntry.getId());
+ } catch (Exception ex) {
+ log.error("error getting invoice positions", ex);
+ JOptionPane.showMessageDialog(this, "Fehler beim Laden der Rechnungspositionen: " + ex.getMessage(), com.jdimension.jlawyer.client.utils.DesktopUtils.POPUP_TITLE_ERROR, JOptionPane.ERROR_MESSAGE);
+ return;
+ }
+
+ // line items
+ for (InvoicePosition pos : positions) {
+ float taxRate = pos.getTaxRate();
+ if (!this.currentEntry.isSmallBusiness()) {
+ taxRate = 0f;
+ }
+ i.addItem(new Item(new Product(pos.getName(), pos.getDescription(), "C62", new BigDecimal(taxRate)), /*price*/ new BigDecimal(pos.getUnitPrice()), /*qty*/ new BigDecimal(pos.getUnits())));
+ }
+
+ ZUGFeRD2PullProvider zf2p = new ZUGFeRD2PullProvider();
+ zf2p.setProfile(Profiles.getByName("XRechnung"));
+ zf2p.generateXML(i);
+ String theXML = new String(zf2p.getXML());
+ try {
+ StringWriter sw = new StringWriter();
+ //BufferedWriter writer = new BufferedWriter(new FileWriter("xrechnung.xml"));
+ BufferedWriter writer = new BufferedWriter(sw);
+ writer.write(theXML);
+ writer.close();
+ System.out.println("e-Invoice:");
+ System.out.println(sw.toString());
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+
+// ArchiveFileDocumentsBean invoiceDoc = this.caseView.newDocumentDialog(null, currentEntry, this.getInvoicePositionsAsTable(this.cmbTableHeadersLanguage.getSelectedItem().toString()), timesheetPosTable, giroCode);
+// if (this.currentEntry != null) {
+// this.save();
+// try {
+// JLawyerServiceLocator locator = JLawyerServiceLocator.getInstance(ClientSettings.getInstance().getLookupProperties());
+// currentEntry.setInvoiceDocument(locator.lookupArchiveFileServiceRemote().getInvoiceDocument(currentEntry.getId()));
+// } catch (Exception ex) {
+// log.error("error loading invoice document", ex);
+// JOptionPane.showMessageDialog(this, "Fehler beim Laden des Belegdokuments: " + ex.getMessage(), com.jdimension.jlawyer.client.utils.DesktopUtils.POPUP_TITLE_ERROR, JOptionPane.ERROR_MESSAGE);
+// }
+// this.cmdViewDocumentClassic.setEnabled(true);
+// this.cmdNavigateToDocumentClassic.setEnabled(true);
+// }
+ }
+ }//GEN-LAST:event_cmdCreateInvoiceDocumentXmlActionPerformed
+
/**
* @param args the command line arguments
*/
@@ -2507,9 +2792,11 @@ public void windowClosing(java.awt.event.WindowEvent e) {
}
// Variables declaration - do not modify//GEN-BEGIN:variables
+ private javax.swing.JButton Hochladen;
private javax.swing.JCheckBox chkTaxes;
private javax.swing.JComboBox cmbCurrency;
private javax.swing.JComboBox cmbInvoicePool;
+ private javax.swing.JComboBox cmbInvoiceSender;
private javax.swing.JComboBox cmbInvoiceType;
private javax.swing.JComboBox cmbStatus;
private javax.swing.JComboBox cmbTableHeadersLanguage;
@@ -2518,19 +2805,22 @@ public void windowClosing(java.awt.event.WindowEvent e) {
private javax.swing.JButton cmdCalculation;
private javax.swing.JButton cmdCancel;
private javax.swing.JButton cmdConfirmInvoiceNumber;
- private javax.swing.JButton cmdCreateInvoiceDocument;
+ private javax.swing.JButton cmdCreateInvoiceDocumentClassic;
+ private javax.swing.JButton cmdCreateInvoiceDocumentXml;
private javax.swing.JButton cmdDateCreated;
private javax.swing.JButton cmdDateDue;
private javax.swing.JButton cmdDatePeriodFrom;
private javax.swing.JButton cmdDatePeriodTo;
private javax.swing.JButton cmdGiroCode;
- private javax.swing.JButton cmdNavigateToDocument;
+ private javax.swing.JButton cmdNavigateToDocumentClassic;
+ private javax.swing.JButton cmdNavigateToDocumentXml;
private javax.swing.JButton cmdRemoveAllPositions;
private javax.swing.JButton cmdSave;
private javax.swing.JButton cmdSearchRecipient;
private javax.swing.JButton cmdTimesheetPositions;
- private javax.swing.JButton cmdUploadInvoiceDocument;
- private javax.swing.JButton cmdViewDocument;
+ private javax.swing.JButton cmdUploadInvoiceDocumentClassic;
+ private javax.swing.JButton cmdViewDocumentClassic;
+ private javax.swing.JButton cmdViewDocumentXml;
private javax.swing.JTextField dtCreated;
private javax.swing.JTextField dtDue;
private javax.swing.JTextField dtFrom;
@@ -2541,6 +2831,10 @@ public void windowClosing(java.awt.event.WindowEvent e) {
private javax.swing.JLabel jLabel12;
private javax.swing.JLabel jLabel13;
private javax.swing.JLabel jLabel14;
+ private javax.swing.JLabel jLabel15;
+ private javax.swing.JLabel jLabel16;
+ private javax.swing.JLabel jLabel17;
+ private javax.swing.JLabel jLabel18;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
@@ -2549,6 +2843,7 @@ public void windowClosing(java.awt.event.WindowEvent e) {
private javax.swing.JLabel jLabel7;
private javax.swing.JLabel jLabel8;
private javax.swing.JLabel jLabel9;
+ private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JPanel jPanel3;
private javax.swing.JPanel jPanel4;
@@ -2559,7 +2854,6 @@ public void windowClosing(java.awt.event.WindowEvent e) {
private javax.swing.JSeparator jSeparator1;
private javax.swing.JTabbedPane jTabbedPane1;
private javax.swing.JPanel lblHeader;
- private javax.swing.JLabel lblInvoiceDocument;
private javax.swing.JLabel lblInvoiceNumber;
private javax.swing.JLabel lblInvoiceTax;
private javax.swing.JLabel lblInvoiceTotal;
diff --git a/j-lawyer-invoicing/dependency-reduced-pom.xml b/j-lawyer-invoicing/dependency-reduced-pom.xml
index 920437a32..65f48ef08 100644
--- a/j-lawyer-invoicing/dependency-reduced-pom.xml
+++ b/j-lawyer-invoicing/dependency-reduced-pom.xml
@@ -54,6 +54,7 @@
org.jlawyer.**
org.xml.**
+ org.mustangproject.**
diff --git a/j-lawyer-invoicing/pom.xml b/j-lawyer-invoicing/pom.xml
index 9623be27f..a8c1eba7a 100644
--- a/j-lawyer-invoicing/pom.xml
+++ b/j-lawyer-invoicing/pom.xml
@@ -100,6 +100,7 @@
org.jlawyer.**
org.xml.**
+ org.mustangproject.**
diff --git a/j-lawyer-server-entities/src/java/com/jdimension/jlawyer/persistence/Invoice.java b/j-lawyer-server-entities/src/java/com/jdimension/jlawyer/persistence/Invoice.java
index 92a38ced7..2e7a7175f 100644
--- a/j-lawyer-server-entities/src/java/com/jdimension/jlawyer/persistence/Invoice.java
+++ b/j-lawyer-server-entities/src/java/com/jdimension/jlawyer/persistence/Invoice.java
@@ -745,10 +745,15 @@ public class Invoice implements Serializable {
@Column(name = "small_business")
protected boolean smallBusiness=true;
+ // invoice recipient
@JoinColumn(name = "contact_id", referencedColumnName = "id")
@ManyToOne(fetch = FetchType.EAGER)
protected AddressBean contact;
+ // invoice sender
+ @Column(name = "sender_id")
+ private String sender;
+
@Column(name = "total")
protected float total=0f;
@@ -759,12 +764,16 @@ public class Invoice implements Serializable {
@OneToOne(fetch = FetchType.EAGER)
protected ArchiveFileDocumentsBean invoiceDocument;
+ @JoinColumn(name = "einvoice_document", referencedColumnName = "id")
+ @OneToOne(fetch = FetchType.EAGER)
+ private ArchiveFileDocumentsBean electronicInvoiceDocument;
+
@Column(name = "currency")
protected String currency="EUR";
@Column(name = "last_pool_id")
protected String lastPoolId;
-
+
public Invoice() {
}
@@ -1099,5 +1108,33 @@ public float getTotalGross() {
public void setTotalGross(float totalGross) {
this.totalGross = totalGross;
}
+
+ /**
+ * @return the sender
+ */
+ public String getSender() {
+ return sender;
+ }
+
+ /**
+ * @param sender the sender to set
+ */
+ public void setSender(String sender) {
+ this.sender = sender;
+ }
+
+ /**
+ * @return the electronicInvoiceDocument
+ */
+ public ArchiveFileDocumentsBean getElectronicInvoiceDocument() {
+ return electronicInvoiceDocument;
+ }
+
+ /**
+ * @param electronicInvoiceDocument the electronicInvoiceDocument to set
+ */
+ public void setElectronicInvoiceDocument(ArchiveFileDocumentsBean electronicInvoiceDocument) {
+ this.electronicInvoiceDocument = electronicInvoiceDocument;
+ }
}
diff --git a/j-lawyer-server-entities/src/java/db/migration/V2_7_0_7__AddSenderToInvoice.sql b/j-lawyer-server-entities/src/java/db/migration/V2_7_0_7__AddSenderToInvoice.sql
new file mode 100644
index 000000000..52da4c321
--- /dev/null
+++ b/j-lawyer-server-entities/src/java/db/migration/V2_7_0_7__AddSenderToInvoice.sql
@@ -0,0 +1,7 @@
+alter table invoices add `sender_id` VARCHAR(50) BINARY DEFAULT NULL;
+
+alter table invoices add `einvoice_document` VARCHAR(50) BINARY;
+alter table invoices add CONSTRAINT einvoices_casedocuments_fk FOREIGN KEY (einvoice_document) REFERENCES case_documents (id) ON DELETE SET NULL;
+
+insert into server_settings(settingKey, settingValue) values('jlawyer.server.database.version','2.7.0.7') ON DUPLICATE KEY UPDATE settingValue = '2.7.0.7';
+commit;
\ No newline at end of file
diff --git a/j-lawyer-server/j-lawyer-server-ejb/nbproject/project.properties b/j-lawyer-server/j-lawyer-server-ejb/nbproject/project.properties
index 19174b417..b8ca11034 100644
--- a/j-lawyer-server/j-lawyer-server-ejb/nbproject/project.properties
+++ b/j-lawyer-server/j-lawyer-server-ejb/nbproject/project.properties
@@ -22,7 +22,7 @@ file.reference.poi-excelant-4.1.2.jar=lib/poi/poi-excelant-4.1.2.jar
file.reference.poi-ooxml-4.1.2.jar=lib/poi/poi-ooxml-4.1.2.jar
file.reference.poi-ooxml-schemas-4.1.2.jar=lib/poi/poi-ooxml-schemas-4.1.2.jar
file.reference.poi-scratchpad-4.1.2.jar=lib/poi/poi-scratchpad-4.1.2.jar
-j2ee.platform.classpath=${j2ee.server.home}/modules/system/layers/base/javax/activation/api/main/jakarta.activation-1.2.2.jar:${j2ee.server.home}/modules/system/layers/base/javax/annotation/api/main/jboss-annotations-api_1.3_spec-2.0.1.Final.jar:${j2ee.server.home}/modules/system/layers/base/javax/batch/api/main/jboss-batch-api_1.0_spec-2.0.0.Final.jar:${j2ee.server.home}/modules/system/layers/base/javax/ejb/api/main/jboss-ejb-api_3.2_spec-2.0.0.Final.jar:${j2ee.server.home}/modules/system/layers/base/javax/el/api/main/jboss-el-api_3.0_spec-2.0.0.Final.jar:${j2ee.server.home}/modules/system/layers/base/javax/enterprise/api/main/jakarta.enterprise.cdi-api-2.0.2.jar:${j2ee.server.home}/modules/system/layers/base/javax/enterprise/concurrent/api/main/jboss-concurrency-api_1.0_spec-2.0.0.Final.jar:${j2ee.server.home}/modules/system/layers/base/javax/faces/api/main/jboss-jsf-api_2.3_spec-3.1.0.SP01.jar:${j2ee.server.home}/modules/system/layers/base/javax/inject/api/main/jakarta.inject-api-1.0.5.jar:${j2ee.server.home}/modules/system/layers/base/javax/interceptor/api/main/jboss-interceptors-api_1.2_spec-2.0.0.Final.jar:${j2ee.server.home}/modules/system/layers/base/javax/jms/api/main/jboss-jms-api_2.0_spec-2.0.0.Final.jar:${j2ee.server.home}/modules/system/layers/base/javax/json/api/main/jakarta.json-api-1.1.6.jar:${j2ee.server.home}/modules/system/layers/base/javax/json/bind/api/main/jakarta.json.bind-api-1.0.2.jar:${j2ee.server.home}/modules/system/layers/base/javax/jws/api/main/jsr181-api-1.0-MR1.jar:${j2ee.server.home}/modules/system/layers/base/javax/mail/api/main/jakarta.mail-1.6.7.jar:${j2ee.server.home}/modules/system/layers/base/javax/management/j2ee/api/main/jboss-j2eemgmt-api_1.1_spec-2.0.0.Final.jar:${j2ee.server.home}/modules/system/layers/base/javax/orb/api/main/openjdk-orb-8.1.7.Final.jar:${j2ee.server.home}/modules/system/layers/base/javax/persistence/api/main/jakarta.persistence-api-2.2.3.jar:${j2ee.server.home}/modules/system/layers/base/javax/resource/api/main/jboss-connector-api_1.7_spec-2.0.0.Final.jar:${j2ee.server.home}/modules/system/layers/base/javax/security/auth/message/api/main/jboss-jaspi-api_1.1_spec-2.0.1.Final.jar:${j2ee.server.home}/modules/system/layers/base/javax/security/enterprise/api/main/jakarta.security.enterprise-api-1.0.2.jar:${j2ee.server.home}/modules/system/layers/base/javax/security/jacc/api/main/jboss-jacc-api_1.5_spec-2.0.0.Final.jar:${j2ee.server.home}/modules/system/layers/base/javax/servlet/api/main/jboss-servlet-api_4.0_spec-2.0.0.Final.jar:${j2ee.server.home}/modules/system/layers/base/javax/servlet/jsp/api/main/jboss-jsp-api_2.3_spec-2.0.0.Final.jar:${j2ee.server.home}/modules/system/layers/base/javax/servlet/jstl/api/main/taglibs-standard-compat-1.2.6-RC1.jar:${j2ee.server.home}/modules/system/layers/base/javax/servlet/jstl/api/main/taglibs-standard-impl-1.2.6-RC1.jar:${j2ee.server.home}/modules/system/layers/base/javax/servlet/jstl/api/main/taglibs-standard-spec-1.2.6-RC1.jar:${j2ee.server.home}/modules/system/layers/base/javax/transaction/api/main/jboss-transaction-api_1.3_spec-2.0.0.Final.jar:${j2ee.server.home}/modules/system/layers/base/javax/validation/api/main/jakarta.validation-api-2.0.2.jar:${j2ee.server.home}/modules/system/layers/base/javax/websocket/api/main/jboss-websocket-api_1.1_spec-2.0.0.Final.jar:${j2ee.server.home}/modules/system/layers/base/javax/ws/rs/api/main/jboss-jaxrs-api_2.1_spec-2.0.2.Final.jar:${j2ee.server.home}/modules/system/layers/base/javax/wsdl4j/api/main/wsdl4j-1.6.3.jar:${j2ee.server.home}/modules/system/layers/base/javax/xml/bind/api/main/jboss-jaxb-api_2.3_spec-2.0.1.Final.jar:${j2ee.server.home}/modules/system/layers/base/javax/xml/rpc/api/main/jboss-jaxrpc-api_1.1_spec-2.0.0.Final.jar:${j2ee.server.home}/modules/system/layers/base/javax/xml/soap/api/main/jboss-saaj-api_1.4_spec-1.0.2.Final.jar:${j2ee.server.home}/modules/system/layers/base/javax/xml/ws/api/main/jboss-jaxws-api_2.3_spec-2.0.0.Final.jar:${j2ee.server.home}/modules/system/layers/base/org/glassfish/javax/enterprise/concurrent/main/jakarta.enterprise.concurrent-1.1.1.jar
+j2ee.platform.classpath=${j2ee.server.home}/modules/system/layers/base/javax/activation/api/main/activation-1.1.1.jar:${j2ee.server.home}/modules/system/layers/base/javax/annotation/api/main/jboss-annotations-api_1.3_spec-1.0.1.Final.jar:${j2ee.server.home}/modules/system/layers/base/javax/batch/api/main/jboss-batch-api_1.0_spec-1.0.1.Final.jar:${j2ee.server.home}/modules/system/layers/base/javax/ejb/api/main/jboss-ejb-api_3.2_spec-1.0.1.Final.jar:${j2ee.server.home}/modules/system/layers/base/javax/el/api/main/jboss-el-api_3.0_spec-1.0.13.Final.jar:${j2ee.server.home}/modules/system/layers/base/javax/enterprise/api/main/cdi-api-2.0.SP1.jar:${j2ee.server.home}/modules/system/layers/base/javax/enterprise/concurrent/api/main/jboss-concurrency-api_1.0_spec-1.0.2.Final.jar:${j2ee.server.home}/modules/system/layers/base/javax/faces/api/main/jboss-jsf-api_2.3_spec-2.3.9.SP01.jar:${j2ee.server.home}/modules/system/layers/base/javax/inject/api/main/javax.inject-1.jar:${j2ee.server.home}/modules/system/layers/base/javax/interceptor/api/main/jboss-interceptors-api_1.2_spec-1.0.1.Final.jar:${j2ee.server.home}/modules/system/layers/base/javax/jms/api/main/jboss-jms-api_2.0_spec-1.0.2.Final.jar:${j2ee.server.home}/modules/system/layers/base/javax/json/api/main/javax.json-api-1.1.2.jar:${j2ee.server.home}/modules/system/layers/base/javax/json/bind/api/main/javax.json.bind-api-1.0.jar:${j2ee.server.home}/modules/system/layers/base/javax/jws/api/main/jsr181-api-1.0-MR1.jar:${j2ee.server.home}/modules/system/layers/base/javax/mail/api/main/javax.mail-1.6.2.jar:${j2ee.server.home}/modules/system/layers/base/javax/management/j2ee/api/main/jboss-j2eemgmt-api_1.1_spec-1.0.2.Final.jar:${j2ee.server.home}/modules/system/layers/base/javax/orb/api/main/openjdk-orb-8.1.2.Final.jar:${j2ee.server.home}/modules/system/layers/base/javax/persistence/api/main/javax.persistence-api-2.2.jar:${j2ee.server.home}/modules/system/layers/base/javax/resource/api/main/jboss-connector-api_1.7_spec-1.0.1.Final.jar:${j2ee.server.home}/modules/system/layers/base/javax/security/auth/message/api/main/jboss-jaspi-api_1.1_spec-1.0.2.Final.jar:${j2ee.server.home}/modules/system/layers/base/javax/security/enterprise/api/main/javax.security.enterprise-api-1.0.jar:${j2ee.server.home}/modules/system/layers/base/javax/security/jacc/api/main/jboss-jacc-api_1.5_spec-1.0.2.Final.jar:${j2ee.server.home}/modules/system/layers/base/javax/servlet/api/main/jboss-servlet-api_4.0_spec-1.0.0.Final.jar:${j2ee.server.home}/modules/system/layers/base/javax/servlet/jsp/api/main/jboss-jsp-api_2.3_spec-1.0.3.Final.jar:${j2ee.server.home}/modules/system/layers/base/javax/servlet/jstl/api/main/taglibs-standard-compat-1.2.6-RC1.jar:${j2ee.server.home}/modules/system/layers/base/javax/servlet/jstl/api/main/taglibs-standard-impl-1.2.6-RC1.jar:${j2ee.server.home}/modules/system/layers/base/javax/servlet/jstl/api/main/taglibs-standard-spec-1.2.6-RC1.jar:${j2ee.server.home}/modules/system/layers/base/javax/transaction/api/main/jboss-transaction-api_1.2_spec-1.1.1.Final.jar:${j2ee.server.home}/modules/system/layers/base/javax/validation/api/main/validation-api-2.0.1.Final.jar:${j2ee.server.home}/modules/system/layers/base/javax/websocket/api/main/jboss-websocket-api_1.1_spec-1.1.3.Final.jar:${j2ee.server.home}/modules/system/layers/base/javax/ws/rs/api/main/jboss-jaxrs-api_2.1_spec-1.0.2.Final.jar:${j2ee.server.home}/modules/system/layers/base/javax/wsdl4j/api/main/wsdl4j-1.6.3.jar:${j2ee.server.home}/modules/system/layers/base/javax/xml/bind/api/main/jboss-jaxb-api_2.3_spec-1.0.1.Final.jar:${j2ee.server.home}/modules/system/layers/base/javax/xml/rpc/api/main/jboss-jaxrpc-api_1.1_spec-1.0.2.Final.jar:${j2ee.server.home}/modules/system/layers/base/javax/xml/soap/api/main/jboss-saaj-api_1.3_spec-1.0.6.Final.jar:${j2ee.server.home}/modules/system/layers/base/javax/xml/ws/api/main/jboss-jaxws-api_2.3_spec-1.0.0.Final.jar:${j2ee.server.home}/modules/system/layers/base/org/glassfish/javax/el/main/javax.el-impl-3.0.1-b08-jbossorg-1.jar:${j2ee.server.home}/modules/system/layers/base/org/glassfish/javax/enterprise/concurrent/main/javax.enterprise.concurrent-1.0.jar:${j2ee.server.home}/modules/system/layers/base/org/glassfish/javax/json/main/javax.json-1.1.2.jar
javac.test.classpath=\
${javac.classpath}:\
${build.classes.dir}:\