Przeglądaj źródła

订单退换货

24282 1 rok temu
rodzic
commit
dfed49775b

+ 24 - 2
sd-business/src/main/java/com/sd/business/controller/order/OrderExchangeDetailController.java

@@ -1,7 +1,11 @@
 package com.sd.business.controller.order;
 
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.sd.business.entity.order.dto.OrderExchangeDetailSelectDto;
+import com.sd.business.entity.order.vo.OrderExchangeDetailVo;
+import com.sd.business.service.order.OrderExchangeDetailService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
 
 
 /**
@@ -16,5 +20,23 @@ import org.springframework.web.bind.annotation.RestController;
 @RequestMapping("/orderExchangeDetail")
 public class OrderExchangeDetailController {
 
+    @Autowired
+    private OrderExchangeDetailService orderExchangeDetailService;
+
+    /**
+     * 订单退换货分页
+     */
+    @PostMapping("/page")
+    public Page<OrderExchangeDetailVo> page(@RequestBody OrderExchangeDetailSelectDto dto) {
+        return orderExchangeDetailService.getPage(dto);
+    }
+
+    /**
+     * 订单退换货分页
+     */
+    @GetMapping("/excelExport")
+    public void excelExport(@RequestBody OrderExchangeDetailSelectDto dto) {
+        orderExchangeDetailService.excelExport(dto);
+    }
 
 }

+ 35 - 0
sd-business/src/main/java/com/sd/business/entity/order/dto/OrderExchangeDetailSelectDto.java

@@ -14,4 +14,39 @@ import lombok.Setter;
 @Setter
 public class OrderExchangeDetailSelectDto extends BaseSelectDto {
 
+    /**
+     * 类型 1退货 2换货
+     */
+    private Integer type;
+
+    /**
+     * sku规格品号
+     */
+    private String skuSpecCode;
+
+    /**
+     * sku规格品名
+     */
+    private String skuSpecName;
+
+    /**
+     * 部门名称
+     */
+    private String departmentId;
+
+    /**
+     * 订单号
+     */
+    private String orderCode;
+
+    /**
+     * 万里牛订单号
+     */
+    private String orderWlnCode;
+
+    /**
+     * 单号
+     */
+    private String code;
+
 }

+ 3 - 0
sd-business/src/main/java/com/sd/business/entity/order/po/OrderExchangeDetail.java

@@ -1,5 +1,6 @@
 package com.sd.business.entity.order.po;
 
+import com.alibaba.excel.annotation.ExcelProperty;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.ruoyi.common.core.domain.BasePo;
 import lombok.Getter;
@@ -35,6 +36,7 @@ public class OrderExchangeDetail extends BasePo {
     /**
      * 退换货数量
      */
+    @ExcelProperty(value = "退货数量", index = 6)
     @NotNull(message = "退换货数量不能为空")
     private BigDecimal quantity;
 
@@ -48,4 +50,5 @@ public class OrderExchangeDetail extends BasePo {
      */
     private Integer exchangeStatus;
 
+
 }

+ 33 - 0
sd-business/src/main/java/com/sd/business/entity/order/vo/OrderExchangeDetailVo.java

@@ -1,10 +1,13 @@
 package com.sd.business.entity.order.vo;
 
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
 import com.sd.business.entity.order.po.OrderExchangeDetail;
 import lombok.Getter;
 import lombok.Setter;
 
 import java.math.BigDecimal;
+import java.util.Date;
 
 /**
  * 订单退换货明细列表查询返回值实体
@@ -14,6 +17,7 @@ import java.math.BigDecimal;
  */
 @Getter
 @Setter
+@ExcelIgnoreUnannotated
 public class OrderExchangeDetailVo extends OrderExchangeDetail {
 
     /**
@@ -24,11 +28,13 @@ public class OrderExchangeDetailVo extends OrderExchangeDetail {
     /**
      * sku规格品号
      */
+    @ExcelProperty(value = "sku品号", index = 4)
     private String skuSpecCode;
 
     /**
      * sku规格品名
      */
+    @ExcelProperty(value = "sku品名", index = 5)
     private String skuSpecName;
 
     /**
@@ -41,4 +47,31 @@ public class OrderExchangeDetailVo extends OrderExchangeDetail {
      */
     private BigDecimal returnAmount;
 
+    /**
+     * 部门名称
+     */
+    @ExcelProperty(value = "部门名称", index = 1)
+    private String departmentName;
+
+    /**
+     * 订单号
+     */
+    @ExcelProperty(value = "订单号", index = 2)
+    private String orderCode;
+
+    /**
+     * 万里牛订单号
+     */
+    @ExcelProperty(value = "订单万里牛单号", index = 3)
+    private String orderWlnCode;
+
+    /**
+     * 单号
+     */
+    @ExcelProperty(value = "退货单号", index = 0)
+    private String code;
+
+    @ExcelProperty(value = "退货时间", index = 7)
+    private Date createTime;
+
 }

+ 6 - 0
sd-business/src/main/java/com/sd/business/mapper/order/OrderExchangeDetailMapper.java

@@ -1,7 +1,11 @@
 package com.sd.business.mapper.order;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.utils.wrapper.IWrapper;
 import com.sd.business.entity.order.po.OrderExchangeDetail;
+import com.sd.business.entity.order.vo.OrderExchangeDetailVo;
+import org.apache.ibatis.annotations.Param;
 
 
 /**
@@ -14,4 +18,6 @@ import com.sd.business.entity.order.po.OrderExchangeDetail;
  */
 public interface OrderExchangeDetailMapper extends BaseMapper<OrderExchangeDetail> {
 
+    Page<OrderExchangeDetailVo> getPage(@Param("page") Page<Object> page, @Param("ew") IWrapper<Object> wrapper);
+
 }

+ 10 - 0
sd-business/src/main/java/com/sd/business/service/inventory/impl/InventoryFinishedServiceImpl.java

@@ -14,10 +14,12 @@ import com.sd.business.mapper.inventory.InventoryFinishedMapper;
 import com.sd.business.service.inventory.InventoryFinishedOrderService;
 import com.sd.business.service.inventory.InventoryFinishedService;
 import com.sd.business.service.order.OrderSkuService;
+import com.sd.framework.util.excel.util.ExcelUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import javax.servlet.http.HttpServletResponse;
 import java.math.BigDecimal;
 import java.util.List;
 import java.util.Map;
@@ -37,6 +39,9 @@ import java.util.stream.Collectors;
 public class InventoryFinishedServiceImpl extends ServiceImpl<InventoryFinishedMapper, InventoryFinished> implements InventoryFinishedService {
 
     @Autowired
+    private HttpServletResponse response;
+
+    @Autowired
     private OrderSkuService orderSkuService;
 
     @Autowired
@@ -119,7 +124,12 @@ public class InventoryFinishedServiceImpl extends ServiceImpl<InventoryFinishedM
 
     @Override
     public void excelExport(InventoryFinishedSelectDto dto) {
+        dto.setPageNum(1);
+        dto.setPageSize(9999999);
+        Page<InventoryFinishedVo> page = getPage(dto);
+        List<InventoryFinishedVo> records = page.getRecords();
 
+        ExcelUtil.export(response, records, InventoryFinishedVo.class);
     }
 
     /**

+ 10 - 0
sd-business/src/main/java/com/sd/business/service/order/OrderExchangeDetailService.java

@@ -1,7 +1,10 @@
 package com.sd.business.service.order;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.common.core.service.BaseService;
+import com.sd.business.entity.order.dto.OrderExchangeDetailSelectDto;
 import com.sd.business.entity.order.po.OrderExchangeDetail;
+import com.sd.business.entity.order.vo.OrderExchangeDetailVo;
 
 
 /**
@@ -14,4 +17,11 @@ import com.sd.business.entity.order.po.OrderExchangeDetail;
  */
 public interface OrderExchangeDetailService extends BaseService<OrderExchangeDetail> {
 
+    /**
+     * 订单退换货分页
+     */
+    Page<OrderExchangeDetailVo> getPage(OrderExchangeDetailSelectDto dto);
+
+    void excelExport(OrderExchangeDetailSelectDto dto);
+
 }

+ 43 - 0
sd-business/src/main/java/com/sd/business/service/order/impl/OrderExchangeDetailServiceImpl.java

@@ -1,11 +1,23 @@
 package com.sd.business.service.order.impl;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+import com.sd.business.entity.order.dto.OrderExchangeDetailSelectDto;
+import com.sd.business.entity.order.po.OrderExchange;
 import com.sd.business.entity.order.po.OrderExchangeDetail;
+import com.sd.business.entity.order.po.OrderInfo;
+import com.sd.business.entity.order.vo.OrderExchangeDetailVo;
+import com.sd.business.entity.sku.po.SkuSpec;
 import com.sd.business.mapper.order.OrderExchangeDetailMapper;
 import com.sd.business.service.order.OrderExchangeDetailService;
+import com.sd.framework.util.excel.util.ExcelUtil;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+
 
 /**
  * <p>
@@ -18,4 +30,35 @@ import org.springframework.stereotype.Service;
 @Service
 public class OrderExchangeDetailServiceImpl extends ServiceImpl<OrderExchangeDetailMapper, OrderExchangeDetail> implements OrderExchangeDetailService {
 
+    @Autowired
+    private HttpServletResponse response;
+
+    @Override
+    public Page<OrderExchangeDetailVo> getPage(OrderExchangeDetailSelectDto dto) {
+
+        IWrapper<Object> wrapper = IWrapper.getWrapper();
+        wrapper.eq("oe", OrderExchange::getType, dto.getType());
+        wrapper.eq("oe", OrderExchange::getCode, dto.getCode());
+        wrapper.eq("ss", SkuSpec::getCode, dto.getSkuSpecCode());
+        wrapper.eq("ss", SkuSpec::getName, dto.getSkuSpecName());
+        wrapper.eq("oi", OrderInfo::getDepartmentId, dto.getDepartmentId());
+        wrapper.eq("oi", OrderInfo::getCode, dto.getOrderCode());
+        wrapper.eq("oi", OrderInfo::getWlnCode, dto.getOrderWlnCode());
+        wrapper.ge("oe", OrderExchange::getCreateTime, dto.getBeginTime());
+        wrapper.le("oe", OrderExchange::getCreateTime, dto.getEndTime());
+
+        return baseMapper.getPage(dto.getPage(), wrapper);
+    }
+
+    @Override
+    public void excelExport(OrderExchangeDetailSelectDto dto) {
+        dto.setPageNum(1);
+        dto.setPageSize(999999999);
+        Page<OrderExchangeDetailVo> page = getPage(dto);
+        List<OrderExchangeDetailVo> records = page.getRecords();
+
+        ExcelUtil.export(response, records, OrderExchangeDetailVo.class);
+
+    }
+
 }

+ 1 - 1
sd-business/src/main/java/com/sd/business/service/order/impl/OrderExchangeServiceImpl.java

@@ -73,7 +73,7 @@ public class OrderExchangeServiceImpl extends ServiceImpl<OrderExchangeMapper, O
         Page<OrderExchangeVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
         List<OrderExchangeVo> records = page.getRecords();
 
-        if (records.size() == 0) {
+        if (records.isEmpty()) {
             return page;
         }
 

+ 19 - 0
sd-business/src/main/resources/mapper/order/OrderExchangeDetailMapper.xml

@@ -1,4 +1,23 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.sd.business.mapper.order.OrderExchangeDetailMapper">
+
+    <select id="getPage" resultType="com.sd.business.entity.order.vo.OrderExchangeDetailVo">
+        select oe.code,
+               oi.code     orderCode,
+               oi.wln_code orderWlnCode,
+               d.name      departmentName,
+               ss.name     skuSpecName,
+               ss.code     skuSpecCode,
+               oed.quantity,
+               oe.create_time
+        from order_exchange oe
+                 left join order_exchange_detail oed on oe.id = oed.order_exchange_id
+                 left join order_info oi on oe.order_info_id = oi.id
+                 left join department d on oi.department_id = d.id
+                 left join order_sku os on oed.order_sku_id = os.id
+                 left join sku_spec ss on os.sku_spec_id = ss.id
+            ${ew.customSqlSegment}
+    </select>
+
 </mapper>