| | |
| | | deduct = oi.getSupplierPrice().multiply(new BigDecimal(dto.getNum())); |
| | | } else if(Constants.CHECK_TYPE.lack.name().equals(dto.getType())){ |
| | | deduct = realPrice.multiply(new BigDecimal(dto.getNum())); |
| | | //质检退款,按照这个单价扣,如果3扎都缺货,按照总的金额退 |
| | | //缺货数量等于商品总数时按真实总价退款 |
| | | if(dto.getNum().intValue() == oi.getNum() && oi.getRealTotal() != null){ |
| | | deduct = oi.getRealTotal(); |
| | | } |
| | | } else if (Constants.CHECK_TYPE.reduce.name().equals(dto.getType())) { |
| | | if(deductAmount == null){ |
| | | throw new ValidationException("降级金额不能为空"); |
| | | } |
| | | deduct = deductAmount.multiply(new BigDecimal(dto.getNum())); |
| | | BigDecimal dt = realPrice.multiply(new BigDecimal(dto.getNum())); |
| | | if(deduct.doubleValue() > dt.doubleValue()){ |
| | | if(deduct.doubleValue() > dt.doubleValue() |
| | | || (oi.getRealTotal() != null && deduct.doubleValue() > oi.getRealTotal().doubleValue())){ |
| | | throw new ValidationException("降级金额不能大于商品处理数量金额"); |
| | | } |
| | | } |