fix(wms): 优化库区启用状态更新逻辑
- 当物料状态为1时,主动启用关联的实际库区 - 仅在新库区ID不为空且与原库区ID不同时更新库区状态 - 避免不必要的库区状态更新操作
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user