税率转换,推送sap税率为整数

release
zhenghaiyang@ele-cloud.com 2 years ago
parent 1d1c22436e
commit 4643330511
  1. 45
      dxhy-erp/src/main/java/com/dxhy/erp/controller/SDNYMainProcessController.java

@ -34,6 +34,7 @@ import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.math.RoundingMode; import java.math.RoundingMode;
import java.text.DecimalFormat;
import java.text.ParseException; import java.text.ParseException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.*; import java.util.*;
@ -827,38 +828,30 @@ public class SDNYMainProcessController extends AbstractController {
if (snInvoiceDetail.getAmount() != null) if (snInvoiceDetail.getAmount() != null)
sapInvoiceDetail.setZJK(snInvoiceDetail.getAmount()); sapInvoiceDetail.setZJK(snInvoiceDetail.getAmount());
sapInvoiceDetail.setZHH(snInvoiceDetail.getRowNo()); sapInvoiceDetail.setZHH(snInvoiceDetail.getRowNo());
//将类似于0.03数据格式转化为3.00 //将类似于0.03数据格式转化为3.00
if (snInvoiceDetail.getTaxRate() != null && snInvoiceDetail.getTaxRate() != "") { if (snInvoiceDetail.getTaxRate() != null && snInvoiceDetail.getTaxRate() != "") {
sapInvoiceDetail.setZTAX(snInvoiceDetail.getTaxRate()); String taxRate = snInvoiceDetail.getTaxRate();
if ("0".equals(snInvoiceDetail.getTaxRate())) { sapInvoiceDetail.setZTAX(taxRate);
if (taxRate.contains("%")){
taxRate = taxRate.replace("%","");
}
if ("0".equals(taxRate) || "*".equals(taxRate) || "**".equals(taxRate) || "***".equals(taxRate)) {
sapInvoiceDetail.setZTAX("0.00"); sapInvoiceDetail.setZTAX("0.00");
sapInvoiceDetail.setZSM(sapInvoiceDetail.getZTAX()); sapInvoiceDetail.setZSM(sapInvoiceDetail.getZTAX());
} } else {
if (snInvoiceDetail.getTaxRate().contains(".")) { BigDecimal tax = new BigDecimal(taxRate);
String getTaxRate = snInvoiceDetail.getTaxRate();
// if (snInvoiceDetail.getTaxRate().length() > 4) {
// getTaxRate = getTaxRate.substring(0, 4);
// }
BigDecimal tax = new BigDecimal(getTaxRate);
sapInvoiceDetail.setZSM(getZSM(tax.toString())); sapInvoiceDetail.setZSM(getZSM(tax.toString()));
BigDecimal tax1 = tax.multiply(new BigDecimal("100")); BigDecimal tax1 = tax.multiply(new BigDecimal("100"));
sapInvoiceDetail.setZTAX(tax1.toString()); sapInvoiceDetail.setZTAX(tax1.toString());
if (tax1.compareTo(new BigDecimal("100")) == 1) { if (tax1.compareTo(new BigDecimal("100")) < 1) {
sapInvoiceDetail.setZTAX(snInvoiceDetail.getTaxRate()); sapInvoiceDetail.setZTAX(taxRate);
}else if (tax1.scale() > 2){ }else if (tax1.scale() > 2){
BigDecimal substring = tax1.setScale(2, RoundingMode.FLOOR); DecimalFormat decimalFormat = new DecimalFormat("#.00");
sapInvoiceDetail.setZTAX(substring.toPlainString()); String formattedDecimal = decimalFormat.format(tax1);
sapInvoiceDetail.setZTAX(formattedDecimal);
} }
} }
if (snInvoiceDetail.getTaxRate().contains("%") && !snInvoiceDetail.getTaxRate().contains(".")) {
String replace = snInvoiceDetail.getTaxRate().replace("%", ".00");
String replaceZsm = snInvoiceDetail.getTaxRate().replace("%","");
sapInvoiceDetail.setZSM(getZSM(replaceZsm));
sapInvoiceDetail.setZTAX(replace);
}
} }
// if (invoiceLineList.size() == 1 && snInvoice.getTaxRate() == null) { // if (invoiceLineList.size() == 1 && snInvoice.getTaxRate() == null) {
// info.setZTAX(sapInvoiceDetail.getZTAX()); // info.setZTAX(sapInvoiceDetail.getZTAX());
@ -1288,4 +1281,12 @@ public class SDNYMainProcessController extends AbstractController {
return result; return result;
} }
public static void main(String[] args) {
DecimalFormat decimalFormat = new DecimalFormat("#.00");
String formattedDecimal = decimalFormat.format(new BigDecimal("15"));
BigDecimal bigDecimal = new BigDecimal("101");
boolean b = bigDecimal.compareTo(new BigDecimal("110")) < 1;
System.out.println();
}
} }

Loading…
Cancel
Save