From 8e315bc8c324f260bce42ec28d7aa261e5246c99 Mon Sep 17 00:00:00 2001 From: qiankanghui Date: Thu, 4 Jun 2026 10:41:47 +0800 Subject: [PATCH] =?UTF-8?q?feat(logistics):=20=E6=B7=BB=E5=8A=A0=E7=89=A9?= =?UTF-8?q?=E6=B5=81=E7=AE=A1=E7=90=86=E6=A8=A1=E5=9D=97=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增 LogisticsController 提供物流记录查询和PO清单查询接口 - 创建 LogisticsMainData、LogisticsPoData、LogisticsSearchData、 LogisticsPoSearchData 数据模型类 - 实现 LogisticsMapper 接口及对应的 MyBatis XML 映射文件 - 完成 LogisticsService 接口定义和 LogisticsServiceImpl 实现类 - 集成分页查询功能支持物流数据的分页展示 - 添加进仓编号、供应商编码、供应商名称等多维度查询条件 --- .../controller/LogisticsController.java | 38 ++++++++++++ .../npcIqc/data/LogisticsMainData.java | 23 +++++++ .../modules/npcIqc/data/LogisticsPoData.java | 23 +++++++ .../npcIqc/data/LogisticsPoSearchData.java | 19 ++++++ .../npcIqc/data/LogisticsSearchData.java | 24 ++++++++ .../npcIqc/mapper/LogisticsMapper.java | 25 ++++++++ .../npcIqc/service/LogisticsService.java | 18 ++++++ .../service/impl/LogisticsServiceImpl.java | 34 +++++++++++ .../mapper/npcIqc/LogisticsMapper.xml | 61 +++++++++++++++++++ 9 files changed, 265 insertions(+) create mode 100644 src/main/java/com/xujie/modules/npcIqc/controller/LogisticsController.java create mode 100644 src/main/java/com/xujie/modules/npcIqc/data/LogisticsMainData.java create mode 100644 src/main/java/com/xujie/modules/npcIqc/data/LogisticsPoData.java create mode 100644 src/main/java/com/xujie/modules/npcIqc/data/LogisticsPoSearchData.java create mode 100644 src/main/java/com/xujie/modules/npcIqc/data/LogisticsSearchData.java create mode 100644 src/main/java/com/xujie/modules/npcIqc/mapper/LogisticsMapper.java create mode 100644 src/main/java/com/xujie/modules/npcIqc/service/LogisticsService.java create mode 100644 src/main/java/com/xujie/modules/npcIqc/service/impl/LogisticsServiceImpl.java create mode 100644 src/main/resources/mapper/npcIqc/LogisticsMapper.xml diff --git a/src/main/java/com/xujie/modules/npcIqc/controller/LogisticsController.java b/src/main/java/com/xujie/modules/npcIqc/controller/LogisticsController.java new file mode 100644 index 0000000..cdf05dc --- /dev/null +++ b/src/main/java/com/xujie/modules/npcIqc/controller/LogisticsController.java @@ -0,0 +1,38 @@ +package com.xujie.modules.npcIqc.controller; + +import com.xujie.common.utils.PageUtils; +import com.xujie.common.utils.R; +import com.xujie.modules.npcIqc.data.LogisticsPoSearchData; +import com.xujie.modules.npcIqc.data.LogisticsSearchData; +import com.xujie.modules.npcIqc.service.LogisticsService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("/srm/logistics") +public class LogisticsController { + + @Autowired + private LogisticsService logisticsService; + + /** + * 查询物流记录 + */ + @PostMapping("/search") + public R search(@RequestBody LogisticsSearchData searchData){ + PageUtils page = logisticsService.queryPage(searchData); + return R.ok().put("page", page); + } + + /** + * 查询PO清单 + */ + @PostMapping("/getPoList") + public R getPoList(@RequestBody LogisticsPoSearchData searchData){ + PageUtils page = logisticsService.getPoListPage(searchData); + return R.ok().put("page", page); + } +} diff --git a/src/main/java/com/xujie/modules/npcIqc/data/LogisticsMainData.java b/src/main/java/com/xujie/modules/npcIqc/data/LogisticsMainData.java new file mode 100644 index 0000000..62efe41 --- /dev/null +++ b/src/main/java/com/xujie/modules/npcIqc/data/LogisticsMainData.java @@ -0,0 +1,23 @@ +package com.xujie.modules.npcIqc.data; + +import lombok.Data; + +@Data +public class LogisticsMainData { + + private String flexId; + + private String supplierNo; + + private String supplierName; + + /** + * PO数量 + */ + private Integer poCount; + + /** + * 发货数量 + */ + private Double shippedQty; +} diff --git a/src/main/java/com/xujie/modules/npcIqc/data/LogisticsPoData.java b/src/main/java/com/xujie/modules/npcIqc/data/LogisticsPoData.java new file mode 100644 index 0000000..323b4db --- /dev/null +++ b/src/main/java/com/xujie/modules/npcIqc/data/LogisticsPoData.java @@ -0,0 +1,23 @@ +package com.xujie.modules.npcIqc.data; + +import lombok.Data; + +import java.util.Date; + +@Data +public class LogisticsPoData { + + private String orderNo; + + private Integer itemNo; + + private String partNo; + + private Date orderDate; + + private Double qty; + + private Double shippedQty; + + private String flexId; +} diff --git a/src/main/java/com/xujie/modules/npcIqc/data/LogisticsPoSearchData.java b/src/main/java/com/xujie/modules/npcIqc/data/LogisticsPoSearchData.java new file mode 100644 index 0000000..e4d8d8d --- /dev/null +++ b/src/main/java/com/xujie/modules/npcIqc/data/LogisticsPoSearchData.java @@ -0,0 +1,19 @@ +package com.xujie.modules.npcIqc.data; +import com.xujie.common.utils.QueryPage; +import lombok.Data; + +@Data +public class LogisticsPoSearchData extends QueryPage { + + private String site; + + /** + * 进仓编号 + */ + private String flexId; + + /** + * 供应商编码 + */ + private String supplierNo; +} diff --git a/src/main/java/com/xujie/modules/npcIqc/data/LogisticsSearchData.java b/src/main/java/com/xujie/modules/npcIqc/data/LogisticsSearchData.java new file mode 100644 index 0000000..8c4f095 --- /dev/null +++ b/src/main/java/com/xujie/modules/npcIqc/data/LogisticsSearchData.java @@ -0,0 +1,24 @@ +package com.xujie.modules.npcIqc.data; +import com.xujie.common.utils.QueryPage; +import lombok.Data; + +@Data +public class LogisticsSearchData extends QueryPage { + + private String site; + + /** + * 进仓编号 + */ + private String flexId; + + /** + * 供应商编码 + */ + private String supplierNo; + + /** + * 供应商名称 + */ + private String supplierName; +} diff --git a/src/main/java/com/xujie/modules/npcIqc/mapper/LogisticsMapper.java b/src/main/java/com/xujie/modules/npcIqc/mapper/LogisticsMapper.java new file mode 100644 index 0000000..3c83de2 --- /dev/null +++ b/src/main/java/com/xujie/modules/npcIqc/mapper/LogisticsMapper.java @@ -0,0 +1,25 @@ +package com.xujie.modules.npcIqc.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.xujie.modules.npcIqc.data.LogisticsMainData; +import com.xujie.modules.npcIqc.data.LogisticsPoData; +import com.xujie.modules.npcIqc.data.LogisticsPoSearchData; +import com.xujie.modules.npcIqc.data.LogisticsSearchData; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +@Mapper +public interface LogisticsMapper { + + /** + * 查询物流记录(分页) + */ + IPage queryPage(Page page, @Param("param") LogisticsSearchData searchData); + + /** + * 查询PO清单(分页) + */ + IPage getPoListPage(Page page, @Param("param") LogisticsPoSearchData searchData); +} diff --git a/src/main/java/com/xujie/modules/npcIqc/service/LogisticsService.java b/src/main/java/com/xujie/modules/npcIqc/service/LogisticsService.java new file mode 100644 index 0000000..0cdfd09 --- /dev/null +++ b/src/main/java/com/xujie/modules/npcIqc/service/LogisticsService.java @@ -0,0 +1,18 @@ +package com.xujie.modules.npcIqc.service; + +import com.xujie.common.utils.PageUtils; +import com.xujie.modules.npcIqc.data.LogisticsPoSearchData; +import com.xujie.modules.npcIqc.data.LogisticsSearchData; + +public interface LogisticsService { + + /** + * 查询物流记录(分页) + */ + PageUtils queryPage(LogisticsSearchData searchData); + + /** + * 查询PO清单(分页) + */ + PageUtils getPoListPage(LogisticsPoSearchData searchData); +} diff --git a/src/main/java/com/xujie/modules/npcIqc/service/impl/LogisticsServiceImpl.java b/src/main/java/com/xujie/modules/npcIqc/service/impl/LogisticsServiceImpl.java new file mode 100644 index 0000000..7e09d9f --- /dev/null +++ b/src/main/java/com/xujie/modules/npcIqc/service/impl/LogisticsServiceImpl.java @@ -0,0 +1,34 @@ +package com.xujie.modules.npcIqc.service.impl; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.xujie.common.utils.PageUtils; +import com.xujie.modules.npcIqc.data.LogisticsMainData; +import com.xujie.modules.npcIqc.data.LogisticsPoData; +import com.xujie.modules.npcIqc.data.LogisticsPoSearchData; +import com.xujie.modules.npcIqc.data.LogisticsSearchData; +import com.xujie.modules.npcIqc.mapper.LogisticsMapper; +import com.xujie.modules.npcIqc.service.LogisticsService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +@Service +public class LogisticsServiceImpl implements LogisticsService { + + @Autowired + private LogisticsMapper logisticsMapper; + + @Override + public PageUtils queryPage(LogisticsSearchData searchData) { + Page page = new Page<>(searchData.getPage(), searchData.getLimit()); + IPage resultList = logisticsMapper.queryPage(page, searchData); + return new PageUtils(resultList); + } + + @Override + public PageUtils getPoListPage(LogisticsPoSearchData searchData) { + Page page = new Page<>(searchData.getPage(), searchData.getLimit()); + IPage resultList = logisticsMapper.getPoListPage(page, searchData); + return new PageUtils(resultList); + } +} diff --git a/src/main/resources/mapper/npcIqc/LogisticsMapper.xml b/src/main/resources/mapper/npcIqc/LogisticsMapper.xml new file mode 100644 index 0000000..a7b81c7 --- /dev/null +++ b/src/main/resources/mapper/npcIqc/LogisticsMapper.xml @@ -0,0 +1,61 @@ + + + + + + + + + + +