diff --git a/klp-wms/src/main/java/com/klp/domain/WmsMaterialCoil.java b/klp-wms/src/main/java/com/klp/domain/WmsMaterialCoil.java index 4cb981dd..1c8b5e96 100644 --- a/klp-wms/src/main/java/com/klp/domain/WmsMaterialCoil.java +++ b/klp-wms/src/main/java/com/klp/domain/WmsMaterialCoil.java @@ -153,7 +153,7 @@ public class WmsMaterialCoil extends BaseEntity { private String coatingType; /** - * 独占状态(0=未独占,1=特殊分卷中) + * 独占状态(0=未独占,1=单步分卷中,2=退火中) */ private Integer exclusiveStatus; diff --git a/klp-wms/src/main/java/com/klp/service/impl/WmsFurnacePlanServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsFurnacePlanServiceImpl.java index 435a39b5..fa5d7093 100644 --- a/klp-wms/src/main/java/com/klp/service/impl/WmsFurnacePlanServiceImpl.java +++ b/klp-wms/src/main/java/com/klp/service/impl/WmsFurnacePlanServiceImpl.java @@ -341,7 +341,8 @@ public class WmsFurnacePlanServiceImpl implements IWmsFurnacePlanService { } materialCoilMapper.update(null, Wrappers.lambdaUpdate() .eq(WmsMaterialCoil::getCoilId, coilId) - .set(WmsMaterialCoil::getActualWarehouseId, null)); + .set(WmsMaterialCoil::getActualWarehouseId, null) + .set(WmsMaterialCoil::getExclusiveStatus, 2)); } private void occupyActualWarehouse(Long coilId, Long actualWarehouseId) { @@ -363,6 +364,7 @@ public class WmsFurnacePlanServiceImpl implements IWmsFurnacePlanService { WmsMaterialCoil updateCoil = new WmsMaterialCoil(); updateCoil.setCoilId(coilId); updateCoil.setActualWarehouseId(actualWarehouseId); + updateCoil.setExclusiveStatus(0); materialCoilMapper.updateById(updateCoil); } 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 dec15a0c..2a2e1be9 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 @@ -1369,16 +1369,16 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService { /** - * 检查钢卷是否被独占(用于单步分卷操作) + * 获取钢卷的独占状态 * @param coilId 钢卷ID - * @return true表示未被独占,false表示被独占 + * @return exclusiveStatus值,null或0表示未独占 */ - private boolean checkExclusiveStatus(Long coilId) { + private Integer getExclusiveStatus(Long coilId) { if (coilId == null) { - return true; + return null; } WmsMaterialCoil coil = baseMapper.selectById(coilId); - return coil == null || coil.getExclusiveStatus() == null || coil.getExclusiveStatus() == 0; + return coil == null ? null : coil.getExclusiveStatus(); } /** @@ -1387,9 +1387,17 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService { * @param operation 操作名称(用于错误信息) */ private void validateCoilOperationPermission(Long coilId, String operation) { - if (!checkExclusiveStatus(coilId)) { + Integer status = getExclusiveStatus(coilId); + if (status == null || status == 0) { + return; + } + if (status == 1) { throw new RuntimeException("钢卷正在进行单步分卷操作中,无法执行" + operation + "操作"); } + if (status == 2) { + throw new RuntimeException("钢卷正在进行退火操作中,无法执行" + operation + "操作"); + } + throw new RuntimeException("钢卷已被独占,无法执行" + operation + "操作"); } /**