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 62295b60..067aa0d4 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 @@ -915,6 +915,19 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService { updateWrapper.set(WmsMaterialCoil::getSaleId, (Long)null); baseMapper.update(null, updateWrapper); } + // 如果实际库区id为-1,则将实际库区id设置为null + if (bo.getActualWarehouseId() != null && bo.getActualWarehouseId().equals(-1)) { + WmsActualWarehouseBo disableWarehouseBo = new WmsActualWarehouseBo(); + disableWarehouseBo.setActualWarehouseId(oldCoil.getActualWarehouseId()); + disableWarehouseBo.setIsEnabled(1); // 设置为启用状态 + actualWarehouseService.updateByBo(disableWarehouseBo); + + // 同步清空钢卷上的实际库区绑定,避免残留绑定 + LambdaUpdateWrapper clearAwWrapper = new LambdaUpdateWrapper<>(); + clearAwWrapper.eq(WmsMaterialCoil::getCoilId, bo.getCoilId()); + clearAwWrapper.set(WmsMaterialCoil::getActualWarehouseId, (Long) null); + baseMapper.update(null, clearAwWrapper); + } if (bo.getStatus() != null && bo.getStatus().equals(1)) { WmsActualWarehouseBo disableWarehouseBo = new WmsActualWarehouseBo(); disableWarehouseBo.setActualWarehouseId(oldCoil.getActualWarehouseId()); @@ -968,6 +981,20 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService { newCoil.setDataType(1); // 设置为当前数据 newCoil.setQrcodeRecordId(oldCoil.getQrcodeRecordId()); // 继续使用原二维码 + // 如果实际库区id为-1,则将实际库区id设置为null + if (bo.getActualWarehouseId() != null && bo.getActualWarehouseId().equals(-1)) { + WmsActualWarehouseBo disableWarehouseBo = new WmsActualWarehouseBo(); + disableWarehouseBo.setActualWarehouseId(oldCoil.getActualWarehouseId()); + disableWarehouseBo.setIsEnabled(1); // 设置为启用状态 + actualWarehouseService.updateByBo(disableWarehouseBo); + + // 同步清空钢卷上的实际库区绑定,避免残留绑定 + LambdaUpdateWrapper clearAwWrapper = new LambdaUpdateWrapper<>(); + clearAwWrapper.eq(WmsMaterialCoil::getCoilId, bo.getCoilId()); + clearAwWrapper.set(WmsMaterialCoil::getActualWarehouseId, (Long) null); + baseMapper.update(null, clearAwWrapper); + } + // 继承原记录的关键字段 if (newCoil.getEnterCoilNo() == null) { newCoil.setEnterCoilNo(oldCoil.getEnterCoilNo());