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 911a6813..1b857154 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 @@ -562,10 +562,19 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService { // 使用MyBatis-Plus的updateById方法直接更新 boolean flag = baseMapper.updateById(updateCoil) > 0; + if (bo.getStatus().equals(1)) { + WmsActualWarehouseBo disableWarehouseBo = new WmsActualWarehouseBo(); + disableWarehouseBo.setActualWarehouseId(oldCoil.getActualWarehouseId()); + disableWarehouseBo.setIsEnabled(1); // 设置为启用状态 + actualWarehouseService.updateByBo(disableWarehouseBo); + } // 更新实际库区的启用状态 if (flag) { - updateActualWarehouseEnableStatus(oldCoil.getActualWarehouseId(), bo.getActualWarehouseId()); + // 只有当新的库区ID不为空且与原库区ID不同时才更新库区状态 + if (bo.getActualWarehouseId() != null && !bo.getActualWarehouseId().equals(oldCoil.getActualWarehouseId())) { + updateActualWarehouseEnableStatus(oldCoil.getActualWarehouseId(), bo.getActualWarehouseId()); + } } return flag; @@ -612,8 +621,10 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService { updateQrcodeContentForNormalUpdate(oldCoil, bo, newCoil.getCoilId()); } - // 4. 更新实际库区的启用状态 - updateActualWarehouseEnableStatus(oldCoil.getActualWarehouseId(), bo.getActualWarehouseId()); + // 只有当新的库区ID不为空且与原库区ID不同时才更新库区状态 + if (bo.getActualWarehouseId() != null && !bo.getActualWarehouseId().equals(oldCoil.getActualWarehouseId())) { + updateActualWarehouseEnableStatus(oldCoil.getActualWarehouseId(), bo.getActualWarehouseId()); + } } return flag;