|  |  | 
 |  |  |             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)); | 
 |  |  |  | 
 |  |  |                         BigDecimal markupPartner = oi.getMarkupPartner() == null ? new BigDecimal(0) : oi.getMarkupPartner(); | 
 |  |  |                         BigDecimal markupPartner = getAmount(oi.getMarkupPartner()); | 
 |  |  |                         lackFeePartner = markupPartner.multiply(new BigDecimal(lackNum)); | 
 |  |  |  | 
 |  |  |                         lackFeePlatform = oi.getMarkupOne().multiply(new BigDecimal(lackNum)); | 
 |  |  |                         lackFeePlatform = lackFeePlatform.add(oi.getMarkupTwo().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){ |