增加判断逻辑

release
zhenghaiyang@ele-cloud.com 2 years ago
parent 4392b49776
commit a265ec8cc9
  1. 51
      dxhy-core/src/main/java/com/dxhy/core/service/singletable/impl/CoreSaveInvoiceInfoServiceImpl.java

@ -121,18 +121,24 @@ public class CoreSaveInvoiceInfoServiceImpl extends MpBaseServiceImpl<TDxRecordI
// invoiceStatistics.setTaxAmount(queryInvoiceResult.getBigDecimal("taxAmount")); // invoiceStatistics.setTaxAmount(queryInvoiceResult.getBigDecimal("taxAmount"));
String taxRate = queryInvoiceResult.getString("taxRate"); String taxRate = queryInvoiceResult.getString("taxRate");
log.info("taxRate={}",taxRate); log.info("taxRate={}",taxRate);
if(taxRate != null && StringUtils.isNoneBlank(taxRate)) { if(StringUtils.isNotEmpty(taxRate)) {
if (taxRate.contains("%")) { if (taxRate.contains("%")) {
taxRate = taxRate.replace("%", ""); taxRate = taxRate.replace("%", "");
} }
invoiceStatistics.setTaxRate(new BigDecimal(taxRate)); invoiceStatistics.setTaxRate(new BigDecimal(taxRate));
} }
try { String amount = queryInvoiceResult.getString("taxAmount");
invoiceStatistics.setTaxAmount(queryInvoiceResult.getBigDecimal("taxAmount")); if(StringUtils.isNotEmpty(amount)){
} catch (Exception e) { try {
invoiceStatistics.setTaxAmount(new BigDecimal("0")); invoiceStatistics.setTaxAmount(queryInvoiceResult.getBigDecimal("taxAmount"));
} catch (Exception e) {
invoiceStatistics.setTaxAmount(new BigDecimal("0"));
}
}
String resultString = queryInvoiceResult.getString("totalAmount");
if(StringUtils.isNotEmpty(resultString)){
invoiceStatistics.setTotalAmount(queryInvoiceResult.getBigDecimal("totalAmount"));
} }
invoiceStatistics.setTotalAmount(queryInvoiceResult.getBigDecimal("totalAmount"));
invoiceStatisticsList.add(invoiceStatistics); invoiceStatisticsList.add(invoiceStatistics);
} else { } else {
if (queryInvoiceResult.containsKey("detailList")) { if (queryInvoiceResult.containsKey("detailList")) {
@ -142,27 +148,36 @@ public class CoreSaveInvoiceInfoServiceImpl extends MpBaseServiceImpl<TDxRecordI
Map<String, String> slvMap = new HashMap<>(16); Map<String, String> slvMap = new HashMap<>(16);
for (int i = 0; i < dataArray.size(); i++) { for (int i = 0; i < dataArray.size(); i++) {
JSONObject invoiceDetailQuery = dataArray.getJSONObject(i); JSONObject invoiceDetailQuery = dataArray.getJSONObject(i);
String slvPri = queryInvoiceResult.getString("invoiceCode") String taxRate = invoiceDetailQuery.getString("taxRate");
+ queryInvoiceResult.getString("invoiceNo") + invoiceDetailQuery.getString("taxRate"); if(StringUtils.isEmpty(taxRate)){
taxRate = "";
}
String slvPri = queryInvoiceResult.getString("invoiceCode") + queryInvoiceResult.getString("invoiceNo") + taxRate;
if (!slvMap.containsKey(slvPri)) { if (!slvMap.containsKey(slvPri)) {
slvMap.put(slvPri, slvPri); slvMap.put(slvPri, slvPri);
TDxRecordInvoiceStatistics invoiceStatistics = new TDxRecordInvoiceStatistics(); TDxRecordInvoiceStatistics invoiceStatistics = new TDxRecordInvoiceStatistics();
invoiceStatistics.setCreateDate(DateUtils.getSqlDateLong()); invoiceStatistics.setCreateDate(DateUtils.getSqlDateLong());
invoiceStatistics.setInvoiceCode(queryInvoiceResult.getString("invoiceCode")); invoiceStatistics.setInvoiceCode(queryInvoiceResult.getString("invoiceCode"));
invoiceStatistics.setInvoiceNo(queryInvoiceResult.getString("invoiceNo")); invoiceStatistics.setInvoiceNo(queryInvoiceResult.getString("invoiceNo"));
invoiceStatistics.setDetailAmount(invoiceDetailQuery.getBigDecimal("detailAmount")); if(StringUtils.isNotBlank(taxRate)){
try { try {
invoiceStatistics.setTaxRate(invoiceDetailQuery.getBigDecimal("taxRate")); invoiceStatistics.setTaxRate(invoiceDetailQuery.getBigDecimal("taxRate"));
} catch (Exception e) { } catch (Exception e) {
invoiceStatistics.setTaxRate(new BigDecimal("0")); invoiceStatistics.setTaxRate(new BigDecimal("0"));
} }
try {
invoiceStatistics.setTaxAmount(invoiceDetailQuery.getBigDecimal("taxAmount"));
} catch (Exception e) {
invoiceStatistics.setTaxAmount(new BigDecimal("0"));
} }
String detailAmount = invoiceDetailQuery.getString("detailAmount"); String detailAmount = invoiceDetailQuery.getString("detailAmount");
String taxAmount = invoiceDetailQuery.getString("taxAmount"); String taxAmount = invoiceDetailQuery.getString("taxAmount");
if(StringUtils.isNotBlank(detailAmount)){
invoiceStatistics.setDetailAmount(invoiceDetailQuery.getBigDecimal("detailAmount"));
}
if(StringUtils.isNotBlank(taxAmount)){
try {
invoiceStatistics.setTaxAmount(invoiceDetailQuery.getBigDecimal("taxAmount"));
} catch (Exception e) {
invoiceStatistics.setTaxAmount(new BigDecimal("0"));
}
}
if (StringUtils.isNotBlank(detailAmount) && StringUtils.isNotBlank(taxAmount)) { if (StringUtils.isNotBlank(detailAmount) && StringUtils.isNotBlank(taxAmount)) {
try { try {
detailAmount = new BigDecimal(detailAmount).toPlainString(); detailAmount = new BigDecimal(detailAmount).toPlainString();

Loading…
Cancel
Save