|
|
|
@ -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.*; |
|
|
|
@ -842,11 +843,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()); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
@ -909,7 +910,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("%")) { |
|
|
|
@ -922,13 +923,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())); |
|
|
|
|
info.setZSM(getZSM(tax.toPlainString())); |
|
|
|
|
BigDecimal tax1 = tax.multiply(new BigDecimal("100")); |
|
|
|
|
info.setZTAX(tax1.toString()); |
|
|
|
|
} |
|
|
|
|
info.setZTAX(tax1.setScale(2,RoundingMode.FLOOR).toPlainString()); |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
if (taxRate != null && "0".equals(taxRate)) { |
|
|
|
|
info.setZTAX("0.00"); |
|
|
|
|