diff --git a/src/main/java/au/com/royalpay/payment/manage/tradelog/core/impls/TradeLogServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/tradelog/core/impls/TradeLogServiceImpl.java index 3862de24a..fa01df57d 100644 --- a/src/main/java/au/com/royalpay/payment/manage/tradelog/core/impls/TradeLogServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/tradelog/core/impls/TradeLogServiceImpl.java @@ -542,6 +542,10 @@ public class TradeLogServiceImpl implements TradeLogService { .filter(log -> log.getBigDecimal("settle_amount") != null) .map(log -> getSymbol(log).multiply(log.getBigDecimal("total_surcharge").add(log.getBigDecimal("tax_amount")))) .reduce(BigDecimal::add).orElse(BigDecimal.ZERO)); + analysis.put("tax_amount", logs.parallelStream() + .filter(log -> log.getBigDecimal("settle_amount") != null) + .map(log -> getSymbol(log).multiply(log.getBigDecimal("tax_amount"))) + .reduce(BigDecimal::add).orElse(BigDecimal.ZERO)); analysis.put("wechat_fee", logs.parallelStream() .filter(log -> log.getBigDecimal("settle_amount") != null) .filter(log -> "WechatSettlement".contains(log.getString("channel"))) @@ -604,11 +608,8 @@ public class TradeLogServiceImpl implements TradeLogService { parmerters.put("wechat_fee", takeDecimalOrDefault(analysis, "wechat_fee", BigDecimal.ZERO)); parmerters.put("bestpay_fee", takeDecimalOrDefault(analysis, "bestpay_fee", BigDecimal.ZERO)); parmerters.put("jd_fee", takeDecimalOrDefault(analysis, "jd_fee", BigDecimal.ZERO)); - parmerters.put("alipay_online_fee", takeDecimalOrDefault(analysis, "alipay_online_fee", BigDecimal.ZERO)); // parmerters.put("gst", analysis.containsKey("clearing_fee") ? - // analysis.getBigDecimal("clearing_fee").multiply(new BigDecimal(0.11)).setScale(2, - // BigDecimal.ROUND_DOWN) : 0); -// parmerters.put("gst", -// analysis.containsKey("total_royal_surcharge") ? analysis.getBigDecimal("total_royal_surcharge").divide(new BigDecimal(11), 2, BigDecimal.ROUND_DOWN) : 0); + parmerters.put("alipay_online_fee", takeDecimalOrDefault(analysis, "alipay_online_fee", BigDecimal.ZERO)); + parmerters.put("gst", takeDecimalOrDefault(analysis, "tax_amount", BigDecimal.ZERO)); dataList.parallelStream().forEach(item -> { scaleDecimalVal(item, "display_amount", item.getString("currency")); String platformCurrency = PlatformEnvironment.getEnv().getForeignCurrency(); diff --git a/src/main/resources/jasper/partner_invoice_gst.jasper b/src/main/resources/jasper/partner_invoice_gst.jasper index 9c01d8c81..9f8703f18 100644 Binary files a/src/main/resources/jasper/partner_invoice_gst.jasper and b/src/main/resources/jasper/partner_invoice_gst.jasper differ diff --git a/src/main/resources/jasper/partner_invoice_gst20180412.jasper b/src/main/resources/jasper/partner_invoice_gst20180412.jasper new file mode 100644 index 000000000..9c01d8c81 Binary files /dev/null and b/src/main/resources/jasper/partner_invoice_gst20180412.jasper differ diff --git a/src/main/resources/jasper/trans_excel.jasper b/src/main/resources/jasper/trans_excel.jasper index 70a836128..714241425 100644 Binary files a/src/main/resources/jasper/trans_excel.jasper and b/src/main/resources/jasper/trans_excel.jasper differ diff --git a/src/main/resources/jasper/trans_excel20180412.jasper b/src/main/resources/jasper/trans_excel20180412.jasper new file mode 100644 index 000000000..70a836128 Binary files /dev/null and b/src/main/resources/jasper/trans_excel20180412.jasper differ