Skip to content

Commit

Permalink
added setter for ApplicableTradeTax (#215)
Browse files Browse the repository at this point in the history
  • Loading branch information
rsoika committed Dec 27, 2024
1 parent ed82e0d commit e246a91
Show file tree
Hide file tree
Showing 2 changed files with 44 additions and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ public abstract class EInvoiceModel {
protected BigDecimal grandTotalAmount = new BigDecimal("0.00");
protected BigDecimal taxTotalAmount = new BigDecimal("0.00");
protected BigDecimal netTotalAmount = new BigDecimal("0.00");
protected BigDecimal vat = new BigDecimal("0.00");
protected Set<TradeParty> tradeParties = null;
protected Set<TradeLineItem> tradeLineItems = null;

Expand Down Expand Up @@ -96,35 +97,53 @@ public String getId() {
return id;
}

public abstract void setId(String value);
public void setId(String value) {
id = value;
}

public LocalDate getIssueDateTime() {
return issueDateTime;
}

public abstract void setIssueDateTime(LocalDate value);
public void setIssueDateTime(LocalDate value) {
issueDateTime = value;
}

public LocalDate getDueDateTime() {
return dueDateTime;
}

public abstract void setDueDateTime(LocalDate value);
public void setDueDateTime(LocalDate value) {
dueDateTime = value;
}

public BigDecimal getGrandTotalAmount() {
return grandTotalAmount;
}

public abstract void setGrandTotalAmount(BigDecimal value);
public void setGrandTotalAmount(BigDecimal value) {
grandTotalAmount = value;
}

public void setGrandTotalAmount(Double value) {
setGrandTotalAmount(BigDecimal.valueOf(value));
}

public BigDecimal getVat() {
return vat;
}

public void setVat(BigDecimal vat) {
this.vat = vat;
}

public BigDecimal getTaxTotalAmount() {
return taxTotalAmount;
}

public abstract void setTaxTotalAmount(BigDecimal value);
public void setTaxTotalAmount(BigDecimal value) {
taxTotalAmount = value;
}

public void setTaxTotalAmount(Double value) {
setTaxTotalAmount(BigDecimal.valueOf(value));
Expand All @@ -134,7 +153,9 @@ public BigDecimal getNetTotalAmount() {
return netTotalAmount;
}

public abstract void setNetTotalAmount(BigDecimal value);
public void setNetTotalAmount(BigDecimal value) {
netTotalAmount = value;
}

public void setNetTotalAmount(Double value) {
setNetTotalAmount(BigDecimal.valueOf(value));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -346,6 +346,7 @@ public Set<TradeLineItem> parseTradeLineItems() {
*/
@Override
public void setId(String value) {
super.setId(value);
Element element = findOrCreateChildNode(exchangedDocument, EInvoiceNS.RAM, "ID");
element.setTextContent(value);
}
Expand All @@ -355,6 +356,7 @@ public void setId(String value) {
*/
@Override
public void setIssueDateTime(LocalDate value) {
super.setIssueDateTime(value);
Element element = findOrCreateChildNode(exchangedDocument, EInvoiceNS.RAM,
"IssueDateTime");
Element dateTimeElement = findOrCreateChildNode(element, EInvoiceNS.UDT,
Expand All @@ -366,7 +368,7 @@ public void setIssueDateTime(LocalDate value) {

@Override
public void setNetTotalAmount(BigDecimal value) {

super.setNetTotalAmount(value);
// Update LineTotalAmount
Element lineTotalElement = findChildNode(specifiedTradeSettlementHeaderMonetarySummation, EInvoiceNS.RAM,
"LineTotalAmount");
Expand All @@ -382,11 +384,16 @@ public void setNetTotalAmount(BigDecimal value) {
taxBasisElement.setTextContent(value.toPlainString());
}

// Update ApplicationTradeTax
Element applicableTradeTax = findOrCreateChildNode(applicableHeaderTradeSettlement,
EInvoiceNS.RAM, "ApplicableTradeTax");
updateElementValue(applicableTradeTax, EInvoiceNS.RAM, "BasisAmount", value.toPlainString());

}

@Override
public void setGrandTotalAmount(BigDecimal value) {

super.setGrandTotalAmount(value);
// Update GrandTotalAmount
Element amountElement = findChildNode(specifiedTradeSettlementHeaderMonetarySummation, EInvoiceNS.RAM,
"GrandTotalAmount");
Expand All @@ -406,19 +413,26 @@ public void setGrandTotalAmount(BigDecimal value) {
*/
@Override
public void setTaxTotalAmount(BigDecimal value) {
super.setTaxTotalAmount(value);
Element amountElement = findOrCreateChildNode(specifiedTradeSettlementHeaderMonetarySummation,
EInvoiceNS.RAM,
"TaxTotalAmount");
amountElement.setTextContent(value.toPlainString());
amountElement.setAttribute("currencyID", "EUR");

// Update ApplicableTradeTax/CalculatedAmount
Element applicableTradeTax = findOrCreateChildNode(applicableHeaderTradeSettlement,
EInvoiceNS.RAM, "ApplicableTradeTax");
updateElementValue(applicableTradeTax, EInvoiceNS.RAM, "CalculatedAmount", value.toPlainString());

}

/**
* Update Duedate
*/
@Override
public void setDueDateTime(LocalDate value) {

super.setDueDateTime(value);
Element specifiedTradePaymentTermsElement = findOrCreateChildNode(applicableHeaderTradeSettlement,
EInvoiceNS.RAM,
"SpecifiedTradePaymentTerms");
Expand Down

0 comments on commit e246a91

Please sign in to comment.