Merge pull request #97 from swsch/master

deprecate misleading documentCode in favour of categoryCode
This commit is contained in:
Jochen Staerk
2019-07-03 14:50:04 +02:00
committed by GitHub
2 changed files with 33 additions and 11 deletions

View File

@@ -31,16 +31,16 @@ import java.math.BigDecimal;
*/ */
public class VATAmount { public class VATAmount {
public VATAmount(BigDecimal basis, BigDecimal calculated, String documentCode) { public VATAmount(BigDecimal basis, BigDecimal calculated, String categoryCode) {
super(); super();
this.basis = basis; this.basis = basis;
this.calculated = calculated; this.calculated = calculated;
this.documentCode = documentCode; this.categoryCode = categoryCode;
} }
BigDecimal basis, calculated; BigDecimal basis, calculated;
String documentCode; String categoryCode;
public BigDecimal getBasis() { public BigDecimal getBasis() {
return basis; return basis;
@@ -58,20 +58,38 @@ public class VATAmount {
this.calculated = calculated; this.calculated = calculated;
} }
/**
*
* @deprecated Use {@link #getCategoryCode() instead}
*/
@Deprecated
public String getDocumentCode() { public String getDocumentCode() {
return documentCode; return categoryCode;
} }
/**
*
* @deprecated Use {@link #setCategoryCode(String)} instead
*/
@Deprecated
public void setDocumentCode(String documentCode) { public void setDocumentCode(String documentCode) {
this.documentCode = documentCode; this.categoryCode = documentCode;
}
public String getCategoryCode() {
return categoryCode;
}
public void setCategoryCode(String categoryCode) {
this.categoryCode = categoryCode;
} }
public VATAmount add(VATAmount v) { public VATAmount add(VATAmount v) {
return new VATAmount(basis.add(v.getBasis()), calculated.add(v.getCalculated()), this.documentCode); return new VATAmount(basis.add(v.getBasis()), calculated.add(v.getCalculated()), this.categoryCode);
} }
public VATAmount subtract(VATAmount v) { public VATAmount subtract(VATAmount v) {
return new VATAmount(basis.subtract(v.getBasis()), calculated.subtract(v.getCalculated()), this.documentCode); return new VATAmount(basis.subtract(v.getBasis()), calculated.subtract(v.getCalculated()), this.categoryCode);
} }
} }

View File

@@ -422,7 +422,7 @@ class ZUGFeRDTransactionModelConverter {
TaxCategoryCodeType taxCategoryCode = xmlFactory.createTaxCategoryCodeType(); TaxCategoryCodeType taxCategoryCode = xmlFactory.createTaxCategoryCodeType();
VATAmount vatAmount = VATPercentAmountMap.get(currentTaxPercent); VATAmount vatAmount = VATPercentAmountMap.get(currentTaxPercent);
taxCategoryCode.setValue(vatAmount.getDocumentCode()); taxCategoryCode.setValue(vatAmount.getCategoryCode());
tradeTax.setCategoryCode(taxCategoryCode); tradeTax.setCategoryCode(taxCategoryCode);
VATAmount amount = VATPercentAmountMap.get(currentTaxPercent); VATAmount amount = VATPercentAmountMap.get(currentTaxPercent);
@@ -924,7 +924,7 @@ class ZUGFeRDTransactionModelConverter {
for (IZUGFeRDExportableItem currentItem : trans.getZFItems()) { for (IZUGFeRDExportableItem currentItem : trans.getZFItems()) {
BigDecimal percent = currentItem.getProduct().getVATPercent(); BigDecimal percent = currentItem.getProduct().getVATPercent();
LineCalc lc = new LineCalc(currentItem); LineCalc lc = new LineCalc(currentItem);
VATAmount itemVATAmount = new VATAmount(lc.getItemTotalNetAmount(), lc.getItemTotalVATAmount(), trans.getDocumentCode()); VATAmount itemVATAmount = new VATAmount(lc.getItemTotalNetAmount(), lc.getItemTotalVATAmount(), lc.getCategoryCode());
VATAmount current = hm.get(percent); VATAmount current = hm.get(percent);
if (current == null) { if (current == null) {
hm.put(percent, itemVATAmount); hm.put(percent, itemVATAmount);
@@ -958,7 +958,7 @@ class ZUGFeRDTransactionModelConverter {
VATAmount itemVATAmount = new VATAmount( VATAmount itemVATAmount = new VATAmount(
logisticsServiceCharge.getTotalAmount(), logisticsServiceCharge.getTotalAmount(),
logisticsServiceCharge.getTotalAmount() logisticsServiceCharge.getTotalAmount()
.multiply(percent).divide(new BigDecimal(100)), trans.getDocumentCode()); .multiply(percent).divide(new BigDecimal(100)), logisticsServiceCharge.getCategoryCode());
VATAmount current = hm.get(percent); VATAmount current = hm.get(percent);
if (current == null) { if (current == null) {
hm.put(percent, itemVATAmount); hm.put(percent, itemVATAmount);
@@ -973,7 +973,7 @@ class ZUGFeRDTransactionModelConverter {
BigDecimal percent = charge.getTaxPercent(); BigDecimal percent = charge.getTaxPercent();
VATAmount itemVATAmount = new VATAmount( VATAmount itemVATAmount = new VATAmount(
charge.getTotalAmount(), charge.getTotalAmount() charge.getTotalAmount(), charge.getTotalAmount()
.multiply(percent).divide(new BigDecimal(100)), trans.getDocumentCode()); .multiply(percent).divide(new BigDecimal(100)), charge.getCategoryCode());
VATAmount current = hm.get(percent); VATAmount current = hm.get(percent);
if (current == null) { if (current == null) {
hm.put(percent, itemVATAmount); hm.put(percent, itemVATAmount);
@@ -998,6 +998,7 @@ class ZUGFeRDTransactionModelConverter {
private BigDecimal itemTotalNetAmount; private BigDecimal itemTotalNetAmount;
private BigDecimal itemTotalVATAmount; private BigDecimal itemTotalVATAmount;
private BigDecimal itemNetAmount; private BigDecimal itemNetAmount;
private String categoryCode;
public LineCalc(IZUGFeRDExportableItem currentItem) { public LineCalc(IZUGFeRDExportableItem currentItem) {
@@ -1040,6 +1041,7 @@ class ZUGFeRDTransactionModelConverter {
.add(totalCharge) .add(totalCharge)
.divide(currentItem.getQuantity(), 4, .divide(currentItem.getQuantity(), 4,
BigDecimal.ROUND_HALF_UP); BigDecimal.ROUND_HALF_UP);
categoryCode = currentItem.getCategoryCode();
} }
@@ -1057,6 +1059,8 @@ class ZUGFeRDTransactionModelConverter {
return itemNetAmount; return itemNetAmount;
} }
public String getCategoryCode() { return categoryCode; }
} }
private class Totals { private class Totals {