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

release
zhenghaiyang@ele-cloud.com 2 years ago
parent 1d1c22436e
commit 4643330511
  1. 43
      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 java.math.BigDecimal;
import java.math.RoundingMode;
import java.text.DecimalFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
@ -830,35 +831,27 @@ public class SDNYMainProcessController extends AbstractController {
sapInvoiceDetail.setZHH(snInvoiceDetail.getRowNo());
//将类似于0.03数据格式转化为3.00
if (snInvoiceDetail.getTaxRate() != null && snInvoiceDetail.getTaxRate() != "") {
sapInvoiceDetail.setZTAX(snInvoiceDetail.getTaxRate());
if ("0".equals(snInvoiceDetail.getTaxRate())) {
String taxRate = 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.setZSM(sapInvoiceDetail.getZTAX());
}
if (snInvoiceDetail.getTaxRate().contains(".")) {
String getTaxRate = snInvoiceDetail.getTaxRate();
// if (snInvoiceDetail.getTaxRate().length() > 4) {
// getTaxRate = getTaxRate.substring(0, 4);
// }
BigDecimal tax = new BigDecimal(getTaxRate);
} else {
BigDecimal tax = new BigDecimal(taxRate);
sapInvoiceDetail.setZSM(getZSM(tax.toString()));
BigDecimal tax1 = tax.multiply(new BigDecimal("100"));
sapInvoiceDetail.setZTAX(tax1.toString());
if (tax1.compareTo(new BigDecimal("100")) == 1) {
sapInvoiceDetail.setZTAX(snInvoiceDetail.getTaxRate());
if (tax1.compareTo(new BigDecimal("100")) < 1) {
sapInvoiceDetail.setZTAX(taxRate);
}else if (tax1.scale() > 2){
BigDecimal substring = tax1.setScale(2, RoundingMode.FLOOR);
sapInvoiceDetail.setZTAX(substring.toPlainString());
DecimalFormat decimalFormat = new DecimalFormat("#.00");
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) {
// info.setZTAX(sapInvoiceDetail.getZTAX());
@ -1288,4 +1281,12 @@ public class SDNYMainProcessController extends AbstractController {
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