|
|
@ -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(); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|