| | |
| | | orderLogService.saveBatch(orderLogList); |
| | | //判断订单货物是否全部发货完毕 |
| | | Boolean delivery = true; |
| | | log.info("打印订单货物:{}",orderItemList); |
| | | |
| | | //需要再此处判断订单是否有申请售后状态 |
| | | for (OrderItem orderItem : orderItemList) { |
| | | if (orderItem.getDeliverNumber() < orderItem.getNum()) { |
| | | delivery = false; |
| | | break; |
| | | // 先判断是否是未申请售后的订单 |
| | | if (OrderItemAfterSaleStatusEnum.NOT_APPLIED.name().equals(orderItem.getAfterSaleStatus())){ |
| | | // 发货数量小于订单数量则全发 |
| | | log.info("打印发货数量:{},该商品订单数量货物对应的:{}",orderItem.getDeliverNumber(),orderItem.getNum()); |
| | | if (orderItem.getDeliverNumber() < orderItem.getNum()) { |
| | | delivery = false; |
| | | break; |
| | | } |
| | | }else{ |
| | | //全部退回情况 |
| | | if(Objects.equals(orderItem.getReturnGoodsNumber(), orderItem.getNum())){ |
| | | break; |
| | | } |
| | | //存在情况 退回数量不是全部退回而是部分退回 |
| | | if (orderItem.getReturnGoodsNumber() + orderItem.getDeliverNumber() < orderItem.getNum()) { |
| | | delivery = false; |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | log.info("delivery状态:{}",delivery); |
| | | //是否全部发货 |
| | | if (delivery) { |
| | | return delivery(orderSn, invoiceNumber, logisticsId); |
| | |
| | | for (Order unpaidOrder : unpaidOrders) { |
| | | this.systemCancel(unpaidOrder.getSn(), "拼团活动结束订单未付款,系统自动取消订单", false); |
| | | } |
| | | |
| | | } |
| | | List<Order> paidOrders = listMap.get(PayStatusEnum.PAID.name()); |
| | | //如待参团人数大于0,并已开启虚拟成团 |
| | |
| | | // 创建表头 |
| | | Row header = sheet.createRow(0); |
| | | String[] headers = {"主订单编号", "子订单编号", "选购商品", "商品数量", "商品ID", "商品单价", "订单应付金额", |
| | | "运费", "优惠总金额", "平台优惠", "商家优惠", "商家改价", "支付方式","买家名称", "收件人", "收件人手机号", |
| | | "运费", "优惠总金额", "平台优惠", "商家优惠", "商家改价", "支付方式","会员ID","买家名称", "收件人", "收件人手机号", |
| | | "省", "市", "区", "街道", "详细地址", "买家留言", "订单提交时间", "支付完成时间", "来源", |
| | | "订单状态", "订单类型", "售后状态", "取消原因", "发货时间", "完成时间", "店铺"}; |
| | | |
| | |
| | | row.createCell(10).setCellValue(dto.getStoreMarketingCost()!=null?dto.getStoreMarketingCost():0); |
| | | row.createCell(11).setCellValue(dto.getUpdatePrice()!=null?dto.getUpdatePrice():0); |
| | | row.createCell(12).setCellValue(dto.getPaymentMethod()); |
| | | row.createCell(13).setCellValue(dto.getMemberId()); |
| | | row.createCell(14).setCellValue(dto.getNickName()); |
| | | |
| | | row.createCell(13).setCellValue(dto.getNickName()); |
| | | |
| | | row.createCell(14).setCellValue(dto.getConsigneeName()); |
| | | row.createCell(15).setCellValue(dto.getConsigneeMobile()); |
| | | row.createCell(16).setCellValue(dto.getProvince()); |
| | | row.createCell(17).setCellValue(dto.getCity()); |
| | | row.createCell(18).setCellValue(dto.getDistrict()); |
| | | row.createCell(19).setCellValue(dto.getStreet()); |
| | | row.createCell(20).setCellValue(dto.getConsigneeDetail()); |
| | | row.createCell(21).setCellValue(dto.getRemark()); |
| | | row.createCell(22).setCellValue(dto.getCreateTime()); |
| | | row.createCell(23).setCellValue(dto.getPaymentTime()); |
| | | row.createCell(24).setCellValue(dto.getClientType()); |
| | | row.createCell(25).setCellValue(dto.getOrderStatus()); |
| | | row.createCell(26).setCellValue(dto.getOrderType()); |
| | | row.createCell(27).setCellValue(dto.getAfterSaleStatus()); |
| | | row.createCell(28).setCellValue(dto.getCancelReason()); |
| | | row.createCell(29).setCellValue(dto.getLogisticsTime()); |
| | | row.createCell(30).setCellValue(dto.getCompleteTime()); |
| | | row.createCell(31).setCellValue(dto.getStoreName()); |
| | | row.createCell(15).setCellValue(dto.getConsigneeName()); |
| | | row.createCell(16).setCellValue(dto.getConsigneeMobile()); |
| | | row.createCell(17).setCellValue(dto.getProvince()); |
| | | row.createCell(18).setCellValue(dto.getCity()); |
| | | row.createCell(19).setCellValue(dto.getDistrict()); |
| | | row.createCell(20).setCellValue(dto.getStreet()); |
| | | row.createCell(21).setCellValue(dto.getConsigneeDetail()); |
| | | row.createCell(22).setCellValue(dto.getRemark()); |
| | | row.createCell(23).setCellValue(dto.getCreateTime()); |
| | | row.createCell(24).setCellValue(dto.getPaymentTime()); |
| | | row.createCell(25).setCellValue(dto.getClientType()); |
| | | row.createCell(26).setCellValue(dto.getOrderStatus()); |
| | | row.createCell(27).setCellValue(dto.getOrderType()); |
| | | row.createCell(28).setCellValue(dto.getAfterSaleStatus()); |
| | | row.createCell(29).setCellValue(dto.getCancelReason()); |
| | | row.createCell(30).setCellValue(dto.getLogisticsTime()); |
| | | row.createCell(31).setCellValue(dto.getCompleteTime()); |
| | | row.createCell(32).setCellValue(dto.getStoreName()); |
| | | } |
| | | |
| | | //修改列宽 |