Merge remote-tracking branch 'origin/test' into test

release
yefei 2 years ago
commit eb9aee33ee
  1. 24
      dxhy-erp/src/main/java/com/dxhy/erp/controller/SDNYMainProcessController.java

@ -33,6 +33,7 @@ import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
@ -843,11 +844,11 @@ public class SDNYMainProcessController extends AbstractController {
sapInvoiceDetail.setZSM(getZSM(tax.toString()));
BigDecimal tax1 = tax.multiply(new BigDecimal("100"));
sapInvoiceDetail.setZTAX(tax1.toString());
if (tax1.toPlainString().indexOf(".")>=3) {
if (tax1.compareTo(new BigDecimal("100")) == 1) {
sapInvoiceDetail.setZTAX(snInvoiceDetail.getTaxRate());
}else if (tax1.toPlainString().length()-tax1.toPlainString().indexOf(".")>3){
String substring = tax1.toPlainString().substring(0, tax1.toPlainString().indexOf(".") + 3);
sapInvoiceDetail.setZTAX(substring);
}else if (tax1.scale() > 2){
BigDecimal substring = tax1.setScale(2, RoundingMode.FLOOR);
sapInvoiceDetail.setZTAX(substring.toPlainString());
}
}
@ -910,7 +911,7 @@ public class SDNYMainProcessController extends AbstractController {
if (taxRate != null && !taxRate.contains("%")) {
BigDecimal bigDecimal = new BigDecimal(taxRate);
BigDecimal multiply = bigDecimal.multiply(new BigDecimal("100"));
info.setZTAX(multiply.toString());
info.setZTAX(multiply.toPlainString());
info.setZSM(getZSM(taxRate));
}
if (taxRate != null && taxRate.contains("%")) {
@ -923,13 +924,12 @@ public class SDNYMainProcessController extends AbstractController {
info.setZSM(getZSM(divide.toString()));
}
if (taxRate != null && taxRate.contains(".") && !taxRate.contains("%")) {
if (taxRate.length() > 4) {
taxRate = taxRate.substring(0, 4);
BigDecimal tax = new BigDecimal(taxRate);
info.setZSM(getZSM(tax.toString()));
BigDecimal tax1 = tax.multiply(new BigDecimal("100"));
info.setZTAX(tax1.toString());
}
BigDecimal tax = new BigDecimal(taxRate);
info.setZSM(getZSM(tax.toPlainString()));
BigDecimal tax1 = tax.multiply(new BigDecimal("100"));
info.setZTAX(tax1.setScale(2,RoundingMode.FLOOR).toPlainString());
}
if (taxRate != null && "0".equals(taxRate)) {
info.setZTAX("0.00");

Loading…
Cancel
Save