From fcd448b00535b115109eb0d952fbc57e91f83066 Mon Sep 17 00:00:00 2001 From: Joshi <3040996759@qq.com> Date: Fri, 16 Jan 2026 15:39:02 +0800 Subject: [PATCH 1/2] =?UTF-8?q?fix(wms):=20=E5=A4=84=E7=90=86=E5=AE=9E?= =?UTF-8?q?=E9=99=85=E5=BA=93=E5=8C=BAID=E4=B8=BA-1=E7=9A=84=E7=A9=BA?= =?UTF-8?q?=E7=BD=AE=E5=BA=93=E6=83=85=E5=86=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 添加对实际库区ID为-1的判断逻辑 - 将值为-1的库区ID统一转换为NULL - 防止空置库标识影响后续库存操作 --- .../java/com/klp/service/impl/WmsMaterialCoilServiceImpl.java | 4 ++++ 1 file changed, 4 insertions(+) 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 eb946d68..925a44ad 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 @@ -829,6 +829,10 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService { // 2. 查找或创建stock findOrCreateStock(bo); + // 处理实际库区:-1 表示空置库,统一转 NULL + if (bo.getActualWarehouseId() != null && bo.getActualWarehouseId() == -1) { + bo.setActualWarehouseId(null); + } // 3. 插入钢卷数据 WmsMaterialCoil add = BeanUtil.toBean(bo, WmsMaterialCoil.class); if(bo.getDataType() != null && bo.getDataType() == 10){ From 57a62fcf048b951852bb295f678e6acc953ef1e8 Mon Sep 17 00:00:00 2001 From: Joshi <3040996759@qq.com> Date: Sat, 17 Jan 2026 09:06:33 +0800 Subject: [PATCH 2/2] =?UTF-8?q?feat(wms):=20=E4=BC=98=E5=8C=96=E9=92=A2?= =?UTF-8?q?=E5=8D=B7=E5=8F=B7=E9=87=8D=E5=A4=8D=E6=A3=80=E6=9F=A5=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增历史记录数据类型判断,避免对历史数据进行重复检查 - 修改操作时根据coilId查询数据类型,历史记录直接返回无重复 - 钢卷号重复检查增加数据类型过滤条件,仅对当前数据生效 - 完善方法注释说明历史记录处理逻辑 --- .../service/impl/WmsMaterialCoilServiceImpl.java | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) 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 925a44ad..0a1c3bc5 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 @@ -2601,11 +2601,25 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService { /** * 检查钢卷号是否重复 * 根据入场钢卷号和当前钢卷号查询数据库,判断哪个钢卷号重复 + * 新增逻辑:修改历史记录时不检查重复 */ @Override public Map checkCoilNoDuplicate(Long coilId, String enterCoilNo, String currentCoilNo) { Map result = new HashMap<>(); + // 新增核心逻辑:先判断是否操作的是历史记录 + // 1. 如果coilId不为空(修改操作),先查询该钢卷的dataType + if (coilId != null) { + WmsMaterialCoil coil = baseMapper.selectById(coilId); + // 2. 如果查询到钢卷且dataType!=1(说明是历史记录),直接返回无重复 + if (coil != null && coil.getDataType() != 1) { + result.put("duplicateType", "none"); + result.put("enterCoilNoDuplicate", false); + result.put("currentCoilNoDuplicate", false); + return result; // 直接返回,不执行后续检查 + } + } + boolean enterCoilNoDuplicate = false; boolean currentCoilNoDuplicate = false; @@ -2614,7 +2628,7 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService { LambdaQueryWrapper enterWrapper = Wrappers.lambdaQuery(); enterWrapper.eq(WmsMaterialCoil::getEnterCoilNo, enterCoilNo) .eq(WmsMaterialCoil::getDelFlag, 0) - .eq(WmsMaterialCoil::getDataType, 1); + .eq(WmsMaterialCoil::getDataType, 1); // 过滤历史数据 // 如果是修改操作,排除自身 if (coilId != null) { enterWrapper.ne(WmsMaterialCoil::getCoilId, coilId);