| | |
| | | int replaceNum = 0;//补货数量 |
| | | BigDecimal replaceFee = new BigDecimal(0);//补货扣款 |
| | | int lackNum = 0;//缺货数量 |
| | | BigDecimal lackFeeSupplier = new BigDecimal(0);//缺货扣款 |
| | | BigDecimal lackFeePartner = new BigDecimal(0);//缺货扣款 |
| | | BigDecimal lackFeePlatform = new BigDecimal(0);//缺货扣款 |
| | | BigDecimal lackFeeSupplier = new BigDecimal(0);//供应商缺货扣款 |
| | | BigDecimal lackFeePartner = new BigDecimal(0);//合伙人缺货扣款 |
| | | BigDecimal lackFeePlatform = new BigDecimal(0);//平台缺货扣款 |
| | | if (orderItemCheckList != null && orderItemCheckList.size() > 0) { |
| | | for (OrderItemCheck c : orderItemCheckList) { |
| | | Integer num = c.getNum(); |
| | |
| | | String type = c.getType(); |
| | | if (Constants.CHECK_TYPE.reduce.name().equals(type)) { |
| | | checkNum = num == null ? 0 : num; |
| | | checkFee = amount == null ? new BigDecimal(0) : amount; |
| | | checkFee = getAmount(amount); |
| | | } else if (Constants.CHECK_TYPE.lack.name().equals(type)) { |
| | | lackNum = num == null ? 0 : num; |
| | | lackFeeSupplier = oi.getSupplierPrice().multiply(new BigDecimal(lackNum)); |
| | | lackFeePartner = oi.getMarkupPartner().multiply(new BigDecimal(lackNum)); |
| | | lackFeePlatform = oi.getMarkupOne().multiply(new BigDecimal(lackNum)); |
| | | lackFeePlatform = lackFeePlatform.add(oi.getMarkupTwo().multiply(new BigDecimal(lackNum))); |
| | | |
| | | BigDecimal markupPartner = getAmount(oi.getMarkupPartner()); |
| | | lackFeePartner = markupPartner.multiply(new BigDecimal(lackNum)); |
| | | |
| | | BigDecimal markupOne = getAmount(oi.getMarkupOne()); |
| | | BigDecimal markupTwo = getAmount(oi.getMarkupTwo()); |
| | | BigDecimal ppPrice = markupOne.add(markupTwo).subtract(getAmount(oi.getCouponAmount()));//1次加价+2次加价-优惠券金额 |
| | | lackFeePlatform = lackFeePlatform.add(ppPrice.multiply(new BigDecimal(lackNum))); |
| | | } else if (Constants.CHECK_TYPE.replace.name().equals(type)) { |
| | | replaceNum = num == null ? 0 : num; |
| | | replaceFee = amount == null ? new BigDecimal(0) : amount; |
| | | replaceFee = getAmount(amount); |
| | | } |
| | | } |
| | | } |
| | |
| | | if (serviceFeeRate == null) { |
| | | ois.setServiceFeeRate(getFeeRate(oi)); |
| | | } |
| | | ois.setServiceFee(getServiceFee(oi, replaceNum, lackNum, ois.getServiceFeeRate())); |
| | | ois.setServiceFee(getServiceFee(oi, replaceNum, lackNum, ois.getServiceFeeRate()));//服务费 |
| | | |
| | | ois.setStationFee(getStationFee(oi, replaceNum, lackNum)); |
| | | ois.setStationFee(getStationFee(oi, replaceNum, lackNum));//集货站运费 |
| | | } |
| | | |
| | | //售后计算 |
| | |
| | | |
| | | private void setPartnerIncome(OrderItem oi, OrderItemSettlement ois){ |
| | | //合伙人结算:合伙人加价-理赔-缺货扣款 = 结算金额 |
| | | BigDecimal markupPartner = oi.getMarkupPartner() == null ? new BigDecimal(0) : oi.getMarkupPartner(); |
| | | BigDecimal markupPartner = getAmount(oi.getMarkupPartner()); |
| | | BigDecimal totalAmount = markupPartner.multiply(new BigDecimal(oi.getNum())); |
| | | BigDecimal settlementAmount = totalAmount.subtract(ois.getSalesFeePartner()).subtract(ois.getLackFeePartner());//结算金额 |
| | | if(settlementAmount.doubleValue() < 0){ |