贾斯珀报告不会加载

时间:2015-11-12 03:41:02

标签: jasper-reports

我有这个代码基本上从qty中划分税并从价格中扣除:

$ F {unitPriceStd} .subtract($ F {taxAmt} .divide($ F {totalQty}))

但是jrxml不会加载。删除这段代码将加载.jrxml。知道为什么吗?

所有字段都是BigDecimal。

错误原因是taxAmt为0.00,并在划分为totalQty时导致错误。知道如何解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

这个表达式可能抛出一系列异常而taxAmt为零实际上都不是。此修改后的表达式NullPointerExceptionArithmeticException是安全的,但是,我无法判断这是否是您的业务逻辑所需要的:

($F{unitPriceStd} == null ? BigDecimal.ZERO : $F{unitPriceStd}) .subtract( ($F{taxAmt} == null ? BigDecimal.ZERO : $F{taxAmt}) .divide( ($F{totalQty} == null || $F{totalQty}.equals(BigDecimal.ZERO)) ? BigDecimal.ONE : $F{totalQty} ))