Browse Source

到货记录分页

yzc 1 year ago
parent
commit
da18b7fc8b

+ 8 - 0
hx-sale/src/main/java/com/fjhx/sale/controller/arrival/ArrivalDetailController.java

@@ -1,6 +1,9 @@
 package com.fjhx.sale.controller.arrival;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fjhx.sale.entity.arrival.dto.ArrivalDetailDto;
+import com.fjhx.sale.entity.arrival.dto.ArrivalDetailSelectDto;
+import com.fjhx.sale.entity.arrival.vo.ArrivalDetailVo;
 import com.fjhx.sale.service.arrival.ArrivalDetailService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -24,6 +27,11 @@ public class ArrivalDetailController {
     @Autowired
     private ArrivalDetailService arrivalDetailService;
 
+    @PostMapping("/page")
+    public Page<ArrivalDetailVo> page(@RequestBody ArrivalDetailSelectDto dto) {
+        return arrivalDetailService.getPage(dto);
+    }
+
     /**
      * 修改账期
      */

+ 6 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/arrival/vo/ArrivalDetailVo.java

@@ -36,4 +36,10 @@ public class ArrivalDetailVo extends ArrivalDetail {
      */
     private BigDecimal receiptStatus;
 
+    private Long companyId;
+    private String companyName;
+    private Long supplierId;
+    private String supplierName;
+    private String purchaseCode;
+
 }

+ 2 - 0
hx-sale/src/main/java/com/fjhx/sale/mapper/arrival/ArrivalDetailMapper.java

@@ -1,6 +1,7 @@
 package com.fjhx.sale.mapper.arrival;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fjhx.sale.entity.arrival.po.ArrivalDetail;
 import com.fjhx.sale.entity.arrival.vo.ArrivalDetailVo;
 import com.ruoyi.common.utils.wrapper.IWrapper;
@@ -23,4 +24,5 @@ public interface ArrivalDetailMapper extends BaseMapper<ArrivalDetail> {
 
     List<ArrivalDetailVo> getList(@Param("ew") IWrapper<ArrivalDetail> wrapper);
 
+    Page<ArrivalDetailVo> getPage(@Param("page") Page<Object> page, @Param("ew") IWrapper<ArrivalDetail> wrapper);
 }

+ 5 - 0
hx-sale/src/main/java/com/fjhx/sale/service/arrival/ArrivalDetailService.java

@@ -1,7 +1,10 @@
 package com.fjhx.sale.service.arrival;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fjhx.sale.entity.arrival.dto.ArrivalDetailDto;
+import com.fjhx.sale.entity.arrival.dto.ArrivalDetailSelectDto;
 import com.fjhx.sale.entity.arrival.po.ArrivalDetail;
+import com.fjhx.sale.entity.arrival.vo.ArrivalDetailVo;
 import com.ruoyi.common.core.service.BaseService;
 
 
@@ -16,5 +19,7 @@ import com.ruoyi.common.core.service.BaseService;
 public interface ArrivalDetailService extends BaseService<ArrivalDetail> {
 
 
+    Page<ArrivalDetailVo> getPage(ArrivalDetailSelectDto dto);
+
     void editAccountPeriods(ArrivalDetailDto dto);
 }

+ 39 - 0
hx-sale/src/main/java/com/fjhx/sale/service/arrival/impl/ArrivalDetailServiceImpl.java

@@ -1,20 +1,31 @@
 package com.fjhx.sale.service.arrival.impl;
 
+import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fjhx.sale.entity.arrival.dto.ArrivalDetailDto;
+import com.fjhx.sale.entity.arrival.dto.ArrivalDetailSelectDto;
 import com.fjhx.sale.entity.arrival.po.ArrivalDetail;
+import com.fjhx.sale.entity.arrival.vo.ArrivalDetailVo;
 import com.fjhx.sale.mapper.arrival.ArrivalDetailMapper;
 import com.fjhx.sale.service.arrival.ArrivalDetailService;
+import com.fjhx.supply.service.supplier.SupplierInfoService;
 import com.fjhx.wms.entity.stock.po.StockJournalDetails;
 import com.fjhx.wms.entity.stock.po.StockWaitDetails;
 import com.fjhx.wms.service.stock.StockJournalDetailsService;
 import com.fjhx.wms.service.stock.StockWaitDetailsService;
 import com.ruoyi.common.core.domain.BasePo;
+import com.ruoyi.common.core.domain.entity.SysDept;
 import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+import com.ruoyi.system.service.ISysDeptService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.Date;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
 
 
 /**
@@ -32,6 +43,34 @@ public class ArrivalDetailServiceImpl extends ServiceImpl<ArrivalDetailMapper, A
     private StockWaitDetailsService stockWaitDetailsService;
     @Autowired
     private StockJournalDetailsService stockJournalDetailsService;
+    @Autowired
+    private SupplierInfoService supplierInfoService;
+    @Autowired
+    private ISysDeptService deptService;
+
+    @Override
+    public Page<ArrivalDetailVo> getPage(ArrivalDetailSelectDto dto) {
+        IWrapper<ArrivalDetail> wrapper = getWrapper();
+        wrapper.orderByDesc("ad", ArrivalDetail::getId);
+        Page<ArrivalDetailVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
+        List<ArrivalDetailVo> records = page.getRecords();
+        if (ObjectUtil.isEmpty(records)) {
+            return page;
+        }
+        //赋值供应商
+        supplierInfoService.attributeAssign(records, ArrivalDetailVo::getSupplierId, (item, supplierInfo) -> {
+            item.setSupplierName(supplierInfo.getName());
+        });
+        //获取归属公司信息
+        Map<Long, String> deptMap = deptService.list().stream().collect(Collectors.toMap(SysDept::getDeptId, SysDept::getDeptName));
+
+        //赋值数据
+        for (ArrivalDetailVo record : records) {
+            //赋值归属公司信息
+            record.setCompanyName(deptMap.get(record.getCompanyId()));
+        }
+        return page;
+    }
 
     @Override
     public void editAccountPeriods(ArrivalDetailDto dto) {

+ 25 - 12
hx-sale/src/main/resources/mapper/arrival/ArrivalDetailMapper.xml

@@ -1,23 +1,36 @@
 <?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.fjhx.sale.mapper.arrival.ArrivalDetailMapper">
-    <select id="getList" resultType="com.fjhx.sale.entity.arrival.vo.ArrivalDetailVo">
+
+    <sql id="list">
         SELECT ad.*,
-               a.arrival_time       AS arrivalTime,
-               a.`code`             AS arrivalCode,
-               pi.`name`            AS productName,
-               pi.custom_code       AS productCode,
-               pi.length            AS productLength,
-               pi.width             AS productWidth,
-               pi.height            AS productHeight,
-               pi.color             AS productColor,
-               swd.receipt_quantity AS receiptQuantity,
-               sw.`status`          AS receiptStatus
+               a.arrival_time         AS arrivalTime,
+               a.`code`               AS arrivalCode,
+               pi.`name`              AS productName,
+               pi.custom_code         AS productCode,
+               pi.length              AS productLength,
+               pi.width               AS productWidth,
+               pi.height              AS productHeight,
+               pi.color               AS productColor,
+               swd.receipt_quantity   AS receiptQuantity,
+               sw.`status`            AS receiptStatus,
+               ep.company_id,
+               ep.sell_corporation_id as supplierId,
+               ep.`code`              AS purchaseCode
         FROM arrival_detail ad
                  JOIN arrival a ON ad.arrival_id = a.id
                  LEFT JOIN product_info pi ON ad.product_id = pi.id
                  LEFT JOIN stock_wait_details swd ON swd.arrival_detail_id = ad.id
                  LEFT JOIN stock_wait sw ON swd.stock_wait_id = sw.id
-            ${ew.customSqlSegment}
+                 LEFT JOIN ehsd_purchase ep ON a.purchase_id = ep.id
+    </sql>
+
+    <select id="getList" resultType="com.fjhx.sale.entity.arrival.vo.ArrivalDetailVo">
+        <include refid="list"/>
+        ${ew.customSqlSegment}
+    </select>
+    <select id="getPage" resultType="com.fjhx.sale.entity.arrival.vo.ArrivalDetailVo">
+        <include refid="list"/>
+        ${ew.customSqlSegment}
     </select>
 </mapper>