From 5591d702d7cf1c56959c6ec2b1d49ccdd4ecb5b2 Mon Sep 17 00:00:00 2001 From: Joshi <3040996759@qq.com> Date: Tue, 25 Nov 2025 16:58:47 +0800 Subject: [PATCH] =?UTF-8?q?feat(wms):=20=E6=96=B0=E5=A2=9E=E5=8F=91?= =?UTF-8?q?=E8=B4=A7=E8=AE=A1=E5=88=92=E7=BB=9F=E8=AE=A1=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 IWmsDeliveryPlanService 接口中新增 getDeliveryPlanStatistics 方法 - 在 WmsDeliveryPlanController 中添加 /statistics 接口用于获取统计信息 - 在 WmsDeliveryPlanMapper 中新增 selectDeliveryPlanStatistics 查询方法 - 在 WmsDeliveryPlanMapper.xml 中编写对应的 SQL 查询语句 - 在 WmsDeliveryPlanServiceImpl 中实现统计方法调用 Mapper 层 - 新增 WmsDeliveryPlanStatisticsVo 类用于封装统计结果数据 - 引入相关类导入依赖以支持新功能开发 --- .../controller/WmsDeliveryPlanController.java | 12 +++++ .../vo/WmsDeliveryPlanStatisticsVo.java | 46 +++++++++++++++++++ .../com/klp/mapper/WmsDeliveryPlanMapper.java | 4 ++ .../klp/service/IWmsDeliveryPlanService.java | 3 ++ .../impl/WmsDeliveryPlanServiceImpl.java | 13 ++++++ .../mapper/klp/WmsDeliveryPlanMapper.xml | 41 +++++++++++++++++ 6 files changed, 119 insertions(+) create mode 100644 klp-wms/src/main/java/com/klp/domain/vo/WmsDeliveryPlanStatisticsVo.java diff --git a/klp-wms/src/main/java/com/klp/controller/WmsDeliveryPlanController.java b/klp-wms/src/main/java/com/klp/controller/WmsDeliveryPlanController.java index 7abe32ca..427c2298 100644 --- a/klp-wms/src/main/java/com/klp/controller/WmsDeliveryPlanController.java +++ b/klp-wms/src/main/java/com/klp/controller/WmsDeliveryPlanController.java @@ -3,6 +3,7 @@ package com.klp.controller; import java.util.List; import java.util.Arrays; +import com.klp.domain.vo.WmsDeliveryPlanStatisticsVo; import lombok.RequiredArgsConstructor; import javax.servlet.http.HttpServletResponse; import javax.validation.constraints.*; @@ -96,4 +97,15 @@ public class WmsDeliveryPlanController extends BaseController { @PathVariable Long[] planIds) { return toAjax(iWmsDeliveryPlanService.deleteWithValidByIds(Arrays.asList(planIds), true)); } + + /** + * 获取发货计划统计信息 + * + * @param planId 计划ID,可选 + */ + @GetMapping("/statistics") + public R> getStatistics(@RequestParam(required = false) Long planId) { + List statistics = iWmsDeliveryPlanService.getDeliveryPlanStatistics(planId); + return R.ok(statistics); + } } diff --git a/klp-wms/src/main/java/com/klp/domain/vo/WmsDeliveryPlanStatisticsVo.java b/klp-wms/src/main/java/com/klp/domain/vo/WmsDeliveryPlanStatisticsVo.java new file mode 100644 index 00000000..3997531c --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/vo/WmsDeliveryPlanStatisticsVo.java @@ -0,0 +1,46 @@ +package com.klp.domain.vo; + + +import lombok.Data; +import java.math.BigDecimal; + +/** + * 发货计划统计信息VO + */ +@Data +public class WmsDeliveryPlanStatisticsVo { + /** + * 计划ID + */ + private Long planId; + + /** + * 计划名称 + */ + private String planName; + + /** + * 发货单数量 + */ + private Integer waybillCount = 0; + + /** + * 总卷数 + */ + private Integer totalCoilCount = 0; + + /** + * 总吨数(吨) + */ + private BigDecimal totalWeight = BigDecimal.ZERO; + + /** + * 完成进度(百分比) + */ + private BigDecimal completionRate = BigDecimal.ZERO; + + /** + * 已完成发货单数量 + */ + private Integer completedWaybillCount = 0; +} diff --git a/klp-wms/src/main/java/com/klp/mapper/WmsDeliveryPlanMapper.java b/klp-wms/src/main/java/com/klp/mapper/WmsDeliveryPlanMapper.java index 472d5aac..9ba52ad2 100644 --- a/klp-wms/src/main/java/com/klp/mapper/WmsDeliveryPlanMapper.java +++ b/klp-wms/src/main/java/com/klp/mapper/WmsDeliveryPlanMapper.java @@ -1,9 +1,12 @@ package com.klp.mapper; import com.klp.domain.WmsDeliveryPlan; +import com.klp.domain.vo.WmsDeliveryPlanStatisticsVo; import com.klp.domain.vo.WmsDeliveryPlanVo; import com.klp.common.core.mapper.BaseMapperPlus; +import java.util.List; + /** * 发货计划Mapper接口 * @@ -12,4 +15,5 @@ import com.klp.common.core.mapper.BaseMapperPlus; */ public interface WmsDeliveryPlanMapper extends BaseMapperPlus { + List selectDeliveryPlanStatistics(Long planId); } diff --git a/klp-wms/src/main/java/com/klp/service/IWmsDeliveryPlanService.java b/klp-wms/src/main/java/com/klp/service/IWmsDeliveryPlanService.java index 3eb01ebe..0b8ff7e2 100644 --- a/klp-wms/src/main/java/com/klp/service/IWmsDeliveryPlanService.java +++ b/klp-wms/src/main/java/com/klp/service/IWmsDeliveryPlanService.java @@ -1,6 +1,7 @@ package com.klp.service; import com.klp.domain.WmsDeliveryPlan; +import com.klp.domain.vo.WmsDeliveryPlanStatisticsVo; import com.klp.domain.vo.WmsDeliveryPlanVo; import com.klp.domain.bo.WmsDeliveryPlanBo; import com.klp.common.core.page.TableDataInfo; @@ -46,4 +47,6 @@ public interface IWmsDeliveryPlanService { * 校验并批量删除发货计划信息 */ Boolean deleteWithValidByIds(Collection ids, Boolean isValid); + + List getDeliveryPlanStatistics(Long planId); } diff --git a/klp-wms/src/main/java/com/klp/service/impl/WmsDeliveryPlanServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsDeliveryPlanServiceImpl.java index c08b1163..a3d15177 100644 --- a/klp-wms/src/main/java/com/klp/service/impl/WmsDeliveryPlanServiceImpl.java +++ b/klp-wms/src/main/java/com/klp/service/impl/WmsDeliveryPlanServiceImpl.java @@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.klp.common.utils.StringUtils; +import com.klp.domain.vo.WmsDeliveryPlanStatisticsVo; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import com.klp.domain.bo.WmsDeliveryPlanBo; @@ -15,6 +16,7 @@ import com.klp.domain.WmsDeliveryPlan; import com.klp.mapper.WmsDeliveryPlanMapper; import com.klp.service.IWmsDeliveryPlanService; +import java.util.Collections; import java.util.List; import java.util.Map; import java.util.Collection; @@ -107,4 +109,15 @@ public class WmsDeliveryPlanServiceImpl implements IWmsDeliveryPlanService { } return baseMapper.deleteBatchIds(ids) > 0; } + + + /** + * 获取发货计划统计信息 + * + * @param planId 计划ID,可选 + * @return 统计信息列表 + */ + public List getDeliveryPlanStatistics(Long planId) { + return baseMapper.selectDeliveryPlanStatistics(planId); + } } diff --git a/klp-wms/src/main/resources/mapper/klp/WmsDeliveryPlanMapper.xml b/klp-wms/src/main/resources/mapper/klp/WmsDeliveryPlanMapper.xml index 341782bd..cebdcad3 100644 --- a/klp-wms/src/main/resources/mapper/klp/WmsDeliveryPlanMapper.xml +++ b/klp-wms/src/main/resources/mapper/klp/WmsDeliveryPlanMapper.xml @@ -16,5 +16,46 @@ + + +