From 4da8d8d2977b8c60b8207dc009d59bfe84512d52 Mon Sep 17 00:00:00 2001 From: Joshi <3040996759@qq.com> Date: Wed, 10 Jun 2026 16:49:00 +0800 Subject: [PATCH] =?UTF-8?q?feat(wms):=20=E6=B7=BB=E5=8A=A0=E6=8E=92?= =?UTF-8?q?=E4=BA=A7=E5=8E=9A=E5=BA=A6=E5=AD=97=E6=AE=B5=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 WmsMaterialCoil 实体类中新增 scheduleThickness 字段 - 在 WmsMaterialCoilBo 业务对象中新增 scheduleThickness 字段 - 在 WmsMaterialCoilController 控制器中添加排产厚度列映射 - 在 WmsMaterialCoilExportVo 导出对象中添加 Excel 导出支持 - 在 WmsMaterialCoilMapper.xml 中添加数据库映射配置 - 在 WmsMaterialCoilServiceImpl 服务实现中添加查询条件支持 - 修复钢卷号重复检查逻辑中的数据类型判断问题 - 在 WmsMaterialCoilVo 视图对象中添加排产厚度字段 --- .../com/klp/controller/WmsMaterialCoilController.java | 1 + .../src/main/java/com/klp/domain/WmsMaterialCoil.java | 5 +++++ .../java/com/klp/domain/bo/WmsMaterialCoilBo.java | 5 +++++ .../com/klp/domain/vo/WmsMaterialCoilExportVo.java | 6 ++++++ .../java/com/klp/domain/vo/WmsMaterialCoilVo.java | 5 +++++ .../klp/service/impl/WmsMaterialCoilServiceImpl.java | 11 ++++++++--- .../resources/mapper/klp/WmsMaterialCoilMapper.xml | 6 ++++++ 7 files changed, 36 insertions(+), 3 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 469e2a2a..db8a7806 100644 --- a/klp-wms/src/main/java/com/klp/controller/WmsMaterialCoilController.java +++ b/klp-wms/src/main/java/com/klp/controller/WmsMaterialCoilController.java @@ -195,6 +195,7 @@ public class WmsMaterialCoilController extends BaseController { columns.put("transferType", "调拨类型"); columns.put("team", "班组"); columns.put("theoreticalThickness", "理论厚度"); + columns.put("scheduleThickness", "排产厚度"); columns.put("theoreticalLength", "理论长度"); columns.put("chromePlateCoilNo", "镀铬卷号"); return R.ok(columns); diff --git a/klp-wms/src/main/java/com/klp/domain/WmsMaterialCoil.java b/klp-wms/src/main/java/com/klp/domain/WmsMaterialCoil.java index 0f3d8a5f..26abfe78 100644 --- a/klp-wms/src/main/java/com/klp/domain/WmsMaterialCoil.java +++ b/klp-wms/src/main/java/com/klp/domain/WmsMaterialCoil.java @@ -219,6 +219,11 @@ public class WmsMaterialCoil extends BaseEntity { */ private BigDecimal theoreticalThickness; + /** + * 排产厚度(单位:毫米) + */ + private BigDecimal scheduleThickness; + /** * 理论长度(单位:米) */ diff --git a/klp-wms/src/main/java/com/klp/domain/bo/WmsMaterialCoilBo.java b/klp-wms/src/main/java/com/klp/domain/bo/WmsMaterialCoilBo.java index 93f5942a..224eee39 100644 --- a/klp-wms/src/main/java/com/klp/domain/bo/WmsMaterialCoilBo.java +++ b/klp-wms/src/main/java/com/klp/domain/bo/WmsMaterialCoilBo.java @@ -392,6 +392,11 @@ public class WmsMaterialCoilBo extends BaseEntity { */ private BigDecimal theoreticalThickness; + /** + * 排产厚度(单位:毫米) + */ + private BigDecimal scheduleThickness; + /** * 理论长度(单位:米) */ diff --git a/klp-wms/src/main/java/com/klp/domain/vo/WmsMaterialCoilExportVo.java b/klp-wms/src/main/java/com/klp/domain/vo/WmsMaterialCoilExportVo.java index b931f4de..bcf28000 100644 --- a/klp-wms/src/main/java/com/klp/domain/vo/WmsMaterialCoilExportVo.java +++ b/klp-wms/src/main/java/com/klp/domain/vo/WmsMaterialCoilExportVo.java @@ -215,6 +215,12 @@ public class WmsMaterialCoilExportVo { @ExcelProperty(value = "理论厚度") private BigDecimal theoreticalThickness; + /** + * 排产厚度(单位:毫米) + */ + @ExcelProperty(value = "排产厚度") + private BigDecimal scheduleThickness; + /** * 理论长度(单位:米) */ diff --git a/klp-wms/src/main/java/com/klp/domain/vo/WmsMaterialCoilVo.java b/klp-wms/src/main/java/com/klp/domain/vo/WmsMaterialCoilVo.java index bfb3c0a0..63899e7c 100644 --- a/klp-wms/src/main/java/com/klp/domain/vo/WmsMaterialCoilVo.java +++ b/klp-wms/src/main/java/com/klp/domain/vo/WmsMaterialCoilVo.java @@ -345,6 +345,11 @@ public class WmsMaterialCoilVo extends BaseEntity { */ private BigDecimal theoreticalThickness; + /** + * 排产厚度(单位:毫米) + */ + private BigDecimal scheduleThickness; + /** * 理论长度(单位:米) */ 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 7b0a5256..dd47376f 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 @@ -731,6 +731,8 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService { qw.eq(StringUtils.isNotBlank(bo.getActualThickness()), "mc.actual_thickness", bo.getActualThickness()); // 理论厚度 qw.eq(bo.getTheoreticalThickness() != null, "mc.theoretical_thickness", bo.getTheoreticalThickness()); + // 排产厚度 + qw.eq(bo.getScheduleThickness() != null, "mc.schedule_thickness", bo.getScheduleThickness()); // 理论长度 qw.eq(bo.getTheoreticalLength() != null, "mc.theoretical_length", bo.getTheoreticalLength()); // 镀铬卷号 @@ -1813,7 +1815,8 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService { throw new RuntimeException("原钢卷已被更新"); } - // 检查当前钢卷号是否重复(单个更新,传入coilId排除自身) + // 检查当前钢卷号是否重复(单个更新,传入coilId排除老卷) 首先退火走的这个接口但是退火的当前钢卷号是不会变的 + // 当前钢卷号不变加工必然报错老卷还没变成历史所以要排除和老卷相同的情况 由于老卷马上就要变成历史了也不用担心和老卷的当前钢卷号重复问题了 Map duplicateCheck = checkCoilNoDuplicate(bo.getCoilId(), null, bo.getCurrentCoilNo(), null); if ("current".equals(duplicateCheck.get("duplicateType")) || "both".equals(duplicateCheck.get("duplicateType"))) { throw new RuntimeException("更新失败:当前钢卷号[" + bo.getCurrentCoilNo() + "]已存在"); @@ -3906,8 +3909,10 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService { // 1. 如果coilId不为空(修改操作),先查询该钢卷的dataType if (coilId != null) { WmsMaterialCoil coil = baseMapper.selectById(coilId); - // 2. 如果查询到钢卷且dataType!=1(说明是历史记录),直接返回无重复 - if (coil != null && coil.getDataType() != 1) { + // 2. 如果查询到钢卷且dataType==0(说明是历史记录),直接返回无重复 + // 为了防止历史的入场钢卷号问题因为排除自身也没用, 回滚本身操作的就是历史钢卷,但是它不应该跳过因为它要变成现存卷了 + // 回滚卷要校验钢卷号 所以回滚是不需要传递coilId 加上本身是历史卷 所以也不会被查出来 .eq(WmsMaterialCoil::getDataType, 1);已经过滤掉自身了 所以也能修改 + if (coil != null && coil.getDataType() == 0) { result.put("duplicateType", "none"); result.put("enterCoilNoDuplicate", false); result.put("currentCoilNoDuplicate", false); diff --git a/klp-wms/src/main/resources/mapper/klp/WmsMaterialCoilMapper.xml b/klp-wms/src/main/resources/mapper/klp/WmsMaterialCoilMapper.xml index 978da57b..818abc40 100644 --- a/klp-wms/src/main/resources/mapper/klp/WmsMaterialCoilMapper.xml +++ b/klp-wms/src/main/resources/mapper/klp/WmsMaterialCoilMapper.xml @@ -43,6 +43,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + @@ -132,6 +133,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" mc.exclusive_status, mc.transfer_type, mc.theoretical_thickness, + mc.schedule_thickness, mc.theoretical_length, mc.chrome_plate_coil_no, mc.sale_name AS saleName, @@ -488,6 +490,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" mc.transfer_type AS transferType, -- 理论厚度 mc.theoretical_thickness AS theoreticalThickness, + -- 排产厚度 + mc.schedule_thickness AS scheduleThickness, -- 理论长度 mc.theoretical_length AS theoreticalLength, -- 镀铬卷号 @@ -580,6 +584,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" mc.sale_name AS saleName, mc.transfer_type AS transferType, mc.theoretical_thickness AS theoreticalThickness, + mc.schedule_thickness AS scheduleThickness, mc.theoretical_length AS theoreticalLength, mc.chrome_plate_coil_no AS chromePlateCoilNo, CASE @@ -701,6 +706,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" mc.sale_name AS saleName, mc.transfer_type AS transferType, mc.theoretical_thickness AS theoreticalThickness, + mc.schedule_thickness AS scheduleThickness, mc.theoretical_length AS theoreticalLength, mc.chrome_plate_coil_no AS chromePlateCoilNo, CASE