From 3f507cef5b021b75e6a3ec10db6cb8c1539c376e Mon Sep 17 00:00:00 2001 From: Joshi <3040996759@qq.com> Date: Mon, 17 Nov 2025 17:00:57 +0800 Subject: [PATCH] =?UTF-8?q?feat(wms):=20=E5=A2=9E=E5=8A=A0=E4=BA=A7?= =?UTF-8?q?=E5=93=81=E5=92=8C=E5=8E=9F=E6=9D=90=E6=96=99=E7=9A=84=E8=A7=84?= =?UTF-8?q?=E6=A0=BC=E3=80=81=E6=9D=90=E8=B4=A8=E7=AD=89=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/klp/domain/vo/WmsStockVo.java | 7 +++ .../klp/service/impl/WmsStockServiceImpl.java | 15 +++++- .../resources/mapper/klp/WmsStockMapper.xml | 50 +++++++++++++++++++ 3 files changed, 70 insertions(+), 2 deletions(-) diff --git a/klp-wms/src/main/java/com/klp/domain/vo/WmsStockVo.java b/klp-wms/src/main/java/com/klp/domain/vo/WmsStockVo.java index d3b7a1bd..9aca092f 100644 --- a/klp-wms/src/main/java/com/klp/domain/vo/WmsStockVo.java +++ b/klp-wms/src/main/java/com/klp/domain/vo/WmsStockVo.java @@ -99,4 +99,11 @@ public class WmsStockVo { //实际库区/库位自关联 private Long actualWarehouseId; private String actualWarehouseName; + + + private String specification; // 规格 + private String material; // 材质 + private String surfaceTreatmentDesc; // 表面处理 + private String zincLayer; // 锌层 + private String manufacturer; // 厂家 } diff --git a/klp-wms/src/main/java/com/klp/service/impl/WmsStockServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsStockServiceImpl.java index 479b1a58..8127583e 100644 --- a/klp-wms/src/main/java/com/klp/service/impl/WmsStockServiceImpl.java +++ b/klp-wms/src/main/java/com/klp/service/impl/WmsStockServiceImpl.java @@ -91,7 +91,12 @@ public class WmsStockServiceImpl implements IWmsStockService { "mc.item_id", "w.actual_warehouse_name", "CASE WHEN mc.item_type = 'product' THEN p.product_name WHEN mc.item_type = 'raw_material' THEN r.raw_material_name ELSE NULL END", - "CASE WHEN mc.item_type = 'product' THEN p.product_code WHEN mc.item_type = 'raw_material' THEN r.raw_material_code ELSE NULL END" + "CASE WHEN mc.item_type = 'product' THEN p.product_code WHEN mc.item_type = 'raw_material' THEN r.raw_material_code ELSE NULL END", + "CASE WHEN mc.item_type = 'product' THEN p.specification WHEN mc.item_type = 'raw_material' THEN r.specification ELSE NULL END", + "CASE WHEN mc.item_type = 'product' THEN p.material WHEN mc.item_type = 'raw_material' THEN r.material ELSE NULL END", + "CASE WHEN mc.item_type = 'product' THEN p.surface_treatment_desc WHEN mc.item_type = 'raw_material' THEN r.surface_treatment_desc ELSE NULL END", + "CASE WHEN mc.item_type = 'product' THEN p.zinc_layer WHEN mc.item_type = 'raw_material' THEN r.zinc_layer ELSE NULL END", + "CASE WHEN mc.item_type = 'product' THEN p.manufacturer WHEN mc.item_type = 'raw_material' THEN r.manufacturer ELSE NULL END" ); return qw; @@ -166,7 +171,13 @@ public class WmsStockServiceImpl implements IWmsStockService { "mc.item_id", "w.warehouse_name", "CASE WHEN mc.item_type = 'product' THEN p.product_name WHEN mc.item_type = 'raw_material' THEN r.raw_material_name ELSE NULL END", - "CASE WHEN mc.item_type = 'product' THEN p.product_code WHEN mc.item_type = 'raw_material' THEN r.raw_material_code ELSE NULL END" + "CASE WHEN mc.item_type = 'product' THEN p.product_code WHEN mc.item_type = 'raw_material' THEN r.raw_material_code ELSE NULL END", + // 新增分组字段(规格、材质等) + "CASE WHEN mc.item_type = 'product' THEN p.specification WHEN mc.item_type = 'raw_material' THEN r.specification ELSE NULL END", + "CASE WHEN mc.item_type = 'product' THEN p.material WHEN mc.item_type = 'raw_material' THEN r.material ELSE NULL END", + "CASE WHEN mc.item_type = 'product' THEN p.surface_treatment_desc WHEN mc.item_type = 'raw_material' THEN r.surface_treatment_desc ELSE NULL END", + "CASE WHEN mc.item_type = 'product' THEN p.zinc_layer WHEN mc.item_type = 'raw_material' THEN r.zinc_layer ELSE NULL END", + "CASE WHEN mc.item_type = 'product' THEN p.manufacturer WHEN mc.item_type = 'raw_material' THEN r.manufacturer ELSE NULL END" ); return qw; diff --git a/klp-wms/src/main/resources/mapper/klp/WmsStockMapper.xml b/klp-wms/src/main/resources/mapper/klp/WmsStockMapper.xml index ac95b5bd..d240e414 100644 --- a/klp-wms/src/main/resources/mapper/klp/WmsStockMapper.xml +++ b/klp-wms/src/main/resources/mapper/klp/WmsStockMapper.xml @@ -39,6 +39,31 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" WHEN mc.item_type = 'raw_material' THEN r.raw_material_code ELSE NULL END AS itemCode, + CASE + WHEN mc.item_type = 'product' THEN p.specification + WHEN mc.item_type = 'raw_material' THEN r.specification + ELSE NULL + END AS specification, + CASE + WHEN mc.item_type = 'product' THEN p.material + WHEN mc.item_type = 'raw_material' THEN r.material + ELSE NULL + END AS material, + CASE + WHEN mc.item_type = 'product' THEN p.surface_treatment_desc + WHEN mc.item_type = 'raw_material' THEN r.surface_treatment_desc + ELSE NULL + END AS surfaceTreatmentDesc, + CASE + WHEN mc.item_type = 'product' THEN p.zinc_layer + WHEN mc.item_type = 'raw_material' THEN r.zinc_layer + ELSE NULL + END AS zincLayer, + CASE + WHEN mc.item_type = 'product' THEN p.manufacturer + WHEN mc.item_type = 'raw_material' THEN r.manufacturer + ELSE NULL + END AS manufacturer, COUNT(*) AS totalQuantity, SUM(CASE WHEN mc.status = 1 THEN 1 ELSE 0 END) AS onTheWay FROM wms_material_coil mc @@ -80,6 +105,31 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" WHEN mc.item_type = 'raw_material' THEN r.raw_material_code ELSE NULL END AS itemCode, + CASE + WHEN mc.item_type = 'product' THEN p.specification + WHEN mc.item_type = 'raw_material' THEN r.specification + ELSE NULL + END AS specification, + CASE + WHEN mc.item_type = 'product' THEN p.material + WHEN mc.item_type = 'raw_material' THEN r.material + ELSE NULL + END AS material, + CASE + WHEN mc.item_type = 'product' THEN p.surface_treatment_desc + WHEN mc.item_type = 'raw_material' THEN r.surface_treatment_desc + ELSE NULL + END AS surfaceTreatmentDesc, + CASE + WHEN mc.item_type = 'product' THEN p.zinc_layer + WHEN mc.item_type = 'raw_material' THEN r.zinc_layer + ELSE NULL + END AS zincLayer, + CASE + WHEN mc.item_type = 'product' THEN p.manufacturer + WHEN mc.item_type = 'raw_material' THEN r.manufacturer + ELSE NULL + END AS manufacturer, COUNT(*) AS totalQuantity, SUM(CASE WHEN mc.status = 1 THEN 1 ELSE 0 END) AS onTheWay FROM wms_material_coil mc