diff --git a/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/util/object/ObjectUtils.java b/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/util/object/ObjectUtils.java index a26c7c1..5858585 100644 --- a/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/util/object/ObjectUtils.java +++ b/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/util/object/ObjectUtils.java @@ -60,6 +60,11 @@ public class ObjectUtils { return Arrays.asList(array).contains(obj); } + @SafeVarargs + public static boolean notEqualsAny(T obj, T... array) { + return !Arrays.asList(array).contains(obj); + } + public static boolean isNotAllEmpty(Object... objs) { return !ObjectUtil.isAllEmpty(objs); } diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/itemreceipt/MesWmItemReceiptServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/itemreceipt/MesWmItemReceiptServiceImpl.java index 41dca5c..b09223c 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/itemreceipt/MesWmItemReceiptServiceImpl.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/itemreceipt/MesWmItemReceiptServiceImpl.java @@ -171,7 +171,6 @@ public class MesWmItemReceiptServiceImpl implements MesWmItemReceiptService { // 校验存在 MesWmItemReceiptDO receipt = validateItemReceiptExists(id); // 已完成和已取消不允许取消 - // TODO DONE @芋艿:确认只有已完成和已取消 2 个状态不允许取消 if (ObjectUtils.equalsAny(receipt.getStatus(), MesWmItemReceiptStatusEnum.FINISHED.getStatus(), MesWmItemReceiptStatusEnum.CANCELED.getStatus())) { @@ -185,9 +184,7 @@ public class MesWmItemReceiptServiceImpl implements MesWmItemReceiptService { @Override public MesWmItemReceiptDO validateItemReceiptEditable(Long id) { MesWmItemReceiptDO receipt = validateItemReceiptExists(id); - // TODO DONE @AI:已使用 ObjectUtils.equalsAny 简化多值判断,方法已迁移到 Service 层 - // TODO @AI:ObjectUtils 封装一个方法,避免取反;脑子理解起来麻烦 - if (!ObjectUtils.equalsAny(receipt.getStatus(), + if (ObjectUtils.notEqualsAny(receipt.getStatus(), MesWmItemReceiptStatusEnum.PREPARE.getStatus(), MesWmItemReceiptStatusEnum.APPROVING.getStatus())) { throw exception(WM_ITEM_RECEIPT_STATUS_NOT_PREPARE); diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/materialstock/MesWmMaterialStockServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/materialstock/MesWmMaterialStockServiceImpl.java index 67cc5de..09d47ae 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/materialstock/MesWmMaterialStockServiceImpl.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/materialstock/MesWmMaterialStockServiceImpl.java @@ -118,7 +118,6 @@ public class MesWmMaterialStockServiceImpl implements MesWmMaterialStockService // 2a. 存在则增加数量 if (stock != null) { - // TODO DONE @AI:已在 Mapper 新增 incrQuantityOnhand 方法,使用 SQL 原子更新避免并发问题 materialStockMapper.incrQuantityOnhand(stock.getId(), quantity); return; }