Use ZUGFeRD2PullProvider#buildNotes in inherited classes
This commit is contained in:
@@ -22,6 +22,7 @@ package org.mustangproject;
|
|||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collection;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@@ -679,6 +680,17 @@ public class Invoice implements IExportableTransaction {
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Invoice addNotes(Collection<IncludedNote> notes) {
|
||||||
|
if (notes == null) {
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
if (includedNotes == null) {
|
||||||
|
includedNotes = new ArrayList<>();
|
||||||
|
}
|
||||||
|
includedNotes.addAll(notes);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* adds a free text paragraph, which will become an includedNote element with explicit
|
* adds a free text paragraph, which will become an includedNote element with explicit
|
||||||
* subjectCode {@link SubjectCode#AAI}
|
* subjectCode {@link SubjectCode#AAI}
|
||||||
|
|||||||
@@ -45,37 +45,12 @@ public class DAPullProvider extends ZUGFeRD2PullProvider implements IXMLProvider
|
|||||||
@Override
|
@Override
|
||||||
public void generateXML(IExportableTransaction trans) {
|
public void generateXML(IExportableTransaction trans) {
|
||||||
this.trans = trans;
|
this.trans = trans;
|
||||||
boolean hasDueDate = false;
|
|
||||||
final SimpleDateFormat germanDateFormat = new SimpleDateFormat("dd.MM.yyyy");
|
|
||||||
|
|
||||||
final String exemptionReason = "";
|
|
||||||
|
|
||||||
String senderReg = "";
|
|
||||||
if (trans.getOwnOrganisationFullPlaintextInfo() != null) {
|
|
||||||
senderReg = "<ram:IncludedNote><ram:Content>"
|
|
||||||
+ XMLTools.encodeXML(trans.getOwnOrganisationFullPlaintextInfo()) + "</ram:Content>"
|
|
||||||
+ "<ram:SubjectCode>REG</ram:SubjectCode></ram:IncludedNote>";
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
String subjectNote = "";
|
|
||||||
if (trans.getSubjectNote() != null) {
|
|
||||||
subjectNote = "<ram:IncludedNote><ram:Content>"
|
|
||||||
+ XMLTools.encodeXML(trans.getSubjectNote()) + "</ram:Content>"
|
|
||||||
+ "</ram:IncludedNote>";
|
|
||||||
}
|
|
||||||
|
|
||||||
final String typecode = "220";
|
final String typecode = "220";
|
||||||
/*if (trans.getDocumentCode() != null) {
|
/*if (trans.getDocumentCode() != null) {
|
||||||
typecode = trans.getDocumentCode();
|
typecode = trans.getDocumentCode();
|
||||||
}*/
|
}*/
|
||||||
String notes = "";
|
|
||||||
if (trans.getNotes() != null) {
|
|
||||||
for (final String currentNote : trans.getNotes()) {
|
|
||||||
notes += "<ram:IncludedNote><ram:Content>" + XMLTools.encodeXML(currentNote) + "</ram:Content></ram:IncludedNote>";
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
String testBooleanStr="true";
|
String testBooleanStr="true";
|
||||||
String xml = "<SCRDMCCBDACIDAMessageStructure\n" +
|
String xml = "<SCRDMCCBDACIDAMessageStructure\n" +
|
||||||
" xmlns:udt=\"urn:un:unece:uncefact:data:standard:UnqualifiedDataType:25\"\n" +
|
" xmlns:udt=\"urn:un:unece:uncefact:data:standard:UnqualifiedDataType:25\"\n" +
|
||||||
@@ -99,9 +74,7 @@ public class DAPullProvider extends ZUGFeRD2PullProvider implements IXMLProvider
|
|||||||
+ "<ram:TypeCode>" + typecode + "</ram:TypeCode>"
|
+ "<ram:TypeCode>" + typecode + "</ram:TypeCode>"
|
||||||
+ "<ram:IssueDateTime>"
|
+ "<ram:IssueDateTime>"
|
||||||
+ DATE.udtFormat(trans.getIssueDate()) + "</ram:IssueDateTime>" // date
|
+ DATE.udtFormat(trans.getIssueDate()) + "</ram:IssueDateTime>" // date
|
||||||
+ notes
|
+ buildNotes(trans)
|
||||||
+ subjectNote
|
|
||||||
+ senderReg
|
|
||||||
|
|
||||||
+ "</px:ExchangedDocument>"
|
+ "</px:ExchangedDocument>"
|
||||||
+ "<px:SupplyChainTradeTransaction>";
|
+ "<px:SupplyChainTradeTransaction>";
|
||||||
@@ -111,7 +84,7 @@ public class DAPullProvider extends ZUGFeRD2PullProvider implements IXMLProvider
|
|||||||
if (currentItem.getProduct().getTaxExemptionReason() != null) {
|
if (currentItem.getProduct().getTaxExemptionReason() != null) {
|
||||||
// exemptionReason = "<ram:ExemptionReason>" + XMLTools.encodeXML(currentItem.getProduct().getTaxExemptionReason()) + "</ram:ExemptionReason>";
|
// exemptionReason = "<ram:ExemptionReason>" + XMLTools.encodeXML(currentItem.getProduct().getTaxExemptionReason()) + "</ram:ExemptionReason>";
|
||||||
}
|
}
|
||||||
notes = "";
|
String notes = "";
|
||||||
if (currentItem.getNotes() != null) {
|
if (currentItem.getNotes() != null) {
|
||||||
for (final String currentNote : currentItem.getNotes()) {
|
for (final String currentNote : currentItem.getNotes()) {
|
||||||
notes = notes + "<ram:IncludedNote><ram:Content>" + XMLTools.encodeXML(currentNote) + "</ram:Content></ram:IncludedNote>";
|
notes = notes + "<ram:IncludedNote><ram:Content>" + XMLTools.encodeXML(currentNote) + "</ram:Content></ram:IncludedNote>";
|
||||||
@@ -308,5 +281,19 @@ public class DAPullProvider extends ZUGFeRD2PullProvider implements IXMLProvider
|
|||||||
return profile;
|
return profile;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected String buildNotes(IExportableTransaction exportableTransaction) {
|
||||||
|
Invoice copyWithoutRebateInfo = new Invoice()
|
||||||
|
.setOwnOrganisationFullPlaintextInfo(exportableTransaction.getOwnOrganisationFullPlaintextInfo())
|
||||||
|
.addNotes(exportableTransaction.getNotesWithSubjectCode());
|
||||||
|
if(exportableTransaction.getNotes() != null) {
|
||||||
|
for (String note : exportableTransaction.getNotes()) {
|
||||||
|
copyWithoutRebateInfo.addNote(note);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(exportableTransaction.getSubjectNote()!= null) {
|
||||||
|
copyWithoutRebateInfo.addNote(exportableTransaction.getSubjectNote());
|
||||||
|
}
|
||||||
|
return super.buildNotes(copyWithoutRebateInfo);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -64,39 +64,11 @@ public class OXPullProvider extends ZUGFeRD2PullProvider implements IXMLProvider
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
String senderReg = "";
|
|
||||||
if (trans.getOwnOrganisationFullPlaintextInfo() != null) {
|
|
||||||
senderReg = "<ram:IncludedNote><ram:Content>"
|
|
||||||
+ XMLTools.encodeXML(trans.getOwnOrganisationFullPlaintextInfo()) + "</ram:Content>"
|
|
||||||
+ "<ram:SubjectCode>REG</ram:SubjectCode></ram:IncludedNote>";
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
String rebateAgreement = "";
|
|
||||||
if (trans.rebateAgreementExists()) {
|
|
||||||
rebateAgreement = "<ram:IncludedNote><ram:Content>"
|
|
||||||
+ "Es bestehen Rabatt- und Bonusvereinbarungen.</ram:Content>"
|
|
||||||
+ "<ram:SubjectCode>AAK</ram:SubjectCode></ram:IncludedNote>";
|
|
||||||
}
|
|
||||||
|
|
||||||
String subjectNote = "";
|
|
||||||
if (trans.getSubjectNote() != null) {
|
|
||||||
subjectNote = "<ram:IncludedNote><ram:Content>"
|
|
||||||
+ XMLTools.encodeXML(trans.getSubjectNote()) + "</ram:Content>"
|
|
||||||
+ "</ram:IncludedNote>";
|
|
||||||
}
|
|
||||||
|
|
||||||
final String typecode = "220";
|
final String typecode = "220";
|
||||||
/*if (trans.getDocumentCode() != null) {
|
/*if (trans.getDocumentCode() != null) {
|
||||||
typecode = trans.getDocumentCode();
|
typecode = trans.getDocumentCode();
|
||||||
}*/
|
}*/
|
||||||
String notes = "";
|
|
||||||
if (trans.getNotes() != null) {
|
|
||||||
for (final String currentNote : trans.getNotes()) {
|
|
||||||
notes += "<ram:IncludedNote><ram:Content>" + XMLTools.encodeXML(currentNote) + "</ram:Content></ram:IncludedNote>";
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
String xml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
|
String xml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
|
||||||
|
|
||||||
+ "<rsm:SCRDMCCBDACIOMessageStructure\n" +
|
+ "<rsm:SCRDMCCBDACIOMessageStructure\n" +
|
||||||
@@ -126,10 +98,7 @@ public class OXPullProvider extends ZUGFeRD2PullProvider implements IXMLProvider
|
|||||||
+ "<ram:TypeCode>" + typecode + "</ram:TypeCode>"
|
+ "<ram:TypeCode>" + typecode + "</ram:TypeCode>"
|
||||||
+ "<ram:IssueDateTime>"
|
+ "<ram:IssueDateTime>"
|
||||||
+ DATE.udtFormat(trans.getIssueDate()) + "</ram:IssueDateTime>" // date
|
+ DATE.udtFormat(trans.getIssueDate()) + "</ram:IssueDateTime>" // date
|
||||||
+ notes
|
+ buildNotes(trans)
|
||||||
+ subjectNote
|
|
||||||
+ rebateAgreement
|
|
||||||
+ senderReg
|
|
||||||
|
|
||||||
+ "</rsm:ExchangedDocument>"
|
+ "</rsm:ExchangedDocument>"
|
||||||
+ "<rsm:SupplyChainTradeTransaction>";
|
+ "<rsm:SupplyChainTradeTransaction>";
|
||||||
@@ -139,7 +108,7 @@ public class OXPullProvider extends ZUGFeRD2PullProvider implements IXMLProvider
|
|||||||
if (currentItem.getProduct().getTaxExemptionReason() != null) {
|
if (currentItem.getProduct().getTaxExemptionReason() != null) {
|
||||||
// exemptionReason = "<ram:ExemptionReason>" + XMLTools.encodeXML(currentItem.getProduct().getTaxExemptionReason()) + "</ram:ExemptionReason>";
|
// exemptionReason = "<ram:ExemptionReason>" + XMLTools.encodeXML(currentItem.getProduct().getTaxExemptionReason()) + "</ram:ExemptionReason>";
|
||||||
}
|
}
|
||||||
notes = "";
|
String notes = "";
|
||||||
if (currentItem.getNotes() != null) {
|
if (currentItem.getNotes() != null) {
|
||||||
for (final String currentNote : currentItem.getNotes()) {
|
for (final String currentNote : currentItem.getNotes()) {
|
||||||
notes = notes + "<ram:IncludedNote><ram:Content>" + XMLTools.encodeXML(currentNote) + "</ram:Content></ram:IncludedNote>";
|
notes = notes + "<ram:IncludedNote><ram:Content>" + XMLTools.encodeXML(currentNote) + "</ram:Content></ram:IncludedNote>";
|
||||||
|
|||||||
@@ -747,7 +747,7 @@ public class ZUGFeRD2PullProvider implements IXMLProvider {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static String buildNotes(IExportableTransaction exportableTransaction) {
|
protected String buildNotes(IExportableTransaction exportableTransaction) {
|
||||||
final List<IncludedNote> includedNotes = Optional.ofNullable(exportableTransaction.getNotesWithSubjectCode())
|
final List<IncludedNote> includedNotes = Optional.ofNullable(exportableTransaction.getNotesWithSubjectCode())
|
||||||
.orElse(new ArrayList<>());
|
.orElse(new ArrayList<>());
|
||||||
if (exportableTransaction.getNotes() != null) {
|
if (exportableTransaction.getNotes() != null) {
|
||||||
|
|||||||
Reference in New Issue
Block a user