From 1cd1699bf3a68921f6a0bc474275266ce632b1ba Mon Sep 17 00:00:00 2001
From: Joshi <3040996759@qq.com>
Date: Mon, 11 Aug 2025 18:06:37 +0800
Subject: [PATCH] =?UTF-8?q?feat(wms):=20=E6=B7=BB=E5=8A=A0=E7=89=A9?=
=?UTF-8?q?=E6=B5=81=E9=A2=84=E8=A7=88=E5=92=8C=E5=BF=AB=E9=80=92=E9=97=AE?=
=?UTF-8?q?=E9=A2=98=E7=9B=B8=E5=85=B3=E5=8A=9F=E8=83=BD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
- 新增物流预览和快递问题相关的实体类、Mapper、Service和Controller
- 实现物流预览列表查询、导出、详情获取、新增、修改和删除功能
- 实现快递问题列表查询、详情获取、新增、修改和删除功能
- 添加百世、顺丰、申通快递的路由查询工具类
- 更新pom.xml,添加fastjson2等依赖
- 修改application-stage.yml,禁用xxl-job
---
.../src/main/resources/application-stage.yml | 2 +-
klp-wms/pom.xml | 17 +-
.../klp/controller/WmsExpressController.java | 107 ++++++++
.../WmsExpressQuestionController.java | 100 +++++++
.../controller/WmsReportDetailController.java | 109 ++++++++
.../WmsReportSummaryController.java | 100 +++++++
.../main/java/com/klp/domain/WmsExpress.java | 86 ++++++
.../com/klp/domain/WmsExpressQuestion.java | 60 +++++
.../java/com/klp/domain/WmsReportDetail.java | 62 +++++
.../java/com/klp/domain/WmsReportSummary.java | 54 ++++
.../java/com/klp/domain/bo/WmsExpressBo.java | 81 ++++++
.../klp/domain/bo/WmsExpressQuestionBo.java | 58 +++++
.../com/klp/domain/bo/WmsReportDetailBo.java | 63 +++++
.../com/klp/domain/bo/WmsReportSummaryBo.java | 56 ++++
.../klp/domain/vo/WmsExpressQuestionVo.java | 70 +++++
.../java/com/klp/domain/vo/WmsExpressVo.java | 116 +++++++++
.../com/klp/domain/vo/WmsReportDetailVo.java | 81 ++++++
.../com/klp/domain/vo/WmsReportSummaryVo.java | 63 +++++
.../java/com/klp/mapper/WmsExpressMapper.java | 23 ++
.../klp/mapper/WmsExpressQuestionMapper.java | 20 ++
.../com/klp/mapper/WmsReportDetailMapper.java | 25 ++
.../klp/mapper/WmsReportSummaryMapper.java | 20 ++
.../service/IWmsExpressQuestionService.java | 48 ++++
.../com/klp/service/IWmsExpressService.java | 57 ++++
.../klp/service/IWmsReportDetailService.java | 57 ++++
.../klp/service/IWmsReportSummaryService.java | 48 ++++
.../impl/WmsExpressQuestionServiceImpl.java | 150 +++++++++++
.../service/impl/WmsExpressServiceImpl.java | 246 ++++++++++++++++++
.../impl/WmsReportDetailServiceImpl.java | 159 +++++++++++
.../impl/WmsReportSummaryServiceImpl.java | 112 ++++++++
.../com/klp/utils/BestRouteQueryUtil.java | 156 +++++++++++
.../java/com/klp/utils/SfRouteQueryUtil.java | 216 +++++++++++++++
.../java/com/klp/utils/StoRouteQueryUtil.java | 147 +++++++++++
.../java/com/klp/utils/YdRouteQueryUtil.java | 75 ++++++
.../java/com/klp/utils/YtRouteQueryUtil.java | 118 +++++++++
.../java/com/klp/utils/ZtoTrackQueryUtil.java | 117 +++++++++
.../resources/mapper/klp/WmsExpressMapper.xml | 74 ++++++
.../mapper/klp/WmsExpressQuestionMapper.xml | 41 +++
.../mapper/klp/WmsReportDetailMapper.xml | 67 +++++
.../mapper/klp/WmsReportSummaryMapper.xml | 62 +++++
40 files changed, 3321 insertions(+), 2 deletions(-)
create mode 100644 klp-wms/src/main/java/com/klp/controller/WmsExpressController.java
create mode 100644 klp-wms/src/main/java/com/klp/controller/WmsExpressQuestionController.java
create mode 100644 klp-wms/src/main/java/com/klp/controller/WmsReportDetailController.java
create mode 100644 klp-wms/src/main/java/com/klp/controller/WmsReportSummaryController.java
create mode 100644 klp-wms/src/main/java/com/klp/domain/WmsExpress.java
create mode 100644 klp-wms/src/main/java/com/klp/domain/WmsExpressQuestion.java
create mode 100644 klp-wms/src/main/java/com/klp/domain/WmsReportDetail.java
create mode 100644 klp-wms/src/main/java/com/klp/domain/WmsReportSummary.java
create mode 100644 klp-wms/src/main/java/com/klp/domain/bo/WmsExpressBo.java
create mode 100644 klp-wms/src/main/java/com/klp/domain/bo/WmsExpressQuestionBo.java
create mode 100644 klp-wms/src/main/java/com/klp/domain/bo/WmsReportDetailBo.java
create mode 100644 klp-wms/src/main/java/com/klp/domain/bo/WmsReportSummaryBo.java
create mode 100644 klp-wms/src/main/java/com/klp/domain/vo/WmsExpressQuestionVo.java
create mode 100644 klp-wms/src/main/java/com/klp/domain/vo/WmsExpressVo.java
create mode 100644 klp-wms/src/main/java/com/klp/domain/vo/WmsReportDetailVo.java
create mode 100644 klp-wms/src/main/java/com/klp/domain/vo/WmsReportSummaryVo.java
create mode 100644 klp-wms/src/main/java/com/klp/mapper/WmsExpressMapper.java
create mode 100644 klp-wms/src/main/java/com/klp/mapper/WmsExpressQuestionMapper.java
create mode 100644 klp-wms/src/main/java/com/klp/mapper/WmsReportDetailMapper.java
create mode 100644 klp-wms/src/main/java/com/klp/mapper/WmsReportSummaryMapper.java
create mode 100644 klp-wms/src/main/java/com/klp/service/IWmsExpressQuestionService.java
create mode 100644 klp-wms/src/main/java/com/klp/service/IWmsExpressService.java
create mode 100644 klp-wms/src/main/java/com/klp/service/IWmsReportDetailService.java
create mode 100644 klp-wms/src/main/java/com/klp/service/IWmsReportSummaryService.java
create mode 100644 klp-wms/src/main/java/com/klp/service/impl/WmsExpressQuestionServiceImpl.java
create mode 100644 klp-wms/src/main/java/com/klp/service/impl/WmsExpressServiceImpl.java
create mode 100644 klp-wms/src/main/java/com/klp/service/impl/WmsReportDetailServiceImpl.java
create mode 100644 klp-wms/src/main/java/com/klp/service/impl/WmsReportSummaryServiceImpl.java
create mode 100644 klp-wms/src/main/java/com/klp/utils/BestRouteQueryUtil.java
create mode 100644 klp-wms/src/main/java/com/klp/utils/SfRouteQueryUtil.java
create mode 100644 klp-wms/src/main/java/com/klp/utils/StoRouteQueryUtil.java
create mode 100644 klp-wms/src/main/java/com/klp/utils/YdRouteQueryUtil.java
create mode 100644 klp-wms/src/main/java/com/klp/utils/YtRouteQueryUtil.java
create mode 100644 klp-wms/src/main/java/com/klp/utils/ZtoTrackQueryUtil.java
create mode 100644 klp-wms/src/main/resources/mapper/klp/WmsExpressMapper.xml
create mode 100644 klp-wms/src/main/resources/mapper/klp/WmsExpressQuestionMapper.xml
create mode 100644 klp-wms/src/main/resources/mapper/klp/WmsReportDetailMapper.xml
create mode 100644 klp-wms/src/main/resources/mapper/klp/WmsReportSummaryMapper.xml
diff --git a/klp-admin/src/main/resources/application-stage.yml b/klp-admin/src/main/resources/application-stage.yml
index 7d30693b..12c351be 100644
--- a/klp-admin/src/main/resources/application-stage.yml
+++ b/klp-admin/src/main/resources/application-stage.yml
@@ -20,7 +20,7 @@ spring.boot.admin.client:
--- # xxl-job 配置
xxl.job:
# 执行器开关
- enabled: true
+ enabled: false
# 调度中心地址:如调度中心集群部署存在多个地址则用逗号分隔。
admin-addresses: http://localhost:9100/xxl-job-admin
# 执行器通讯TOKEN:非空时启用
diff --git a/klp-wms/pom.xml b/klp-wms/pom.xml
index 0894fdc5..b49b1b64 100644
--- a/klp-wms/pom.xml
+++ b/klp-wms/pom.xml
@@ -40,6 +40,21 @@
fastjson
1.2.83
-
+
+
+ com.alibaba.fastjson2
+ fastjson2
+ 2.0.35
+
+
+ com.zto.zop
+ zopsdk
+ 0.11
+
+
+ com.yundasys
+ kfpt-sdk
+ 1.0.0
+
diff --git a/klp-wms/src/main/java/com/klp/controller/WmsExpressController.java b/klp-wms/src/main/java/com/klp/controller/WmsExpressController.java
new file mode 100644
index 00000000..ca4d5d93
--- /dev/null
+++ b/klp-wms/src/main/java/com/klp/controller/WmsExpressController.java
@@ -0,0 +1,107 @@
+package com.klp.controller;
+
+import com.klp.common.annotation.Log;
+import com.klp.common.annotation.RepeatSubmit;
+import com.klp.common.core.controller.BaseController;
+import com.klp.common.core.domain.PageQuery;
+import com.klp.common.core.domain.R;
+import com.klp.common.core.page.TableDataInfo;
+import com.klp.common.core.validate.AddGroup;
+import com.klp.common.core.validate.EditGroup;
+import com.klp.common.enums.BusinessType;
+import com.klp.common.utils.poi.ExcelUtil;
+import com.klp.domain.bo.WmsExpressBo;
+import com.klp.domain.vo.WmsExpressVo;
+import com.klp.service.IWmsExpressService;
+import lombok.RequiredArgsConstructor;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+import java.io.IOException;
+import java.util.Arrays;
+import java.util.List;
+
+/**
+ * 物流预览
+ *
+ * @author hdka
+ * @date 2025-07-20
+ */
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/oa/express")
+public class WmsExpressController extends BaseController {
+
+ private final IWmsExpressService iWmsExpressService;
+
+ /**
+ * 查询物流预览列表
+ */
+ @GetMapping("/list")
+ public TableDataInfo list(WmsExpressBo bo, PageQuery pageQuery) {
+ return iWmsExpressService.queryPageList(bo, pageQuery);
+ }
+
+ /**
+ * 导出物流预览列表
+ */
+ @Log(title = "物流预览", businessType = BusinessType.EXPORT)
+ @PostMapping("/export")
+ public void export(WmsExpressBo bo, HttpServletResponse response) {
+ List list = iWmsExpressService.queryList(bo);
+ ExcelUtil.exportExcel(list, "物流预览", WmsExpressVo.class, response);
+ }
+
+ /**
+ * 获取物流预览详细信息
+ *
+ * @param expressId 主键
+ */
+ @GetMapping("/{expressId}")
+ public R getInfo(@NotNull(message = "主键不能为空")
+ @PathVariable Long expressId) {
+ return R.ok(iWmsExpressService.queryById(expressId));
+ }
+
+ /**
+ * 新增物流预览
+ */
+ @Log(title = "物流预览", businessType = BusinessType.INSERT)
+ @RepeatSubmit()
+ @PostMapping()
+ public R add(@Validated(AddGroup.class) @RequestBody WmsExpressBo bo) {
+ return toAjax(iWmsExpressService.insertByBo(bo));
+ }
+
+ /**
+ * 修改物流预览
+ */
+ @Log(title = "物流预览", businessType = BusinessType.UPDATE)
+ @RepeatSubmit()
+ @PutMapping()
+ public R edit(@Validated(EditGroup.class) @RequestBody WmsExpressBo bo) {
+ return toAjax(iWmsExpressService.updateByBo(bo));
+ }
+
+ /**
+ * 删除物流预览
+ *
+ * @param expressIds 主键串
+ */
+ @Log(title = "物流预览", businessType = BusinessType.DELETE)
+ @DeleteMapping("/{expressIds}")
+ public R remove(@NotEmpty(message = "主键不能为空")
+ @PathVariable Long[] expressIds) {
+ return toAjax(iWmsExpressService.deleteWithValidByIds(Arrays.asList(expressIds), true));
+ }
+
+
+ @GetMapping("/refresh/{expressIds}")
+ public R getRefreshExpress(@PathVariable Long[] expressIds) throws IOException {
+ return toAjax(iWmsExpressService.getRefreshExpress(Arrays.asList(expressIds)));
+ }
+}
diff --git a/klp-wms/src/main/java/com/klp/controller/WmsExpressQuestionController.java b/klp-wms/src/main/java/com/klp/controller/WmsExpressQuestionController.java
new file mode 100644
index 00000000..739e69d1
--- /dev/null
+++ b/klp-wms/src/main/java/com/klp/controller/WmsExpressQuestionController.java
@@ -0,0 +1,100 @@
+package com.klp.controller;
+
+import com.klp.common.annotation.Log;
+import com.klp.common.annotation.RepeatSubmit;
+import com.klp.common.core.controller.BaseController;
+import com.klp.common.core.domain.PageQuery;
+import com.klp.common.core.domain.R;
+import com.klp.common.core.page.TableDataInfo;
+import com.klp.common.core.validate.AddGroup;
+import com.klp.common.core.validate.EditGroup;
+import com.klp.common.enums.BusinessType;
+import com.klp.common.utils.poi.ExcelUtil;
+import com.klp.domain.bo.WmsExpressQuestionBo;
+import com.klp.domain.vo.WmsExpressQuestionVo;
+import com.klp.service.IWmsExpressQuestionService;
+import lombok.RequiredArgsConstructor;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+import java.util.Arrays;
+import java.util.List;
+
+/**
+ * 快递问题
+ *
+ * @author hdka
+ * @date 2025-07-21
+ */
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/oa/expressQuestion")
+public class WmsExpressQuestionController extends BaseController {
+
+ private final IWmsExpressQuestionService IWmsExpressQuestionService;
+
+ /**
+ * 查询快递问题列表
+ */
+ @GetMapping("/list")
+ public TableDataInfo list(WmsExpressQuestionBo bo, PageQuery pageQuery) {
+ return IWmsExpressQuestionService.queryPageList(bo, pageQuery);
+ }
+
+ /**
+ * 导出快递问题列表
+ */
+ @Log(title = "快递问题", businessType = BusinessType.EXPORT)
+ @PostMapping("/export")
+ public void export(WmsExpressQuestionBo bo, HttpServletResponse response) {
+ List list = IWmsExpressQuestionService.queryList(bo);
+ ExcelUtil.exportExcel(list, "快递问题", WmsExpressQuestionVo.class, response);
+ }
+
+ /**
+ * 获取快递问题详细信息
+ *
+ * @param questionId 主键
+ */
+ @GetMapping("/{questionId}")
+ public R getInfo(@NotNull(message = "主键不能为空")
+ @PathVariable Long questionId) {
+ return R.ok(IWmsExpressQuestionService.queryById(questionId));
+ }
+
+ /**
+ * 新增快递问题
+ */
+ @Log(title = "快递问题", businessType = BusinessType.INSERT)
+ @RepeatSubmit()
+ @PostMapping()
+ public R add(@Validated(AddGroup.class) @RequestBody WmsExpressQuestionBo bo) {
+ return toAjax(IWmsExpressQuestionService.insertByBo(bo));
+ }
+
+ /**
+ * 修改快递问题
+ */
+ @Log(title = "快递问题", businessType = BusinessType.UPDATE)
+ @RepeatSubmit()
+ @PutMapping()
+ public R edit(@Validated(EditGroup.class) @RequestBody WmsExpressQuestionBo bo) {
+ return toAjax(IWmsExpressQuestionService.updateByBo(bo));
+ }
+
+ /**
+ * 删除快递问题
+ *
+ * @param questionIds 主键串
+ */
+ @Log(title = "快递问题", businessType = BusinessType.DELETE)
+ @DeleteMapping("/{questionIds}")
+ public R remove(@NotEmpty(message = "主键不能为空")
+ @PathVariable Long[] questionIds) {
+ return toAjax(IWmsExpressQuestionService.deleteWithValidByIds(Arrays.asList(questionIds), true));
+ }
+}
diff --git a/klp-wms/src/main/java/com/klp/controller/WmsReportDetailController.java b/klp-wms/src/main/java/com/klp/controller/WmsReportDetailController.java
new file mode 100644
index 00000000..ac4d1747
--- /dev/null
+++ b/klp-wms/src/main/java/com/klp/controller/WmsReportDetailController.java
@@ -0,0 +1,109 @@
+package com.klp.controller;
+
+import com.klp.common.annotation.Log;
+import com.klp.common.annotation.RepeatSubmit;
+import com.klp.common.core.controller.BaseController;
+import com.klp.common.core.domain.PageQuery;
+import com.klp.common.core.domain.R;
+import com.klp.common.core.page.TableDataInfo;
+import com.klp.common.core.validate.AddGroup;
+import com.klp.common.core.validate.EditGroup;
+import com.klp.common.enums.BusinessType;
+import com.klp.common.utils.poi.ExcelUtil;
+import com.klp.domain.bo.WmsReportDetailBo;
+import com.klp.domain.vo.WmsReportDetailVo;
+import com.klp.service.IWmsReportDetailService;
+import lombok.RequiredArgsConstructor;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+import java.util.Arrays;
+import java.util.List;
+
+/**
+ * 设计项目汇报详情
+ *
+ * @author ruoyi
+ * @date 2025-05-13
+ */
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/system/reportDetail")
+public class WmsReportDetailController extends BaseController {
+
+ private final IWmsReportDetailService IWmsReportDetailService;
+
+ /**
+ * 查询设计项目汇报详情列表
+ */
+ @GetMapping("/list")
+ public TableDataInfo list(WmsReportDetailBo bo, PageQuery pageQuery) {
+ return IWmsReportDetailService.queryPageList(bo, pageQuery);
+ }
+
+ /**
+ * 导出设计项目汇报详情列表
+ */
+ @Log(title = "设计项目汇报详情", businessType = BusinessType.EXPORT)
+ @PostMapping("/export")
+ public void export(WmsReportDetailBo bo, HttpServletResponse response) {
+ List list = IWmsReportDetailService.queryList(bo);
+ ExcelUtil.exportExcel(list, "设计项目汇报详情", WmsReportDetailVo.class, response);
+ }
+
+ /**
+ * 获取设计项目汇报详情详细信息
+ *
+ * @param id 主键
+ */
+ @GetMapping("/{id}")
+ public R getInfo(@NotNull(message = "主键不能为空")
+ @PathVariable Long id) {
+ return R.ok(IWmsReportDetailService.queryById(id));
+ }
+// /**
+// * 获取设计项目汇报详情详细信息
+// *
+// * @param projectId 主键
+// */
+// @GetMapping("/project/{projectId}")
+// public R> listReportDetailByProjectId(@NotNull(message = "主键不能为空")
+// @PathVariable Long projectId) {
+// return R.ok(IWmsReportDetailService.queryByProjectId(projectId));
+// }
+
+ /**
+ * 新增设计项目汇报详情
+ */
+ @Log(title = "设计项目汇报详情", businessType = BusinessType.INSERT)
+ @RepeatSubmit()
+ @PostMapping()
+ public R add(@Validated(AddGroup.class) @RequestBody WmsReportDetailBo bo) {
+ return toAjax(IWmsReportDetailService.insertByBo(bo));
+ }
+
+ /**
+ * 修改设计项目汇报详情
+ */
+ @Log(title = "设计项目汇报详情", businessType = BusinessType.UPDATE)
+ @RepeatSubmit()
+ @PutMapping()
+ public R edit(@Validated(EditGroup.class) @RequestBody WmsReportDetailBo bo) {
+ return toAjax(IWmsReportDetailService.updateByBo(bo));
+ }
+
+ /**
+ * 删除设计项目汇报详情
+ *
+ * @param ids 主键串
+ */
+ @DeleteMapping("/{ids}")
+ public R remove(@NotEmpty(message = "主键不能为空")
+ @PathVariable Long[] ids) {
+ return toAjax(IWmsReportDetailService.deleteWithValidByIds(Arrays.asList(ids), true));
+ }
+}
diff --git a/klp-wms/src/main/java/com/klp/controller/WmsReportSummaryController.java b/klp-wms/src/main/java/com/klp/controller/WmsReportSummaryController.java
new file mode 100644
index 00000000..c07c1664
--- /dev/null
+++ b/klp-wms/src/main/java/com/klp/controller/WmsReportSummaryController.java
@@ -0,0 +1,100 @@
+package com.klp.controller;
+
+import com.klp.common.annotation.Log;
+import com.klp.common.annotation.RepeatSubmit;
+import com.klp.common.core.controller.BaseController;
+import com.klp.common.core.domain.PageQuery;
+import com.klp.common.core.domain.R;
+import com.klp.common.core.page.TableDataInfo;
+import com.klp.common.core.validate.AddGroup;
+import com.klp.common.core.validate.EditGroup;
+import com.klp.common.enums.BusinessType;
+import com.klp.common.utils.poi.ExcelUtil;
+import com.klp.domain.bo.WmsReportSummaryBo;
+import com.klp.domain.vo.WmsReportSummaryVo;
+import com.klp.service.IWmsReportSummaryService;
+import lombok.RequiredArgsConstructor;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+import java.util.Arrays;
+import java.util.List;
+
+/**
+ * 设计项目汇报概述
+ *
+ * @author cpy
+ * @date 2025-05-13
+ */
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/system/reportSummary")
+public class WmsReportSummaryController extends BaseController {
+
+ private final IWmsReportSummaryService IWmsReportSummaryService;
+
+ /**
+ * 查询设计项目汇报概述列表
+ */
+ @GetMapping("/list")
+ public TableDataInfo list(WmsReportSummaryBo bo, PageQuery pageQuery) {
+ return IWmsReportSummaryService.queryPageList(bo, pageQuery);
+ }
+
+ /**
+ * 导出设计项目汇报概述列表
+ */
+ @Log(title = "设计项目汇报概述", businessType = BusinessType.EXPORT)
+ @PostMapping("/export")
+ public void export(WmsReportSummaryBo bo, HttpServletResponse response) {
+ List list = IWmsReportSummaryService.queryList(bo);
+ ExcelUtil.exportExcel(list, "设计项目汇报概述", WmsReportSummaryVo.class, response);
+ }
+
+ /**
+ * 获取设计项目汇报概述详细信息
+ *
+ * @param id 主键
+ */
+ @GetMapping("/{id}")
+ public R getInfo(@NotNull(message = "主键不能为空")
+ @PathVariable Long id) {
+ return R.ok(IWmsReportSummaryService.queryById(id));
+ }
+
+ /**
+ * 新增设计项目汇报概述
+ */
+ @Log(title = "设计项目汇报概述", businessType = BusinessType.INSERT)
+ @RepeatSubmit()
+ @PostMapping()
+ public R add(@Validated(AddGroup.class) @RequestBody WmsReportSummaryBo bo) {
+ return toAjax(IWmsReportSummaryService.insertByBo(bo));
+ }
+
+ /**
+ * 修改设计项目汇报概述
+ */
+ @Log(title = "设计项目汇报概述", businessType = BusinessType.UPDATE)
+ @RepeatSubmit()
+ @PutMapping()
+ public R edit(@Validated(EditGroup.class) @RequestBody WmsReportSummaryBo bo) {
+ return toAjax(IWmsReportSummaryService.updateByBo(bo));
+ }
+
+ /**
+ * 删除设计项目汇报概述
+ *
+ * @param ids 主键串
+ */
+ @Log(title = "设计项目汇报概述", businessType = BusinessType.DELETE)
+ @DeleteMapping("/{ids}")
+ public R remove(@NotEmpty(message = "主键不能为空")
+ @PathVariable Long[] ids) {
+ return toAjax(IWmsReportSummaryService.deleteWithValidByIds(Arrays.asList(ids), true));
+ }
+}
diff --git a/klp-wms/src/main/java/com/klp/domain/WmsExpress.java b/klp-wms/src/main/java/com/klp/domain/WmsExpress.java
new file mode 100644
index 00000000..deaaa57f
--- /dev/null
+++ b/klp-wms/src/main/java/com/klp/domain/WmsExpress.java
@@ -0,0 +1,86 @@
+package com.klp.domain;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.klp.common.core.domain.BaseEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.Date;
+
+/**
+ * 物流预览对象 oa_express
+ *
+ * @author hdka
+ * @date 2025-07-20
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("oa_express")
+public class WmsExpress extends BaseEntity {
+
+ private static final long serialVersionUID=1L;
+
+ /**
+ * 主键id
+ */
+ @TableId(value = "express_id")
+ private Long expressId;
+
+ /**
+ * 物流编号
+ */
+ private String expressCode;
+ /**
+ * 数据状态0未确认1进行中2已完成
+ */
+ private Long status;
+ /**
+ * 供应商姓名
+ */
+ private String supplyName;
+ /**
+ * 供应商联系方式
+ */
+ private String supplyPhone;
+ /**
+ * 负责人id
+ */
+ private Long ownerId;
+ /**
+ * 负责人手机号(快递手机号)
+ */
+ private String ownerPhone;
+ /**
+ * 计划到货时间
+ */
+ private Date planDate;
+ /**
+ * 物流公司标识
+ */
+ private String expressType;
+ /**
+ * 删除标志
+ */
+ @TableLogic
+ private Long delFlag;
+ /**
+ * 备注
+ */
+ private String remark;
+
+
+ /**
+ * 节点变化时间
+ */
+ private Date lastUpdateTime;
+
+ /**
+ * 当前节点
+ */
+ private String lastStatus;
+
+
+
+}
diff --git a/klp-wms/src/main/java/com/klp/domain/WmsExpressQuestion.java b/klp-wms/src/main/java/com/klp/domain/WmsExpressQuestion.java
new file mode 100644
index 00000000..f4ae65a2
--- /dev/null
+++ b/klp-wms/src/main/java/com/klp/domain/WmsExpressQuestion.java
@@ -0,0 +1,60 @@
+package com.klp.domain;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.klp.common.core.domain.BaseEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.Date;
+
+/**
+ * 快递问题对象 oa_express_question
+ *
+ * @author hdka
+ * @date 2025-07-21
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("oa_express_question")
+public class WmsExpressQuestion extends BaseEntity {
+
+ private static final long serialVersionUID=1L;
+
+ /**
+ * 主键id
+ */
+ @TableId(value = "question_id")
+ private Long questionId;
+ /**
+ * 关联快递
+ */
+ private Long expressId;
+ /**
+ * 问题描述
+ */
+ private String description;
+ /**
+ * 汇报时间
+ */
+ private Date reportTime;
+ /**
+ * 汇报人
+ */
+ private String reportBy;
+ /**
+ * 0未解决1已解决
+ */
+ private Long status;
+ /**
+ * 删除标志
+ */
+ @TableLogic
+ private Long delFlag;
+ /**
+ * 备注
+ */
+ private String remark;
+
+}
diff --git a/klp-wms/src/main/java/com/klp/domain/WmsReportDetail.java b/klp-wms/src/main/java/com/klp/domain/WmsReportDetail.java
new file mode 100644
index 00000000..dc5c0b8b
--- /dev/null
+++ b/klp-wms/src/main/java/com/klp/domain/WmsReportDetail.java
@@ -0,0 +1,62 @@
+package com.klp.domain;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.klp.common.core.domain.BaseEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 设计项目汇报详情对象 oa_report_detail
+ *
+ * @author ruoyi
+ * @date 2025-05-13
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("oa_report_detail")
+public class WmsReportDetail extends BaseEntity {
+
+ private static final long serialVersionUID=1L;
+
+ /**
+ * 主键ID
+ */
+ @TableId(value = "detail_id")
+ private Long detailId;
+ /**
+ * 关联汇报概述ID(oa_report_summary.id)
+ */
+ private Long summaryId;
+ /**
+ * 设备唯一编号
+ */
+ private String deviceCode;
+ /**
+ * 设备类别
+ */
+ private String category;
+ /**
+ * 设备生产说明
+ */
+ private String deviceDescription;
+ /**
+ * 汇报详情内容(含文字、图像说明等)
+ */
+ private String reportDetail;
+ /**
+ * 关联图像 OSS ID 列表(逗号分隔)
+ */
+ private String ossIds;
+ /**
+ * 删除标志(0 正常,1 删除)
+ */
+ @TableLogic
+ private Long delFlag;
+ /**
+ * 备注
+ */
+ private String remark;
+
+}
diff --git a/klp-wms/src/main/java/com/klp/domain/WmsReportSummary.java b/klp-wms/src/main/java/com/klp/domain/WmsReportSummary.java
new file mode 100644
index 00000000..ccffb4fe
--- /dev/null
+++ b/klp-wms/src/main/java/com/klp/domain/WmsReportSummary.java
@@ -0,0 +1,54 @@
+package com.klp.domain;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.klp.common.core.domain.BaseEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.Date;
+
+/**
+ * 设计项目汇报概述对象 oa_report_summary
+ *
+ * @author cpy
+ * @date 2025-05-13
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("oa_report_summary")
+public class WmsReportSummary extends BaseEntity {
+
+ private static final long serialVersionUID=1L;
+
+ /**
+ * 主键ID
+ */
+ @TableId(value = "summary_id")
+ private Long summaryId;
+ /**
+ * 汇报标题
+ */
+ private String reportTitle;
+ /**
+ * 汇报日期
+ */
+ private Date reportDate;
+ /**
+ * 汇报人
+ */
+ private String reporter;
+ /**
+ * 删除标志(0 正常,1 删除)
+ */
+ @TableLogic
+ private Long delFlag;
+ /**
+ * 备注
+ */
+ private String remark;
+
+ private Long type;
+
+}
diff --git a/klp-wms/src/main/java/com/klp/domain/bo/WmsExpressBo.java b/klp-wms/src/main/java/com/klp/domain/bo/WmsExpressBo.java
new file mode 100644
index 00000000..dd464e36
--- /dev/null
+++ b/klp-wms/src/main/java/com/klp/domain/bo/WmsExpressBo.java
@@ -0,0 +1,81 @@
+package com.klp.domain.bo;
+
+import com.klp.common.core.domain.BaseEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.Date;
+
+/**
+ * 物流预览业务对象 oa_express
+ *
+ * @author hdka
+ * @date 2025-07-20
+ */
+
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class WmsExpressBo extends BaseEntity {
+
+ /**
+ * 主键id
+ */
+ private Long expressId;
+
+ /**
+ * 物流编号
+ */
+ private String expressCode;
+
+ /**
+ * 数据状态0未确认1进行中2已完成
+ */
+ private Long status;
+
+ /**
+ * 供应商姓名
+ */
+ private String supplyName;
+
+ /**
+ * 供应商联系方式
+ */
+ private String supplyPhone;
+
+ /**
+ * 负责人id
+ */
+ private Long ownerId;
+
+ /**
+ * 负责人手机号(快递手机号)
+ */
+ private String ownerPhone;
+
+ /**
+ * 计划到货时间
+ */
+ private Date planDate;
+
+ /**
+ * 物流公司标识
+ */
+ private String expressType;
+
+ /**
+ * 备注
+ */
+ private String remark;
+
+
+ /**
+ * 节点变化时间
+ */
+ private Date lastUpdateTime;
+
+ /**
+ * 当前节点
+ */
+ private String lastStatus;
+
+}
diff --git a/klp-wms/src/main/java/com/klp/domain/bo/WmsExpressQuestionBo.java b/klp-wms/src/main/java/com/klp/domain/bo/WmsExpressQuestionBo.java
new file mode 100644
index 00000000..f8db3d22
--- /dev/null
+++ b/klp-wms/src/main/java/com/klp/domain/bo/WmsExpressQuestionBo.java
@@ -0,0 +1,58 @@
+package com.klp.domain.bo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.klp.common.core.domain.BaseEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.Date;
+
+/**
+ * 快递问题业务对象 oa_express_question
+ *
+ * @author hdka
+ * @date 2025-07-21
+ */
+
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class WmsExpressQuestionBo extends BaseEntity {
+
+ /**
+ * 主键id
+ */
+ private Long questionId;
+
+ /**
+ * 关联快递
+ */
+ private Long expressId;
+
+ /**
+ * 问题描述
+ */
+ private String description;
+
+ /**
+ * 汇报时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date reportTime;
+
+ /**
+ * 汇报人
+ */
+ private String reportBy;
+
+ /**
+ * 0未解决1已解决
+ */
+ private Long status;
+
+ /**
+ * 备注
+ */
+ private String remark;
+
+
+}
diff --git a/klp-wms/src/main/java/com/klp/domain/bo/WmsReportDetailBo.java b/klp-wms/src/main/java/com/klp/domain/bo/WmsReportDetailBo.java
new file mode 100644
index 00000000..539a6c04
--- /dev/null
+++ b/klp-wms/src/main/java/com/klp/domain/bo/WmsReportDetailBo.java
@@ -0,0 +1,63 @@
+package com.klp.domain.bo;
+
+import com.klp.common.core.domain.BaseEntity;
+import com.klp.common.core.validate.EditGroup;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import javax.validation.constraints.NotNull;
+
+/**
+ * 设计项目汇报详情业务对象 oa_report_detail
+ *
+ * @author ruoyi
+ * @date 2025-05-13
+ */
+
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class WmsReportDetailBo extends BaseEntity {
+
+ /**
+ * 主键ID
+ */
+ @NotNull(message = "主键ID不能为空", groups = { EditGroup.class })
+ private Long detailId;
+
+ /**
+ * 关联汇报概述ID(oa_report_summary.id)
+ */
+ private Long summaryId;
+
+ /**
+ * 设备唯一编号
+ */
+ private String deviceCode;
+
+ /**
+ * 设备类别
+ */
+ private String category;
+
+ /**
+ * 设备生产说明
+ */
+ private String deviceDescription;
+
+ /**
+ * 汇报详情内容(含文字、图像说明等)
+ */
+ private String reportDetail;
+
+ /**
+ * 关联图像 OSS ID 列表(逗号分隔)
+ */
+ private String ossIds;
+
+ /**
+ * 备注
+ */
+ private String remark;
+
+
+}
diff --git a/klp-wms/src/main/java/com/klp/domain/bo/WmsReportSummaryBo.java b/klp-wms/src/main/java/com/klp/domain/bo/WmsReportSummaryBo.java
new file mode 100644
index 00000000..dbabd688
--- /dev/null
+++ b/klp-wms/src/main/java/com/klp/domain/bo/WmsReportSummaryBo.java
@@ -0,0 +1,56 @@
+package com.klp.domain.bo;
+
+import com.klp.common.core.domain.BaseEntity;
+import com.klp.common.core.validate.AddGroup;
+import com.klp.common.core.validate.EditGroup;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.util.Date;
+
+/**
+ * 设计项目汇报概述业务对象 oa_report_summary
+ *
+ * @author cpy
+ * @date 2025-05-13
+ */
+
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class WmsReportSummaryBo extends BaseEntity {
+
+ /**
+ * 主键ID
+ */
+ @NotNull(message = "主键ID不能为空", groups = { EditGroup.class })
+ private Long summaryId;
+
+ /**
+ * 汇报标题
+ */
+ @NotBlank(message = "汇报标题不能为空", groups = { AddGroup.class, EditGroup.class })
+ private String reportTitle;
+
+ /**
+ * 汇报日期
+ */
+ @NotNull(message = "汇报日期不能为空", groups = { AddGroup.class, EditGroup.class })
+ private Date reportDate;
+
+ /**
+ * 汇报人
+ */
+ @NotBlank(message = "汇报人不能为空", groups = { AddGroup.class, EditGroup.class })
+ private String reporter;
+
+ /**
+ * 备注
+ */
+ private String remark;
+
+
+ private Long type;
+
+}
diff --git a/klp-wms/src/main/java/com/klp/domain/vo/WmsExpressQuestionVo.java b/klp-wms/src/main/java/com/klp/domain/vo/WmsExpressQuestionVo.java
new file mode 100644
index 00000000..434b9f61
--- /dev/null
+++ b/klp-wms/src/main/java/com/klp/domain/vo/WmsExpressQuestionVo.java
@@ -0,0 +1,70 @@
+package com.klp.domain.vo;
+
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+
+/**
+ * 快递问题视图对象 oa_express_question
+ *
+ * @author hdka
+ * @date 2025-07-21
+ */
+@Data
+@ExcelIgnoreUnannotated
+public class WmsExpressQuestionVo {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 主键id
+ */
+ @ExcelProperty(value = "主键id")
+ private Long questionId;
+
+ /**
+ * 关联快递
+ */
+ @ExcelProperty(value = "关联快递")
+ private Long expressId;
+
+ /**
+ * 问题描述
+ */
+ @ExcelProperty(value = "问题描述")
+ private String description;
+
+ /**
+ * 汇报时间
+ */
+ @ExcelProperty(value = "汇报时间")
+ private Date reportTime;
+
+ /**
+ * 汇报人
+ */
+ @ExcelProperty(value = "汇报人")
+ private String reportBy;
+
+ /**
+ * 0未解决1已解决
+ */
+ @ExcelProperty(value = "状态")
+ private Long status;
+
+ /**
+ * 备注
+ */
+ @ExcelProperty(value = "备注")
+ private String remark;
+
+ /**
+ * 快递单号
+ */
+ private String expressCode;
+
+
+}
diff --git a/klp-wms/src/main/java/com/klp/domain/vo/WmsExpressVo.java b/klp-wms/src/main/java/com/klp/domain/vo/WmsExpressVo.java
new file mode 100644
index 00000000..7ecdc398
--- /dev/null
+++ b/klp-wms/src/main/java/com/klp/domain/vo/WmsExpressVo.java
@@ -0,0 +1,116 @@
+package com.klp.domain.vo;
+
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.klp.common.annotation.ExcelDictFormat;
+import com.klp.common.convert.ExcelDictConvert;
+import lombok.Data;
+
+import java.util.Date;
+
+
+/**
+ * 物流预览视图对象 oa_express
+ *
+ * @author hdka
+ * @date 2025-07-20
+ */
+@Data
+@ExcelIgnoreUnannotated
+public class WmsExpressVo {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 主键id
+ */
+ @ExcelProperty(value = "主键id")
+ private Long expressId;
+
+ /**
+ * 物流编号
+ */
+ @ExcelProperty(value = "物流编号")
+ private String expressCode;
+
+ /**
+ * 数据状态0未确认1进行中2已完成
+ */
+ @ExcelProperty(value = "数据状态0未确认1进行中2已完成")
+ private Long status;
+
+ /**
+ * 供应商姓名
+ */
+ @ExcelProperty(value = "供应商姓名")
+ private String supplyName;
+
+ /**
+ * 供应商联系方式
+ */
+ @ExcelProperty(value = "供应商联系方式")
+ private String supplyPhone;
+
+ /**
+ * 负责人id
+ */
+ private Long ownerId;
+
+
+ /**
+ * 负责人id
+ */
+ @ExcelProperty(value = "负责人")
+ private String ownerName;
+
+ /**
+ * 负责人手机号(快递手机号)
+ */
+ @ExcelProperty(value = "负责人手机号", converter = ExcelDictConvert.class)
+ @ExcelDictFormat(readConverterExp = "快=递手机号")
+ private String ownerPhone;
+
+ /**
+ * 计划到货时间
+ */
+ @ExcelProperty(value = "计划到货时间")
+ private Date planDate;
+
+ /**
+ * 物流公司标识
+ */
+ @ExcelProperty(value = "物流公司标识", converter = ExcelDictConvert.class)
+ @ExcelDictFormat(dictType = "oa_express_type")
+ private String expressType;
+
+ /**
+ * 备注
+ */
+ @ExcelProperty(value = "备注")
+ private String remark;
+
+ /**
+ * 接收时间
+ */
+ private Date acceptTime;
+
+ /**
+ * 物流状态
+ */
+ private String firstStatusName;
+
+ /**
+ * 节点变化时间
+ */
+ private Date lastUpdateTime;
+
+ /**
+ * 当前节点
+ */
+ private String lastStatus;
+
+ /**
+ * 更新时间
+ */
+ private Date updateTime;
+}
diff --git a/klp-wms/src/main/java/com/klp/domain/vo/WmsReportDetailVo.java b/klp-wms/src/main/java/com/klp/domain/vo/WmsReportDetailVo.java
new file mode 100644
index 00000000..10f9c8c8
--- /dev/null
+++ b/klp-wms/src/main/java/com/klp/domain/vo/WmsReportDetailVo.java
@@ -0,0 +1,81 @@
+package com.klp.domain.vo;
+
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.klp.common.annotation.ExcelDictFormat;
+import com.klp.common.convert.ExcelDictConvert;
+import lombok.Data;
+
+
+/**
+ * 设计项目汇报详情视图对象 oa_report_detail
+ *
+ * @author ruoyi
+ * @date 2025-05-13
+ */
+@Data
+@ExcelIgnoreUnannotated
+public class WmsReportDetailVo {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 主键ID
+ */
+ @ExcelProperty(value = "主键ID")
+ private Long detailId;
+
+ /**
+ * 关联汇报概述ID(oa_report_summary.id)
+ */
+ @ExcelProperty(value = "关联汇报概述ID", converter = ExcelDictConvert.class)
+ @ExcelDictFormat(readConverterExp = "o=a_report_summary.id")
+ private Long summaryId;
+
+ /**
+ * 设备唯一编号
+ */
+ @ExcelProperty(value = "设备唯一编号")
+ private String deviceCode;
+
+ /**
+ * 设备类别
+ */
+ @ExcelProperty(value = "设备类别")
+ private String category;
+
+ /**
+ * 设备生产说明
+ */
+ @ExcelProperty(value = "设备生产说明")
+ private String deviceDescription;
+
+ /**
+ * 汇报详情内容(含文字、图像说明等)
+ */
+ @ExcelProperty(value = "汇报详情内容", converter = ExcelDictConvert.class)
+ @ExcelDictFormat(readConverterExp = "含=文字、图像说明等")
+ private String reportDetail;
+
+ /**
+ * 关联图像 OSS ID 列表(逗号分隔)
+ */
+ @ExcelProperty(value = "关联图像 OSS ID 列表", converter = ExcelDictConvert.class)
+ @ExcelDictFormat(readConverterExp = "逗=号分隔")
+ private String ossIds;
+
+ /**
+ * 关联图像 OSS URL 列表
+ */
+ @ExcelProperty(value = "关联图像 OSS URL 列表", converter = ExcelDictConvert.class)
+ private String images;
+
+
+ /**
+ * 备注
+ */
+ @ExcelProperty(value = "备注")
+ private String remark;
+
+
+}
diff --git a/klp-wms/src/main/java/com/klp/domain/vo/WmsReportSummaryVo.java b/klp-wms/src/main/java/com/klp/domain/vo/WmsReportSummaryVo.java
new file mode 100644
index 00000000..85344bd2
--- /dev/null
+++ b/klp-wms/src/main/java/com/klp/domain/vo/WmsReportSummaryVo.java
@@ -0,0 +1,63 @@
+package com.klp.domain.vo;
+
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+
+/**
+ * 设计项目汇报概述视图对象 oa_report_summary
+ *
+ * @author cpy
+ * @date 2025-05-13
+ */
+@Data
+@ExcelIgnoreUnannotated
+public class WmsReportSummaryVo {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 主键ID
+ */
+ @ExcelProperty(value = "主键ID")
+ private Long summaryId;
+
+ /**
+ * 汇报标题
+ */
+ @ExcelProperty(value = "汇报标题")
+ private String reportTitle;
+
+ /**
+ * 汇报日期
+ */
+ @ExcelProperty(value = "汇报日期")
+ private Date reportDate;
+
+ /**
+ * 汇报人
+ */
+ @ExcelProperty(value = "汇报人")
+ private String reporter;
+
+ /**
+ * 项目名称
+ */
+ @ExcelProperty(value = "项目名称")
+ private String projectName;
+
+ /**
+ * 备注
+ */
+ @ExcelProperty(value = "备注")
+ private String remark;
+
+ private Long type;
+
+ @ExcelProperty(value = "最近更新时间")
+ private Date lastUpdateTime;
+
+}
diff --git a/klp-wms/src/main/java/com/klp/mapper/WmsExpressMapper.java b/klp-wms/src/main/java/com/klp/mapper/WmsExpressMapper.java
new file mode 100644
index 00000000..74c6ce81
--- /dev/null
+++ b/klp-wms/src/main/java/com/klp/mapper/WmsExpressMapper.java
@@ -0,0 +1,23 @@
+package com.klp.mapper;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.klp.common.core.mapper.BaseMapperPlus;
+import com.klp.domain.WmsExpress;
+import com.klp.domain.vo.WmsExpressVo;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * 物流预览Mapper接口
+ *
+ * @author hdka
+ * @date 2025-07-20
+ */
+public interface WmsExpressMapper extends BaseMapperPlus {
+
+ Page selectVoPagePlus(@Param("build") Page