From 1f6b3a9ace00256c088705fe2877c4c21412eec4 Mon Sep 17 00:00:00 2001 From: Joshi <3040996759@qq.com> Date: Fri, 6 Mar 2026 11:17:30 +0800 Subject: [PATCH] =?UTF-8?q?fix(wms):=20=E4=BF=AE=E5=A4=8D=E9=92=A2?= =?UTF-8?q?=E5=8D=B7=E5=BA=93=E5=8C=BA=E7=BB=91=E5=AE=9A=E6=B8=85=E7=90=86?= =?UTF-8?q?=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 移除注释掉的库区绑定清理代码 - 将库区绑定清理逻辑移到新记录插入后执行 - 添加对实际库区ID为-1的条件判断避免无效操作 - 修复clearActualWarehouseBinding方法中的空指针检查逻辑 --- .../service/impl/WmsMaterialCoilServiceImpl.java | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) 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 d4ec8237..dddb7cea 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 @@ -1194,11 +1194,6 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService { newCoil.setDataType(1); // 设置为当前数据 newCoil.setQrcodeRecordId(oldCoil.getQrcodeRecordId()); // 继续使用原二维码 -// // 如果实际库区id为-1,则清空钢卷上的实际库区绑定 -// if (bo.getActualWarehouseId() != null && bo.getActualWarehouseId().equals(-1L)) { -// clearActualWarehouseBinding(oldCoil.getActualWarehouseId(), bo.getCoilId()); -// } - // 继承原记录的关键字段 if (newCoil.getEnterCoilNo() == null) { newCoil.setEnterCoilNo(oldCoil.getEnterCoilNo()); @@ -1214,6 +1209,11 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService { // 插入新记录 boolean flag = baseMapper.insert(newCoil) > 0; + // 如果实际库区id为-1,则清空钢卷上的实际库区绑定 + if (bo.getActualWarehouseId() != null && bo.getActualWarehouseId().equals(-1L)) { + clearActualWarehouseBinding(newCoil.getActualWarehouseId(), newCoil.getCoilId()); + } + if (flag) { // 3. 更新二维码内容(添加更新步骤并更新current_coil_id) if (oldCoil.getQrcodeRecordId() != null) { @@ -1266,7 +1266,7 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService { } // 禁用新的库区 - if (newActualWarehouseId != null) { + if (newActualWarehouseId != null && newActualWarehouseId != -1L) { WmsActualWarehouseBo newWarehouseBo = new WmsActualWarehouseBo(); newWarehouseBo.setActualWarehouseId(newActualWarehouseId); newWarehouseBo.setIsEnabled(0); // 设置为禁用状态 @@ -1281,7 +1281,7 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService { */ private void clearActualWarehouseBinding(Long actualWarehouseId, Long coilId) { // 启用原来的库区 - if (actualWarehouseId != null) { + if (actualWarehouseId != null && actualWarehouseId != -1L) { WmsActualWarehouseBo warehouseBo = new WmsActualWarehouseBo(); warehouseBo.setActualWarehouseId(actualWarehouseId); warehouseBo.setIsEnabled(1); // 设置为启用状态