From a22d79b858ac5b5c577e179bc00a429095470638 Mon Sep 17 00:00:00 2001 From: Joshi <3040996759@qq.com> Date: Mon, 16 Mar 2026 10:56:39 +0800 Subject: [PATCH] =?UTF-8?q?feat(wms):=20=E5=85=A5=E7=82=89=E9=92=A2?= =?UTF-8?q?=E5=8D=B7=E4=B8=8D=E8=83=BD=E8=A2=AB=E6=93=8D=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在退火计划取消时将钢卷独占状态设置为2(退火中) - 在实际库位占用时将钢卷独占状态设置为0(未独占) - 扩展独占状态枚举值:0=未独占,1=单步分卷中,2=退火中 - 修改钢卷独占状态检查方法为获取完整状态值 - 增强钢卷操作权限验证,支持多种独占状态判断 --- .../java/com/klp/domain/WmsMaterialCoil.java | 2 +- .../impl/WmsFurnacePlanServiceImpl.java | 4 +++- .../impl/WmsMaterialCoilServiceImpl.java | 20 +++++++++++++------ 3 files changed, 18 insertions(+), 8 deletions(-) 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 + "操作"); } /**