From 3ca854f85f10508d410f6298a69423df5dbef1fa Mon Sep 17 00:00:00 2001 From: 86156 <823267011@qq.com> Date: Wed, 29 Oct 2025 14:40:09 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=8F=8C=E5=90=91=E7=BB=9F?= =?UTF-8?q?=E8=AE=A1=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/WmsMaterialCoilController.java | 16 +++++++++----- .../com/klp/mapper/WmsMaterialCoilMapper.java | 13 +++++++---- .../klp/service/IWmsMaterialCoilService.java | 16 +++++++++----- .../impl/WmsMaterialCoilServiceImpl.java | 21 +++++++++++------- .../mapper/klp/WmsMaterialCoilMapper.xml | 22 +++++++++++++++---- 5 files changed, 60 insertions(+), 28 deletions(-) diff --git a/klp-wms/src/main/java/com/klp/controller/WmsMaterialCoilController.java b/klp-wms/src/main/java/com/klp/controller/WmsMaterialCoilController.java index 3c92e319..dfe54468 100644 --- a/klp-wms/src/main/java/com/klp/controller/WmsMaterialCoilController.java +++ b/klp-wms/src/main/java/com/klp/controller/WmsMaterialCoilController.java @@ -125,21 +125,25 @@ public class WmsMaterialCoilController extends BaseController { /** * 查询各个库区中不同类型的钢卷分布情况 - * 按库区分组,统计每种物品类型的钢卷数量和重量 + * 按库区分组,统计每种物品类型和物品ID的钢卷数量和重量 */ @GetMapping("/distributionByWarehouse") - public R> getDistributionByWarehouse() { - List distribution = iWmsMaterialCoilService.getDistributionByWarehouse(); + public R> getDistributionByWarehouse( + @RequestParam(required = false) String itemType, + @RequestParam(required = false) Long itemId) { + List distribution = iWmsMaterialCoilService.getDistributionByWarehouse(itemType, itemId); return R.ok(distribution); } /** * 查询不同类型的钢卷在不同库区的分布情况 - * 按物品类型分组,统计每个库区的钢卷数量和重量 + * 按物品类型和物品ID分组,统计每个库区的钢卷数量和重量 */ @GetMapping("/distributionByItemType") - public R> getDistributionByItemType() { - List distribution = iWmsMaterialCoilService.getDistributionByItemType(); + public R> getDistributionByItemType( + @RequestParam(required = false) String itemType, + @RequestParam(required = false) Long itemId) { + List distribution = iWmsMaterialCoilService.getDistributionByItemType(itemType, itemId); return R.ok(distribution); } } diff --git a/klp-wms/src/main/java/com/klp/mapper/WmsMaterialCoilMapper.java b/klp-wms/src/main/java/com/klp/mapper/WmsMaterialCoilMapper.java index e63885c2..271e82d5 100644 --- a/klp-wms/src/main/java/com/klp/mapper/WmsMaterialCoilMapper.java +++ b/klp-wms/src/main/java/com/klp/mapper/WmsMaterialCoilMapper.java @@ -3,6 +3,7 @@ package com.klp.mapper; import com.klp.domain.WmsMaterialCoil; import com.klp.domain.vo.WmsMaterialCoilVo; import com.klp.common.core.mapper.BaseMapperPlus; +import org.apache.ibatis.annotations.Param; import java.util.List; import java.util.Map; @@ -16,18 +17,22 @@ public interface WmsMaterialCoilMapper extends BaseMapperPlus> getDistributionByWarehouse(); + List> getDistributionByWarehouse(@Param("itemType") String itemType, @Param("itemId") Long itemId); /** * 查询不同类型的钢卷在不同库区的分布情况 - * 按物品类型分组,统计每个库区的钢卷数量和重量 + * 按物品类型和物品ID分组,统计每个库区的钢卷数量和重量 * + * @param itemType 物品类型(可选) + * @param itemId 物品ID(可选) * @return 分布情况列表 */ - List> getDistributionByItemType(); + List> getDistributionByItemType(@Param("itemType") String itemType, @Param("itemId") Long itemId); } diff --git a/klp-wms/src/main/java/com/klp/service/IWmsMaterialCoilService.java b/klp-wms/src/main/java/com/klp/service/IWmsMaterialCoilService.java index a64a2751..5d15f315 100644 --- a/klp-wms/src/main/java/com/klp/service/IWmsMaterialCoilService.java +++ b/klp-wms/src/main/java/com/klp/service/IWmsMaterialCoilService.java @@ -67,18 +67,22 @@ public interface IWmsMaterialCoilService { /** * 查询各个库区中不同类型的钢卷分布情况 - * 按库区分组,统计每种物品类型的钢卷数量和重量 + * 按库区分组,统计每种物品类型和物品ID的钢卷数量和重量 * - * @return 分布情况列表,包含库区信息、物品类型、数量、重量等 + * @param itemType 物品类型(可选) + * @param itemId 物品ID(可选) + * @return 分布情况列表,包含库区信息、物品类型、物品ID、数量、重量等 */ - List getDistributionByWarehouse(); + List getDistributionByWarehouse(String itemType, Long itemId); /** * 查询不同类型的钢卷在不同库区的分布情况 - * 按物品类型分组,统计每个库区的钢卷数量和重量 + * 按物品类型和物品ID分组,统计每个库区的钢卷数量和重量 * - * @return 分布情况列表,包含物品类型、库区信息、数量、重量等 + * @param itemType 物品类型(可选) + * @param itemId 物品ID(可选) + * @return 分布情况列表,包含物品类型、物品ID、库区信息、数量、重量等 */ - List getDistributionByItemType(); + List getDistributionByItemType(String itemType, Long itemId); } diff --git a/klp-wms/src/main/java/com/klp/service/impl/WmsMaterialCoilServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsMaterialCoilServiceImpl.java index 84f56af0..193dda49 100644 --- a/klp-wms/src/main/java/com/klp/service/impl/WmsMaterialCoilServiceImpl.java +++ b/klp-wms/src/main/java/com/klp/service/impl/WmsMaterialCoilServiceImpl.java @@ -1010,25 +1010,29 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService { /** * 查询各个库区中不同类型的钢卷分布情况 - * 按库区分组,统计每种物品类型的钢卷数量和重量 + * 按库区分组,统计每种物品类型和物品ID的钢卷数量和重量 * - * @return 分布情况列表,包含库区信息、物品类型、数量、重量等 + * @param itemType 物品类型(可选) + * @param itemId 物品ID(可选) + * @return 分布情况列表,包含库区信息、物品类型、物品ID、数量、重量等 */ @Override - public List getDistributionByWarehouse() { - List> mapList = baseMapper.getDistributionByWarehouse(); + public List getDistributionByWarehouse(String itemType, Long itemId) { + List> mapList = baseMapper.getDistributionByWarehouse(itemType, itemId); return convertMapListToVoList(mapList); } /** * 查询不同类型的钢卷在不同库区的分布情况 - * 按物品类型分组,统计每个库区的钢卷数量和重量 + * 按物品类型和物品ID分组,统计每个库区的钢卷数量和重量 * - * @return 分布情况列表,包含物品类型、库区信息、数量、重量等 + * @param itemType 物品类型(可选) + * @param itemId 物品ID(可选) + * @return 分布情况列表,包含物品类型、物品ID、库区信息、数量、重量等 */ @Override - public List getDistributionByItemType() { - List> mapList = baseMapper.getDistributionByItemType(); + public List getDistributionByItemType(String itemType, Long itemId) { + List> mapList = baseMapper.getDistributionByItemType(itemType, itemId); return convertMapListToVoList(mapList); } @@ -1042,6 +1046,7 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService { vo.setWarehouseId(map.get("warehouse_id") != null ? Long.valueOf(map.get("warehouse_id").toString()) : null); vo.setWarehouseName(map.get("warehouse_name") != null ? map.get("warehouse_name").toString() : null); vo.setItemType(map.get("item_type") != null ? map.get("item_type").toString() : null); + vo.setItemId(map.get("item_id") != null ? Long.valueOf(map.get("item_id").toString()) : null); vo.setCoilCount(map.get("coil_count") != null ? Long.valueOf(map.get("coil_count").toString()) : 0L); vo.setTotalGrossWeight(map.get("total_gross_weight") != null ? new BigDecimal(map.get("total_gross_weight").toString()) : BigDecimal.ZERO); vo.setTotalNetWeight(map.get("total_net_weight") != null ? new BigDecimal(map.get("total_net_weight").toString()) : BigDecimal.ZERO); diff --git a/klp-wms/src/main/resources/mapper/klp/WmsMaterialCoilMapper.xml b/klp-wms/src/main/resources/mapper/klp/WmsMaterialCoilMapper.xml index fb371612..7fe251ad 100644 --- a/klp-wms/src/main/resources/mapper/klp/WmsMaterialCoilMapper.xml +++ b/klp-wms/src/main/resources/mapper/klp/WmsMaterialCoilMapper.xml @@ -45,6 +45,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" w.warehouse_id, w.warehouse_name, mc.item_type, + mc.item_id, COUNT(mc.coil_id) as coil_count, COALESCE(SUM(mc.gross_weight), 0) as total_gross_weight, COALESCE(SUM(mc.net_weight), 0) as total_net_weight @@ -53,14 +54,21 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" AND mc.data_type = 1 AND mc.del_flag = '0' WHERE w.del_flag = '0' - GROUP BY w.warehouse_id, w.warehouse_name, mc.item_type - ORDER BY w.warehouse_id, mc.item_type + + AND mc.item_type = #{itemType} + + + AND mc.item_id = #{itemId} + + GROUP BY w.warehouse_id, w.warehouse_name, mc.item_type, mc.item_id + ORDER BY w.warehouse_id, mc.item_type, mc.item_id