diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillServiceImpl.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillServiceImpl.java index 4e2900364..e1ba0eb01 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillServiceImpl.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillServiceImpl.java @@ -1808,8 +1808,12 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb for (EmisWaybillFeeitem feeItem:feeitemList) { BigDecimal realFee = feeItem.getFee(); + if(realFee==null){ + realFee=BigDecimal.ZERO; + } + // 汇率计算 - if( !StringUtils.isEmpty(feeItem.getCurrency()) ){ + if( !StringUtils.isEmpty(feeItem.getCurrency()) && !"CNY".equals(feeItem.getCurrency()) ){ EmisExchangeRate emisExchangeRate=emisExchangeRateMapper.getValidExchangeRate(feeItem.getCurrency(),"CNY"); if(emisExchangeRate!=null){ @@ -2190,18 +2194,23 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb for (EmisWaybillFeeitem feeItem:feeitemList) { BigDecimal realFee = feeItem.getFee(); - // 汇率计算 - if( !StringUtils.isEmpty(feeItem.getCurrency()) ){ - EmisExchangeRate emisExchangeRate=emisExchangeRateMapper.getValidExchangeRate(feeItem.getCurrency(),"CNY"); + if(realFee==null){ + realFee=BigDecimal.ZERO; + } + if(realFee!=null){ + // 汇率计算 + if( !StringUtils.isEmpty(feeItem.getCurrency()) && !"CNY".equals(feeItem.getCurrency() ){ + EmisExchangeRate emisExchangeRate=emisExchangeRateMapper.getValidExchangeRate(feeItem.getCurrency(),"CNY"); - if(emisExchangeRate!=null){ - BigDecimal rate=BigDecimal.valueOf(Double.valueOf(emisExchangeRate.getRate())); - realFee=realFee.multiply(rate); - realFee=realFee.setScale(2,BigDecimal.ROUND_HALF_UP); - } - // 汇率查不到的情况就不计算 - else{ -// realFee=BigDecimal.ZERO; + if(emisExchangeRate!=null){ + BigDecimal rate=BigDecimal.valueOf(Double.valueOf(emisExchangeRate.getRate())); + realFee=realFee.multiply(rate); + realFee=realFee.setScale(2,BigDecimal.ROUND_HALF_UP); + } + // 汇率查不到的情况就不计算 + else{ + // realFee=BigDecimal.ZERO; + } } }