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 b8d0b655..8a6965c2 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 @@ -910,7 +910,14 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService { // 使用MyBatis-Plus的updateById方法直接更新 boolean flag = baseMapper.updateById(updateCoil) > 0; - if (bo.getStatus().equals(1)) { + // 特殊处理saleId字段,确保null值也能被正确更新 + if (bo.getSaleId() == null) { + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(WmsMaterialCoil::getCoilId, bo.getCoilId()); + updateWrapper.set(WmsMaterialCoil::getSaleId, (Long)null); + baseMapper.update(null, updateWrapper); + } + if (bo.getStatus() != null && bo.getStatus().equals(1)) { WmsActualWarehouseBo disableWarehouseBo = new WmsActualWarehouseBo(); disableWarehouseBo.setActualWarehouseId(oldCoil.getActualWarehouseId()); disableWarehouseBo.setIsEnabled(1); // 设置为启用状态