From 22690222054c6b29f027990a38e7b59ce100dbd5 Mon Sep 17 00:00:00 2001 From: zhouz <> Date: Mon, 27 Jul 2026 14:56:20 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E4=BF=AE=E6=94=B9=E6=A0=A1=E9=AA=8C?= =?UTF-8?q?=E5=87=BA=E5=BA=93=E5=8D=95=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cn/code/nl/module/wms/enums/ErrorCodeConstants.java | 1 + .../wms/service/iostorinv/IostorInvServiceImpl.java | 8 +++++++- .../apps/web-antdv-next/src/views/wms/iostorinv/index.vue | 7 ++++++- 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/nl-module-wms/nl-module-wms-api/src/main/java/cn/code/nl/module/wms/enums/ErrorCodeConstants.java b/nl-module-wms/nl-module-wms-api/src/main/java/cn/code/nl/module/wms/enums/ErrorCodeConstants.java index 90dba44b..57c3fa7c 100644 --- a/nl-module-wms/nl-module-wms-api/src/main/java/cn/code/nl/module/wms/enums/ErrorCodeConstants.java +++ b/nl-module-wms/nl-module-wms-api/src/main/java/cn/code/nl/module/wms/enums/ErrorCodeConstants.java @@ -18,6 +18,7 @@ public interface ErrorCodeConstants { ErrorCode IOSTOR_INV_NO_MATCHING_INVENTORY = new ErrorCode(6_000_6, "没有符合当前出库明细的可用库存"); ErrorCode IOSTOR_INV_MANUAL_STATUS_INVALID = new ErrorCode(6_000_7, "只有生成或分配中的明细允许手工分配"); + ErrorCode IOSTOR_INV_UPDATE_STATUS_INVALID = new ErrorCode(6_000_8, "只有生成状态的出库单允许修改"); ErrorCode IOSTORINV_DTL_NOT_EXISTS = new ErrorCode(5, "出入库单明细不存在"); diff --git a/nl-module-wms/nl-module-wms-server/src/main/java/cn/code/nl/module/wms/service/iostorinv/IostorInvServiceImpl.java b/nl-module-wms/nl-module-wms-server/src/main/java/cn/code/nl/module/wms/service/iostorinv/IostorInvServiceImpl.java index 0e9df667..3cab7820 100644 --- a/nl-module-wms/nl-module-wms-server/src/main/java/cn/code/nl/module/wms/service/iostorinv/IostorInvServiceImpl.java +++ b/nl-module-wms/nl-module-wms-server/src/main/java/cn/code/nl/module/wms/service/iostorinv/IostorInvServiceImpl.java @@ -223,7 +223,13 @@ public class IostorInvServiceImpl implements IostorInvService { @Override @Transactional(rollbackFor = Exception.class) public void updateOutbound(IostorInvUpdateReqVO reqVO) { - validateIostorInvExists(String.valueOf(reqVO.getIostorinvId())); + IostorInvDO current = iostorInvMapper.selectById(reqVO.getIostorinvId()); + if (current == null) { + throw exception(IOSTOR_INV_NOT_EXISTS); + } + if (!"10".equals(current.getBillStatus())) { + throw exception(IOSTOR_INV_UPDATE_STATUS_INVALID); + } Map inventorySnapshot = validateAndLockInventory(reqVO); BigDecimal totalWeight = reqVO.getDetails().stream() .map(IostorInvCreateReqVO.Detail::getPlanQty) diff --git a/nl-ui/nl-ui-admin-vben/yudao-ui-admin-vben/apps/web-antdv-next/src/views/wms/iostorinv/index.vue b/nl-ui/nl-ui-admin-vben/yudao-ui-admin-vben/apps/web-antdv-next/src/views/wms/iostorinv/index.vue index 0a464a25..2f5ab2cd 100644 --- a/nl-ui/nl-ui-admin-vben/yudao-ui-admin-vben/apps/web-antdv-next/src/views/wms/iostorinv/index.vue +++ b/nl-ui/nl-ui-admin-vben/yudao-ui-admin-vben/apps/web-antdv-next/src/views/wms/iostorinv/index.vue @@ -48,6 +48,10 @@ function handleCreate() { /** 编辑出入库单主表 */ function handleEdit(row: WmsIostorInvApi.IostorInv) { + if (row.billStatus !== '10') { + message.warning('只有生成状态的出库单允许修改'); + return; + } formModalApi.setData(row).open(); } @@ -157,7 +161,7 @@ const [Grid, gridApi] = useVbenVxeGrid({